series_cosine_similarity()
計算兩個數值向量的餘弦相似度。
函式 series_cosine_similarity()
會接受兩個數值數列做為輸入,並計算其 餘弦相似性。
語法
series_cosine_similarity(
series1,
series2, [
*magnitude1, [
*magnitude2]])
深入瞭解 語法慣例。
參數
姓名 | 類型 | 必要 | 描述 |
---|---|---|---|
series1, series2 | dynamic |
✔️ | 具有數值數據的輸入陣列。 |
級1級,級2 級2級 | real |
第一個向量和第二個向量的選擇性大小。 大小是向量本身點乘積的平方根。 如果未提供大小,則會加以計算。 |
傳回
傳回類型的real
值,其值為 series2 之 series1的餘弦相似度。
如果這兩個數列長度不相等,則較長的數列將會截斷為較短的序列長度。
將會忽略輸入數列的任何非數值專案。
注意
如果其中一個或兩個輸入陣列都是空的,則結果會是 null
。
最佳化效能
若要在使用此函式時增強效能和降低儲存需求,請考慮使用 Vector16
編碼原則來儲存不需要 64 位精確度的浮點向量,例如 ML 向量內嵌。 此 Vector16
配置檔利用 Bfloat16 浮點表示法,可以大幅優化作業,並將記憶體大小減少 4 倍。 如需編碼原則 Vector16
的詳細資訊,請參閱 編碼原則類型。
範例
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 |