# KMeans2D — функция диаграммы

KMeans2D() вычисляет строки диаграммы путем применения кластеризации методом k-средних; для каждой строки диаграммы отображается идентификатор кластера, которому была назначена эта точка диаграммы. Столбцы, используемые алгоритмом кластеризации, определены соответственно параметрами coordinate\_1 и coordinate\_2. Они оба являются агрегированиями. Количество созданных кластеров определяется параметром num\_clusters. Данные могут быть при необходимости нормализованы с помощью параметра нормы.

KMeans2D возвращает одно значение на точку диаграммы. Возвращенное значение — двойное и является целочисленным значением, соответствующим кластеру, которому была назначена каждая точка диаграммы.

Синтаксис:

KMeans2D(num\_clusters, coordinate\_1, coordinate\_2 [, norm])

Возвращаемые типы данных: двойное значение

Аргументы:

Аргументы

| Аргумент | Описание |
| --- | --- |
| num\_clusters | Целое число, которое указывает количество кластеров. |
| coordinate\_1 | Агрегирование, вычисляющее первую координату, обычно ось X точечной диаграммы, которая может быть сделана из диаграммы. Дополнительный параметр coordinate\_2 вычисляет вторую координату. |
| norm | Дополнительный метод нормализации применяется к наборам данных перед кластеризацией методом k-средних.<br><br>Возможные значения:<br><br>0 или 'нет' при отсутствии нормализации<br><br>1 или ‘zscore’ для нормализации с помощью z-оценки<br><br>2 или ‘minmax’ для нормализации с помощью мин./макс.<br><br>Если параметры не предоставлены или предоставленный параметр неправильный, нормализация не применяется.<br><br>Z-оценка нормализует данные на основе среднего и стандартного отклонения признака. Z-оценка не гарантирует, что у каждого признака будет одинаковый масштаб, но при выбросах этот подход лучше, чем мин./макс.<br><br>Нормализация с помощью мин./макс. гарантирует, что признаки имеют одинаковый масштаб; для этого берутся минимальное и максимальное значения каждого признака и каждая точка данных вычисляется заново. |

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/RelationalFunctions/KMeans2D.htm)

#### Пример. Выражение диаграммы

В этом примере создается точечная диаграмма с помощью набора данных Iris, и затем с помощью KMeans данные раскрашиваются по выражению.

Также мы создаем переменную для аргумента num\_clusters и затем используем поле ввода переменной, чтобы изменить количество кластеров.

Набор данных Iris общедоступен в различных форматах. Данные предоставлены в виде встроенной таблицы для загрузки с помощью редактора загрузки данных в программе Qlik Sense. Обратите внимание, что к таблице данных для этого примера добавлен столбец Идентификатор.

