# KMeans2D - 图表函数

KMeans2D() 通过应用 k 均值集群计算图表的行，并且对于每个图表行，显示此数据点已分配到的集群的集群 id。集群算法使用的列分别由参数 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 或 ‘none’<br><br>对于 z-score 规范化为 1 或 ‘zscore’<br><br>对于 min-max 规范化为 2 或 ‘minmax’<br><br>如果未提供参数或提供的参数不正确，则不应用规范化。<br><br>Z-score 基于特征均值和标准差对数据进行标准化。Z-score 并不能保证每个特征具有相同的尺度，但在处理异常值时，它是一种比 min-max 更好的方法。<br><br>Min-max 规范化通过获取每个数据点的最小值和最大值并重新计算每个数据点，确保特征具有相同的比例。 |

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

#### 示例：图表表达式

在本示例中，我们使用 Iris 数据集创建散点图，然后使用 KMeans 按表达式为数据着色。

我们还为 num\_clusters 参数创建一个变量，然后使用变量输入框来更改集群的数量。

Iris 数据集以多种格式公开可用。我们已将数据作为内联表提供，以便使用 Qlik Sense 中的数据加载编辑器进行加载。注意，我们在本例的数据表中添加了一个 Id 列。

[Iris 数据集：Qlik Sense 中数据加载编辑器的内联加载](https://help.qlik.com/zh-CN/sense/November2024/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/RelationalFunctions/KMeans2D.htm#IrisData)

在 Qlik Sense 中加载数据后，我们将执行以下操作：

1. 将散点图图表拖动至新的工作表。将图表命名为花瓣（按表达式着色）。
2. 创建变量以指定集群数。对于变量 Name，输入 KmeansPetalClusters。对于变量 Definition，输入 =2。
3. 配置图表的数据：
   1. 在维度下，选择气泡的字段的 id。输入标签的集群 Id。

   2. 在度量下，选择 X 轴表达式的 Sum([petal.length])。

   3. 在度量下，选择 Y 轴表达式的 Sum([petal.width])。

      花瓣（按表达式着色）图表的数据设置

      花瓣（按表达式着色）图表的数据设置

      花瓣（按表达式着色）花瓣（按表达式着色）图表的数据设置![Configure Data for Petal (color by expression) chart](https://help.qlik.com/zh-CN/sense/November2024/Subsystems/Hub/Content/Resources/Images/ui_KmeansData.png)

      数据点在图表上绘制。

      花瓣（按表达式着色）图表上的数据点

      花瓣（按表达式着色）图表上的数据点

      花瓣（按表达式着色）花瓣（按表达式着色）图表上的数据点![Data points on Petal (color by expression) chart.](https://help.qlik.com/zh-CN/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. 为标签输入以下内容：Cluster Id

      花瓣（按表达式着色）图表的外观设置

      花瓣（按表达式着色）图表的外观设置

      花瓣（按表达式着色）花瓣（按表达式着色）图表的外观设置![花瓣（按表达式着色）图表的外观。](https://help.qlik.com/zh-CN/sense/November2024/Subsystems/Hub/Content/Resources/Images/ui_KmeansAppearance.png)

      图表上的两个集群按 KMeans 表达式着色。

      花瓣（按表达式着色）图表中按表达式着色群集。

      花瓣（按表达式着色）图表中按表达式着色群集。

      花瓣（按表达式着色）花瓣（按表达式着色）图表中按表达式着色群集。![花瓣（按表达式着色）图表中按表达式着色群集。](https://help.qlik.com/zh-CN/sense/November2024/Subsystems/Hub/Content/Resources/Images/ui_KmeansChartColorByExpression.png)
5. 对集群的数目添加变量输入框。
   1. 在资产面板中的自定义对象下，选择 Qlik 仪表板捆绑。如果我们不能访问仪表板捆绑，我们仍然可以使用我们创建的变量更改集群的数量，或者直接作为表达式中的整数。
   2. 将变量输入框拖动到工作表上。
   3. 在外观下，单击常规。
   4. 为标题输入以下内容：集群
   5. 单击变量。
   6. 为名称选择以下变量：KmeansPetalClusters。
   7. 为显示方式选择滑块。
   8. 选择值，并根据需要配置设置。

      Clusters 变量输入框的外观。

      Clusters 变量输入框的外观。

      ClustersClusters 变量输入框的外观。 ![Appearance for clusters variable input box](https://help.qlik.com/zh-CN/sense/November2024/Subsystems/Hub/Content/Resources/Images/ui_KmeansVariableInputBox.png)

   完成编辑后，我们现在可以使用 Clusters 变量输入框中的滑块更改集群的数量。

   花瓣（按表达式着色）图表中按表达式着色群集。

   花瓣（按表达式着色）图表中按表达式着色群集。

   花瓣（按表达式着色）花瓣（按表达式着色）图表中按表达式着色群集。 ![花瓣（按表达式着色）图表中按表达式着色群集。](https://help.qlik.com/zh-CN/sense/November2024/Subsystems/Hub/Content/Resources/Images/ui_KmeansChartColorByExpressionVariableChange.png)

自动聚合

均值函数支持使用名为深度差 (DeD) 的方法支持自动聚合。如果用户为集群数设置 0，则会为该数据集确定最优集群数。注意，虽然没有显式返回集群数 (k) 的整数，但它是在均值算法中计算的。例如，如果在函数中为 KmeansPetalClusters 的值指定了 0 或通过变量输入框进行设置，则会根据最佳的集群数自动计算数据集的簇分配。

当 (k) 设置为 0 时，均值深度差分方法确定最佳集群数

当 (k) 设置为 0 时，均值深度差分方法确定最佳集群数

当 (k) 设置为 0 时，均值深度差分方法确定最佳集群数 ![K 均值深度差法确定最佳簇数](https://help.qlik.com/zh-CN/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
];
```