Поделиться через


series_cosine_similarity()

Область применения: ✅Microsoft Fabric✅Azure Data ExplorerAzure MonitorMicrosoft 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