Partilhar via


series_cosine_similarity()

Aplica-se a: ✅Microsoft FabricAzure Data ExplorerAzure MonitorMicrosoft Sentinel

Calcular a semelhança cosseno de dois vetores numéricos.

A função series_cosine_similarity() usa duas séries numéricas como entrada e calcula sua semelhança cosseno.

Sintaxe

series_cosine_similarity( série1, série2, [*magnitude1, [*magnitude2]])

Saiba mais sobre convenções de sintaxe.

Parâmetros

Designação Tipo Necessário Descrição
série1, série2 dynamic ✔️ Matrizes de entrada com dados numéricos.
magnitude1, magnitude2 real Magnitude opcional do primeiro e do segundo vetores, respectivamente. A magnitude é a raiz quadrada do produto do ponto do vetor consigo mesmo. Se a magnitude não for fornecida, será calculada.

Devoluções

Devolve um valor do tipo real cujo valor é a semelhança cosseno de série1 com série2. Caso o comprimento de ambas as séries não seja igual, a série mais longa será truncada para o comprimento da mais curta. Qualquer elemento não numérico da série de entrada será ignorado.

Observação

Se uma ou ambas as matrizes de entrada estiverem vazias, o resultado será null.

Otimizando o desempenho

Para melhorar o desempenho e reduzir os requisitos de armazenamento ao usar essa função, considere usar a política de codificação Vector16 para armazenar vetores de ponto flutuante que não exigem precisão de 64 bits, como incorporações de vetores ML. O perfil Vector16, que utiliza o Bfloat16 representação de ponto flutuante, pode otimizar significativamente a operação e reduzir o tamanho do armazenamento por um fator de 4. Para obter mais detalhes sobre a política de codificação Vector16, consulte o Tipos de política de codificação.

Exemplo

datatable(s1:dynamic, s2:dynamic)
[
    dynamic([0.1,0.2,0.1,0.2]), dynamic([0.11,0.2,0.11,0.21]),
    dynamic([0.1,0.2,0.1,0.2]), dynamic([1,2,3,4]),
]
| extend cosine_similarity=series_cosine_similarity(s1, s2)
s1 s2 cosine_similarity
[0.1,0.2,0.1,0.2] [0.11,0.2,0.11,0.21] 0.99935343825504
[0.1,0.2,0.1,0.2] [1,2,3,4] 0.923760430703401