series_cosine_similarity()
Область применения: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Вычислите сходство косинуса двух числовых векторов.
Функция series_cosine_similarity()
принимает два числовых ряда в качестве входных данных и вычисляет их сходство косинуса.
Синтаксис
series_cosine_similarity(
серия1,
серии 2)
Дополнительные сведения о соглашениях синтаксиса.
Параметры
Имя (название) | Type | Обязательно | Описание |
---|---|---|---|
series1, series2 | dynamic |
✔️ | Входные массивы с числовыми данными. |
Возвраты
Возвращает значение типа real
, значение которого является косинусом сходства ряда 1 с серией 2.
В случае, если длина обоих рядов не равна, длинная серия будет усечена до длины более короткой.
Любой нечисленный элемент входной серии будет игнорироваться.
Примечание.
Если один или оба входных массива пусты, результат будет null
.
Оптимизация производительности
Для повышения производительности и снижения требований к хранилищу при использовании этой функции рекомендуется использовать Vector16
политику кодирования для хранения векторов с плавающей запятой, которые не требуют точности 64 битов, например внедрения вектора машинного обучения. Профиль 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 |