Catégories :

Fonctions d’agrégation (estimation de la similarité), Fonctions de la fenêtre

APPROXIMATE_JACCARD_INDEX

Renvoie une estimation de la similarité (indice de Jaccard) des entrées sur la base de leurs états MinHash. Pour plus d’informations sur les index Jaccard et la fonction associée MINHASH, voir Estimation de la similarité de deux ensembles ou plus.

Alias pour APPROXIMATE_SIMILARITY

Syntaxe

APPROXIMATE_JACCARD_INDEX( [ DISTINCT ] <expr> [ , ... ] )

APPROXIMATE_JACCARD_INDEX(*)

Arguments

expr

L’expression doit être un ou plusieurs états MinHash renvoyés par des appels à la fonction MINHASH. En d’autres termes, les expressions doivent être des informations d’état MinHash et non la colonne ou l’expression pour lesquelles vous souhaitez une similarité approximative. (L’exemple ci-dessous permet de clarifier ce point.)

Pour plus d’informations sur les états MinHash, voir Estimation de la similarité de deux ensembles ou plus.

Renvoie

Nombre en virgule flottante compris entre 0,0 et 1,0 (inclus), où 1,0 indique que les ensembles sont identiques et 0,0 indique que les ensembles ne se chevauchent pas.

Notes sur l’utilisation

  • DISTINCT peut être inclus comme argument, mais n’a aucun effet.

  • Les statuts MinHash d’entrée doivent avoir des tableaux MinHash de même longueur.

  • La longueur du tableau des statuts MinHash d’entrée est un indicateur de la qualité de l’approximation.

    Plus la valeur de k utilisée dans la fonction MINHASH est grande, meilleure est l’approximation. Cependant, cette valeur a un impact linéaire sur le temps de calcul nécessaire pour estimer la similarité.

Exemples

USE SCHEMA snowflake_sample_data.tpch_sf1;

SELECT APPROXIMATE_JACCARD_INDEX(mh) FROM
    (
      (SELECT MINHASH(100, C5) mh FROM orders WHERE c2 <= 50000)
         UNION
      (SELECT MINHASH(100, C5) mh FROM orders WHERE C2 > 50000)
    );

+-------------------------------+
| APPROXIMATE_JACCARD_INDEX(MH) |
|-------------------------------|
|                          0.97 |
+-------------------------------+
Revenir au début