# 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/November2024/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/November2024/Subsystems/Hub/Content/Resources/Images/ui_KmeansData.png)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      Вид поля ввода переменной КластерыКластеры ![Appearance for clusters variable input box](https://help.qlik.com/ru-RU/sense/November2024/Subsystems/Hub/Content/Resources/Images/ui_KmeansVariableInputBox.png)

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

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

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

   Кластеры, раскрашенные по выражению на диаграммы Лепесток (раскрашивание по выражению)Лепесток (раскрашивание по выражению) ![Кластеры, раскрашенные по выражению на диаграмме «Лепесток (раскрашивание по выражению)»](https://help.qlik.com/ru-RU/sense/November2024/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/November2024/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
];
```