series_cosine_similarity()
Platí pro: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft 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 |