series_cosine_similarity()
Область применения: ✅Microsoft Fabric✅✅
Вычислите сходство косинуса двух числовых векторов.
Функция series_cosine_similarity()
принимает два числовых ряда в качестве входных данных и вычисляет их сходство косинуса.
Синтаксис
series_cosine_similarity(
серии 1,
серии 2, [
*магнитудой1, [
*магнитудой 2]])
Дополнительные сведения о соглашениях синтаксиса.
Параметры
Имя (название) | Type | Обязательно | Описание |
---|---|---|---|
series1, series2 | dynamic |
✔️ | Входные массивы с числовыми данными. |
величины1, величина2 | real |
Необязательная величина первого и второго векторов соответственно. Величина является квадратным корнем точечных продуктов вектора с самим собой. Если величина не указана, она будет вычисляться. |
Возвраты
Возвращает значение типа 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 |