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(*)
Copy

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