[Набор данных Iris: встроенная загрузка для редактора загрузки данных в Qlik Sense](https://help.qlik.com/ru-RU/sense/November2025/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/RelationalFunctions/KMeans2D.htm#IrisData)

После загрузки данных в Qlik Sense нужно выполнить следующие действия.

1. Перетащите точечную диаграмму на новый лист. Назовите диаграмму Лепесток (раскрашивание по выражению).
2. Создайте переменную для указания количества кластеров. Для переменной Имя введите KmeansPetalClusters. Для переменной Определение введите =2.
3. Настройте данные для диаграммы.
   1. В разделе Измерения выберите Идентификатор поля для параметра Пузырек. Введите идентификатор кластера для метки.

   2. В разделе Меры выберите Sum([petal.length]) для выражения для параметра Ось X.

   3. В разделе Меры выберите Sum([petal.width]) для выражения для параметра Ось Y.

      Параметры данных для диаграммы Лепесток (раскрашивание по выражению)

      Параметры данных для диаграммы Лепесток (раскрашивание по выражению)

      Параметры данных для диаграммы Лепесток (раскрашивание по выражению)Лепесток (раскрашивание по выражению)![Configure Data for Petal (color by expression) chart](https://help.qlik.com/ru-RU/sense/November2025/Subsystems/Hub/Content/Resources/Images/ui_KmeansData.png)

      Точки диаграммы нанесены на диаграмму.

      Точки диаграммы на диаграмме Лепесток (раскрашивание по выражению)

      Точки диаграммы на диаграмме Лепесток (раскрашивание по выражению)

      Точки диаграммы на диаграмме Лепесток (раскрашивание по выражению)Лепесток (раскрашивание по выражению)![Data points on Petal (color by expression) chart.](https://help.qlik.com/ru-RU/sense/November2025/Subsystems/Hub/Content/Resources/Images/ui_KmeansChartDataPoints.png)
4. Настройте Вид диаграммы:
   1. В разделе Цвета и легенда выберите Пользовательский для параметра Цвета.

   2. Выберите раскрашивание диаграммы По выражению.

   3. Введите следующее для выражения: kmeans2d($(KmeansPetalClusters), Sum([petal.length]), Sum([petal.width]))

      Обратите внимание, что KmeansPetalClusters — это переменная, для которой установлено 2.

      Можно это сделать по-другому: kmeansnd(2, 2, Sum([petal.length]), Sum([petal.width]),Sum([sepal.length]), Sum([sepal.width]))

   4. Снимите флажок Выражение является цветовым кодом.

   5. Введите следующее для метки: Cluster Id

      Параметры вида для диаграммы Лепесток (раскрашивание по выражению)

      Параметры вида для диаграммы Лепесток (раскрашивание по выражению)

      Параметры вида для диаграммы Лепесток (раскрашивание по выражению)Лепесток (раскрашивание по выражению)![Вид для диаграммы «Лепесток (раскрашивание по выражению)».](https://help.qlik.com/ru-RU/sense/November2025/Subsystems/Hub/Content/Resources/Images/ui_KmeansAppearance.png)

      Два кластера на диаграмме раскрашены по выражению KMeans.

      Кластеры, раскрашенные по выражению на диаграммы Лепесток (раскрашивание по выражению)

      Кластеры, раскрашенные по выражению на диаграммы Лепесток (раскрашивание по выражению)

      Кластеры, раскрашенные по выражению на диаграммы Лепесток (раскрашивание по выражению)Лепесток (раскрашивание по выражению)![Кластеры, раскрашенные по выражению на диаграмме «Лепесток (раскрашивание по выражению)»](https://help.qlik.com/ru-RU/sense/November2025/Subsystems/Hub/Content/Resources/Images/ui_KmeansChartColorByExpression.png)
5. Добавьте поле ввода переменной для количества кластеров.
   1. В разделе Пользовательские объекты на панели Ресурсы выберите пакет Qlik Dashboard. Если бы у нас не было доступа к пакету панели мониторинга, мы все равно могли бы изменить количество кластеров, используя созданную нами переменную, или непосредственно как целое число в выражении.
   2. Перетащите поле Входная переменная на лист.
   3. В разделе Внешний вид нажмите Общие.
   4. Введите следующее для Заголовок: Кластеры
   5. Нажмите Переменная.
   6. Выберите следующую переменную для Имя: KmeansPetalClusters.
   7. Выберите Ползунок для Показать как.
   8. Выберите Значения и настройте параметры по мере необходимости,

      Внешний вид для Кластеров поля ввода переменной

      Внешний вид для Кластеров поля ввода переменной

      Внешний вид для КластеровКластеров поля ввода переменной ![Внешний вид для кластеров поля ввода переменной](https://help.qlik.com/ru-RU/sense/November2025/Subsystems/Hub/Content/Resources/Images/ui_KmeansVariableInputBox.png)

   Завершив изменение, мы можем изменить количество кластеров с помощью ползунка в поле Кластеры.

   Кластеры, раскрашиваемые по выражению на диаграмме Лепесток (раскрашивание по выражению)

   Кластеры, раскрашиваемые по выражению на диаграмме Лепесток (раскрашивание по выражению)

   Кластеры, раскрашиваемые по выражению на диаграмме Лепесток (раскрашивание по выражению)Лепесток (раскрашивание по выражению) ![Кластеры, раскрашенные по выражению на диаграмме «Лепесток (раскрашивание по выражению)»](https://help.qlik.com/ru-RU/sense/November2025/Subsystems/Hub/Content/Resources/Images/ui_KmeansChartColorByExpressionVariableChange.png)

Автоматическая кластеризация

Функции метода k-средних поддерживают автоматическую кластеризацию с помощью метода, называемого разницей глубины (DeD). Когда пользователь задает количество кластеров равным 0, оптимальное количество кластеров определяется для набора данных. Обратите внимание, что хотя целое число для количества кластеров (k) явно не возвращается, оно вычисляется в алгоритме k-средних. Например, если 0 указан в функции для значения KmeansPetalClusters или установлен через поле ввода переменной, назначения кластеров автоматически вычисляются для набора данных на основе оптимального количества кластеров.

Метод разницы глубины k-средних определяет оптимальное количество кластеров, когда (k) равен 0.

Метод разницы глубины k-средних определяет оптимальное количество кластеров, когда (k) равен 0.

Метод разницы глубины k-средних определяет оптимальное количество кластеров, когда (k) равен 0. ![Метод разницы глубины k-средних определяет оптимальное количество кластеров](https://help.qlik.com/ru-RU/sense/November2025/Subsystems/Hub/Content/Resources/Images/ui_Kmeans2dDed.png)

#### Набор данных Iris: встроенная загрузка для редактора загрузки данных в Qlik Sense

```
IrisData:
Load * Inline [
sepal.length, sepal.width, petal.length, petal.width, variety, id
5.1, 3.5, 1.4, 0.2, Setosa, 1
4.9, 3, 1.4, 0.2, Setosa, 2
4.7, 3.2, 1.3, 0.2, Setosa, 3
4.6, 3.1, 1.5, 0.2, Setosa, 4
5, 3.6, 1.4, 0.2, Setosa, 5
5.4, 3.9, 1.7, 0.4, Setosa, 6
4.6, 3.4, 1.4, 0.3, Setosa, 7
5, 3.4, 1.5, 0.2, Setosa, 8
4.4, 2.9, 1.4, 0.2, Setosa, 9
4.9, 3.1, 1.5, 0.1, Setosa, 10
5.4, 3.7, 1.5, 0.2, Setosa, 11
4.8, 3.4, 1.6, 0.2, Setosa, 12
4.8, 3, 1.4, 0.1, Setosa, 13
4.3, 3, 1.1, 0.1, Setosa, 14
5.8, 4, 1.2, 0.2, Setosa, 15
5.7, 4.4, 1.5, 0.4, Setosa, 16
5.4, 3.9, 1.3, 0.4, Setosa, 17
5.1, 3.5, 1.4, 0.3, Setosa, 18
5.7, 3.8, 1.7, 0.3, Setosa, 19
5.1, 3.8, 1.5, 0.3, Setosa, 20
5.4, 3.4, 1.7, 0.2, Setosa, 21
5.1, 3.7, 1.5, 0.4, Setosa, 22
4.6, 3.6, 1, 0.2, Setosa, 23
5.1, 3.3, 1.7, 0.5, Setosa, 24
4.8, 3.4, 1.9, 0.2, Setosa, 25
5, 3, 1.6, 0.2, Setosa, 26
5, 3.4, 1.6, 0.4, Setosa, 27
5.2, 3.5, 1.5, 0.2, Setosa, 28
5.2, 3.4, 1.4, 0.2, Setosa, 29
4.7, 3.2, 1.6, 0.2, Setosa, 30
4.8, 3.1, 1.6, 0.2, Setosa, 31
5.4, 3.4, 1.5, 0.4, Setosa, 32
5.2, 4.1, 1.5, 0.1, Setosa, 33
5.5, 4.2, 1.4, 0.2, Setosa, 34
4.9, 3.1, 1.5, 0.1, Setosa, 35
5, 3.2, 1.2, 0.2, Setosa, 36
5.5, 3.5, 1.3, 0.2, Setosa, 37
4.9, 3.1, 1.5, 0.1, Setosa, 38
4.4, 3, 1.3, 0.2, Setosa, 39
5.1, 3.4, 1.5, 0.2, Setosa, 40
5, 3.5, 1.3, 0.3, Setosa, 41
4.5, 2.3, 1.3, 0.3, Setosa, 42
4.4, 3.2, 1.3, 0.2, Setosa, 43
5, 3.5, 1.6, 0.6, Setosa, 44
5.1, 3.8, 1.9, 0.4, Setosa, 45
4.8, 3, 1.4, 0.3, Setosa, 46
5.1, 3.8, 1.6, 0.2, Setosa, 47
4.6, 3.2, 1.4, 0.2, Setosa, 48
5.3, 3.7, 1.5, 0.2, Setosa, 49
5, 3.3, 1.4, 0.2, Setosa, 50
7, 3.2, 4.7, 1.4, Versicolor, 51
6.4, 3.2, 4.5, 1.5, Versicolor, 52
6.9, 3.1, 4.9, 1.5, Versicolor, 53
5.5, 2.3, 4, 1.3, Versicolor, 54
6.5, 2.8, 4.6, 1.5, Versicolor, 55
5.7, 2.8, 4.5, 1.3, Versicolor, 56
6.3, 3.3, 4.7, 1.6, Versicolor, 57
4.9, 2.4, 3.3, 1, Versicolor, 58
6.6, 2.9, 4.6, 1.3, Versicolor, 59
5.2, 2.7, 3.9, 1.4, Versicolor, 60
5, 2, 3.5, 1, Versicolor, 61
5.9, 3, 4.2, 1.5, Versicolor, 62
6, 2.2, 4, 1, Versicolor, 63
6.1, 2.9, 4.7, 1.4, Versicolor, 64
5.6, 2.9, 3.6, 1.3, Versicolor, 65
6.7, 3.1, 4.4, 1.4, Versicolor, 66
5.6, 3, 4.5, 1.5, Versicolor, 67
5.8, 2.7, 4.1, 1, Versicolor, 68
6.2, 2.2, 4.5, 1.5, Versicolor, 69
5.6, 2.5, 3.9, 1.1, Versicolor, 70
5.9, 3.2, 4.8, 1.8, Versicolor, 71
6.1, 2.8, 4, 1.3, Versicolor, 72
6.3, 2.5, 4.9, 1.5, Versicolor, 73
6.1, 2.8, 4.7, 1.2, Versicolor, 74
6.4, 2.9, 4.3, 1.3, Versicolor, 75
6.6, 3, 4.4, 1.4, Versicolor, 76
6.8, 2.8, 4.8, 1.4, Versicolor, 77
6.7, 3, 5, 1.7, Versicolor, 78
6, 2.9, 4.5, 1.5, Versicolor, 79
5.7, 2.6, 3.5, 1, Versicolor, 80
5.5, 2.4, 3.8, 1.1, Versicolor, 81
5.5, 2.4, 3.7, 1, Versicolor, 82
5.8, 2.7, 3.9, 1.2, Versicolor, 83
6, 2.7, 5.1, 1.6, Versicolor, 84
5.4, 3, 4.5, 1.5, Versicolor, 85
6, 3.4, 4.5, 1.6, Versicolor, 86
6.7, 3.1, 4.7, 1.5, Versicolor, 87
6.3, 2.3, 4.4, 1.3, Versicolor, 88
5.6, 3, 4.1, 1.3, Versicolor, 89
5.5, 2.5, 4, 1.3, Versicolor, 90
5.5, 2.6, 4.4, 1.2, Versicolor, 91
6.1, 3, 4.6, 1.4, Versicolor, 92
5.8, 2.6, 4, 1.2, Versicolor, 93
5, 2.3, 3.3, 1, Versicolor, 94
5.6, 2.7, 4.2, 1.3, Versicolor, 95
5.7, 3, 4.2, 1.2, Versicolor, 96
5.7, 2.9, 4.2, 1.3, Versicolor, 97
6.2, 2.9, 4.3, 1.3, Versicolor, 98
5.1, 2.5, 3, 1.1, Versicolor, 99
5.7, 2.8, 4.1, 1.3, Versicolor, 100
6.3, 3.3, 6, 2.5, Virginica, 101
5.8, 2.7, 5.1, 1.9, Virginica, 102
7.1, 3, 5.9, 2.1, Virginica, 103
6.3, 2.9, 5.6, 1.8, Virginica, 104
6.5, 3, 5.8, 2.2, Virginica, 105
7.6, 3, 6.6, 2.1, Virginica, 106
4.9, 2.5, 4.5, 1.7, Virginica, 107
7.3, 2.9, 6.3, 1.8, Virginica, 108
6.7, 2.5, 5.8, 1.8, Virginica, 109
7.2, 3.6, 6.1, 2.5, Virginica, 110
6.5, 3.2, 5.1, 2, Virginica, 111
6.4, 2.7, 5.3, 1.9, Virginica, 112
6.8, 3, 5.5, 2.1, Virginica, 113
5.7, 2.5, 5, 2, Virginica, 114
5.8, 2.8, 5.1, 2.4, Virginica, 115
6.4, 3.2, 5.3, 2.3, Virginica, 116
6.5, 3, 5.5, 1.8, Virginica, 117
7.7, 3.8, 6.7, 2.2, Virginica, 118
7.7, 2.6, 6.9, 2.3, Virginica, 119
6, 2.2, 5, 1.5, Virginica, 120
6.9, 3.2, 5.7, 2.3, Virginica, 121
5.6, 2.8, 4.9, 2, Virginica, 122
7.7, 2.8, 6.7, 2, Virginica, 123
6.3, 2.7, 4.9, 1.8, Virginica, 124
6.7, 3.3, 5.7, 2.1, Virginica, 125
7.2, 3.2, 6, 1.8, Virginica, 126
6.2, 2.8, 4.8, 1.8, Virginica, 127
6.1, 3, 4.9, 1.8, Virginica, 128
6.4, 2.8, 5.6, 2.1, Virginica, 129
7.2, 3, 5.8, 1.6, Virginica, 130
7.4, 2.8, 6.1, 1.9, Virginica, 131
7.9, 3.8, 6.4, 2, Virginica, 132
6.4, 2.8, 5.6, 2.2, Virginica, 133
6.3, 2.8, 5.1, 1.5, Virginica, 134
6.1, 2.6, 5.6, 1.4, Virginica, 135
7.7, 3, 6.1, 2.3, Virginica, 136
6.3, 3.4, 5.6, 2.4, Virginica, 137
6.4, 3.1, 5.5, 1.8, Virginica, 138
6, 3, 4.8, 1.8, Virginica, 139
6.9, 3.1, 5.4, 2.1, Virginica, 140
6.7, 3.1, 5.6, 2.4, Virginica, 141
6.9, 3.1, 5.1, 2.3, Virginica, 142
5.8, 2.7, 5.1, 1.9, Virginica, 143
6.8, 3.2, 5.9, 2.3, Virginica, 144
6.7, 3.3, 5.7, 2.5, Virginica, 145
6.7, 3, 5.2, 2.3, Virginica, 146
6.3, 2.5, 5, 1.9, Virginica, 147
6.5, 3, 5.2, 2, Virginica, 148
6.2, 3.4, 5.4, 2.3, Virginica, 149
5.9, 3, 5.1, 1.8, Virginica, 150
];
```