次の方法で共有


series_cosine_similarity()

適用対象: ✅Microsoft FabricAzure データ エクスプローラーAzure MonitorMicrosoft Sentinel

2 つの数値ベクトルのコサインの類似性を計算します。

関数 series_cosine_similarity() は、入力として 2 つの数値系列を受け取り、その コサインの類似性を計算します。

構文

series_cosine_similarity( series1, series2, [*magnitude1, [*magnitude2]])

構文規則について詳しく知る。

パラメーター

件名 タイプ Required 説明
series1、series2 dynamic ✔️ 数値データを含む入力配列。
マグニチュード 1、マグニチュード 2 real 1 番目のベクトルと 2 番目のベクトルの省略可能な大きさ。 大きさは、それ自体を持つベクトルのドット積の平方根です。 大きさが指定されていない場合は、計算されます。

返品

real を持つ series1 のコサイン類似性を値とする型の値を返します。 両方の系列の長さが等しくない場合、長い系列は短い系列の長さに切り捨てられます。 入力系列の数値以外の要素は無視されます。

Note

一方または両方の入力配列が空の場合、結果は nullされます。

パフォーマンスの最適化

この関数を使用する場合のパフォーマンスの向上とストレージ要件の削減のために、ML ベクター埋め込みなど、64 ビットの精度を必要としない浮動小数点ベクトルを格納するには、 Vector16 エンコード ポリシーの使用を検討してください。 Vector16浮動小数点表現を利用する プロファイルは、操作を大幅に最適化し、ストレージ サイズを 4 倍に減らすことができます。 Vector16 エンコード ポリシーの詳細については、「Encoding ポリシーの種類」を参照してください。

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