series_cosine_similarity()

Вычисление подобия косиуса двух числовых векторов.

Функция series_cosine_similarity() принимает два числовых ряда в качестве входных данных и вычисляет их подобие косиуса.

Синтаксис

series_cosine_similarity(серия1,серия 2)

Дополнительные сведения о соглашениях о синтаксисе.

Параметры

Имя Тип Обязательно Описание
серия1, серия2 dynamic ✔️ Входные массивы с числовыми данными.

Возвращаемое значение

Возвращает значение типа real , значением которого является подобие cosine series1 и series2. Если длина обоих рядов не равна, более длинный ряд будет усечен до длины более короткого. Любой нечисловый элемент входного ряда будет игнорироваться.

Примечание

Если один или оба входных массива пусты, результатом будет 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