- 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 |
+-------------------------------+