Sdílet prostřednictvím


series_cosine_similarity()

Platí pro: ✅Microsoft FabricAzure Data Explorer✅Azure MonitorMicrosoft Sentinel

Vypočítá kosinus podobnost dvou číselných vektorů.

Funkce series_cosine_similarity() přebírá jako vstup dvě číselné řady a vypočítá jejich kosinus podobnost.

Syntaxe

series_cosine_similarity( řady1, řady 2, [*velikost1, [*velikost2]])

Přečtěte si další informace o konvencích syntaxe.

Parametry

Název Type Požadováno Popis
řada1, řada2 dynamic ✔️ Vstupní pole s číselnými daty
velikost1, velikost2 real Volitelná velikost prvního a druhého vektoru. Velikost je druhou odmocninou tečkového součinu vektoru. Pokud velikost není zadaná, vypočítá se.

Návraty

Vrátí hodnotu typu real , jejíž hodnota je kosinus podobností řady 1 s řadou 2. V případě, že se obě řady nerovnají, delší řada se zkrátí na délku kratší řady. Jakýkoli nečíselný prvek vstupní řady bude ignorován.

Poznámka:

Pokud jsou jedno nebo obě vstupní pole prázdná, výsledek bude null.

Optimalizace výkonu

Pokud chcete zvýšit výkon a snížit požadavky na úložiště při použití této funkce, zvažte použití Vector16 zásad kódování pro ukládání vektorů s plovoucí desetinnou čárkou, které nevyžadují přesnost 64 bitů, například vkládání vektorů ML. Profil Vector16 , který využívá reprezentaci plovoucí desetinné čárky Bfloat16 , může výrazně optimalizovat operaci a snížit velikost úložiště faktorem 4. Další podrobnosti o zásadách Vector16 kódování najdete v typech zásad kódování.

Příklad

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