Udostępnij za pośrednictwem


series_cosine_similarity()

Dotyczy: ✅Microsoft Fabric

Oblicz podobieństwo cosinusowe dwóch wektorów liczbowych.

Funkcja series_cosine_similarity() przyjmuje dwie serie liczbowe jako dane wejściowe i oblicza podobieństwo cosinusu.

Składnia

seria series_cosine_similarity(1 serii, 2, [*wielkość1, [*wielkość2]])

Dowiedz się więcej na temat konwencji składni.

Parametry

Nazwisko Type Wymagania opis
seria1, seria2 dynamic ✔️ Tablice wejściowe z danymi liczbowymi.
wielkości 1, wielkość2 real Opcjonalna wielkość pierwszego i drugiego wektora odpowiednio. Wielkość jest pierwiastek kwadratowy produktu kropki wektora z samym sobą. Jeśli wielkość nie zostanie podana, zostanie obliczona.

Zwraca

Zwraca wartość typureal, którego wartość jest podobieństwem cosinus serii1 z serii 2. W przypadku, gdy długość obu serii nie jest równa, dłuższa seria zostanie obcięta do długości krótszej serii. Wszystkie nieliczbowe elementy serii wejściowej zostaną zignorowane.

Uwaga

Jeśli jedna lub obie tablice wejściowe są puste, wynikiem będzie null.

Optymalizacja wydajności

Aby zwiększyć wydajność i zmniejszyć wymagania dotyczące magazynu podczas korzystania z tej funkcji, rozważ użycie Vector16 zasad kodowania do przechowywania wektorów zmiennoprzecinkowych, które nie wymagają dokładności 64 bitów, takich jak osadzanie wektorów uczenia maszynowego. Vector16 Profil, który wykorzystuje reprezentację zmiennoprzecinkową Bfloat16, może znacząco zoptymalizować operację i zmniejszyć rozmiar magazynu o współczynnik 4. Aby uzyskać więcej informacji na Vector16 temat zasad kodowania, zobacz Typy zasad kodowania.

Przykład

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