- Kategorien:
Aggregationsfunktionen (Ähnlichkeitsschätzung), Fensterfunktionen
APPROXIMATE_JACCARD_INDEX¶
Gibt eine Schätzung der Ähnlichkeit (Jaccard-Index) von Eingaben basierend auf deren MinHash-Status zurück. Weitere Informationen zu Jaccard-Indizes und der zugehörigen Funktion MINHASH finden Sie unter Schätzung der Ähnlichkeit von zwei oder mehr Sets.
Alias für APPROXIMATE_SIMILARITY
Syntax¶
APPROXIMATE_JACCARD_INDEX( [ DISTINCT ] <expr> [ , ... ] )
APPROXIMATE_JACCARD_INDEX(*)
Argumente¶
expr
Die Ausdrücke sollten aus einem oder mehreren MinHash-Status bestehen, die bei Aufrufen der Funktion MINHASH zurückgegeben werden. Mit anderen Worten müssen die Ausdrücke
MinHash
-Statusinformationen sein und nicht die Spalte oder der Ausdruck, für den Sie die ungefähre Ähnlichkeit wünschen. (Das Beispiel unten macht dies klarer.)Weitere Informationen zu MinHash-Status finden Sie unter Schätzung der Ähnlichkeit von zwei oder mehr Sets.
Rückgabewerte¶
Eine Gleitkommazahl zwischen 0,0 und 1,0 (einschließlich), wobei 1,0 angibt, dass die Mengen identisch sind, und 0,0, dass die Mengen keine Überlappung aufweisen.
Nutzungshinweise¶
DISTINCT
kann als Argument eingefügt werden, hat jedoch keine Auswirkungen.Die eingegebenen MinHash-Status müssen MinHash-Arrays gleicher Länge haben.
Die Arraylänge der eingegebenen MinHash-Status ist ein Indikator für die Näherungsqualität.
Je größer der Wert von
k
in der Funktion MINHASH, desto besser die Näherung. Dieser Wert hat jedoch einen linearen Einfluss auf die Berechnungszeit für das Schätzen der Ähnlichkeit.
Beispiele¶
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 |
+-------------------------------+