series_cosine_similarity()
Gäller för: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Beräkna cosininlikiteten för två numeriska vektorer.
Funktionen series_cosine_similarity()
tar två numeriska serier som indata och beräknar deras cosinniska likhet.
Syntax
series_cosine_similarity(
series1,
series2, [
*magnitude1, [
*magnitude2]])
Läs mer om syntaxkonventioner.
Parametrar
Namn | Typ | Krävs | Beskrivning |
---|---|---|---|
series1, series2 | dynamic |
✔️ | Indatamatriser med numeriska data. |
magnitude1, magnitude2 | real |
Valfri storlek för den första respektive den andra vektorerna. Magnituden är kvadratroten av punktprodukten av vektorn med sig själv. Om storleken inte anges beräknas den. |
Returnerar
Returnerar ett värde av typen real
vars värde är cosininlikiteten för series1 med series2.
Om båda seriernas längd inte är lika med trunkeras den längre serien till längden på den kortare.
Alla icke-numeriska element i indataserien ignoreras.
Not
Om en eller båda indatamatriserna är tomma blir resultatet null
.
Optimera prestanda
Om du vill ha bättre prestanda och lägre lagringskrav när du använder den här funktionen bör du överväga att använda Vector16
kodningsprincip för lagring av flyttalsvektorer som inte kräver 64-bitars precision, till exempel ML-vektorinbäddningar. Profilen Vector16
, som använder Bfloat16 flyttalsrepresentation, kan avsevärt optimera åtgärden och minska lagringsstorleken med en faktor 4. Mer information om Vector16
kodningsprincip finns i Kodningsprinciptyper.
Exempel
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 |