- Categorias:
Funções de agregação (Estimativa de similaridade) , Funções de janela
APPROXIMATE_JACCARD_INDEX¶
Retorna uma estimativa da similaridade (índice de Jaccard) das entradas com base em seus estados MinHash. Para obter mais informações sobre índices de Jaccard e a função relacionada MINHASH, consulte Estimativa da similaridade de dois ou mais conjuntos.
Alias para APPROXIMATE_SIMILARITY
Sintaxe¶
APPROXIMATE_JACCARD_INDEX( [ DISTINCT ] <expr> [ , ... ] )
APPROXIMATE_JACCARD_INDEX(*)
Argumentos¶
expr
A(s) expressão(ões) deve(m) ser um ou mais estados de MinHash retornados por chamadas para a função MINHASH. Em outras palavras, as expressões devem ser informações de estado de
MinHash
, não a coluna ou expressão para a qual se deseja a similaridade aproximada. (O exemplo abaixo ajuda a esclarecer isso).Para obter mais informações sobre os estados MinHash, consulte Estimativa da similaridade de dois ou mais conjuntos.
Retornos¶
Um número de ponto flutuante entre 0,0 e 1,0 (inclusive), onde 1,0 indica que os conjuntos são idênticos, e 0,0 indica que os conjuntos não têm sobreposição.
Notas de uso¶
DISTINCT
pode ser incluído como um argumento, mas não tem efeito.Os estados de entrada MinHash devem ter matrizes MinHash de comprimento igual.
O comprimento da matriz dos estados de entrada MinHash é um indicador da qualidade da aproximação.
Quanto maior o valor de
k
usado na função MINHASH, melhor será a aproximação. Entretanto, este valor tem um impacto linear no tempo de cálculo para estimar a similaridade.
Exemplos¶
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 |
+-------------------------------+