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

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

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

Синтаксис:

KMeansND(num\_clusters, num\_iter, coordinate\_1, coordinate\_2 [,coordinate\_3 [, ...]])

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

Аргументы:

Аргументы

| Аргумент | Описание |
| --- | --- |
| num\_clusters | Целое число, которое указывает количество кластеров. |
| num\_iter | Количество итераций с переинициализированными центрами кластеров. |
| coordinate\_1 | Агрегирование, вычисляющее первую координату, обычно ось X (точечной диаграммы, которая может быть сделана из диаграммы). Дополнительные параметры вычисляют вторую, третью и четвертую координаты и т. д. |

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

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

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

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

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

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

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

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

1. Перетащите точечную диаграмму на новый лист. Назовите диаграмму Лепесток (раскрашивание по выражению).
2. Создайте переменную для указания количества кластеров. Для переменной Имя введите KmeansPetalClusters. Для переменной Определение введите =2.
3. Создайте переменную для указания количества итераций. Для переменной Имя введите KmeansNumberIterations. Для переменной Определение введите =1.
4. Настройте данные для диаграммы.
   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)
5. Настройте Вид диаграммы:
   1. В разделе Цвета и легенда выберите Пользовательский для параметра Цвета.

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

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

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

      Альтернативно введите следующее: kmeansnd(2, 2, Sum([petal.length]), Sum([petal.width]),Sum([sepal.length]), Sum([sepal.width]))

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

   5. Введите следующее для метки: Идентификатор кластера

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

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

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

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

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

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

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

   Теперь можно изменить количество кластеров и итераций с помощью ползунков в полях ввода переменной.

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

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

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

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

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

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

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

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