使用k-means方法对以下数据点进行分类:共有5个样本,每个样本有两个特征x1和x2。样本a:x1=5,x2=-3;样本b:x1=-1,x2=1;样本c:x1=1,x2=-1;样本d:x1=-3,x2=-2;样本e:x1=4,x2=4。请给出每一步详细迭代聚类过程
时间: 2024-06-05 13:10:13 浏览: 14
首先,我们需要确定分类的数目k。在这个例子中,我们可以试着将数据点分为两类。因此,k=2。
接下来,我们需要选择k个初始质心。一种常见的方法是随机选择k个数据点作为初始质心。在这个例子中,我们随机选择两个数据点作为初始质心,比如样本b和e。
第一轮迭代:
我们计算每个数据点到两个质心的距离,并将它们分别归类到最近的质心所在的类中。计算距离的方法可以使用欧几里得距离。具体地,对于每个数据点i和质心j,它们之间的距离可以表示为:
$d_{ij} = \sqrt{(x_{i1}-x_{j1})^2 + (x_{i2}-x_{j2})^2}$
其中,$x_{i1}$和$x_{i2}$分别表示数据点i的两个特征,$x_{j1}$和$x_{j2}$分别表示质心j的两个特征。
计算得到每个数据点到两个质心的距离如下表所示:
| 数据点 | 质心b | 质心e |
| :--------: | :---: | :---: |
| 样本a | 8.54 | 9.43 |
| 样本b | 0.00 | 7.21 |
| 样本c | 2.83 | 6.08 |
| 样本d | 3.16 | 6.70 |
| 样本e | 5.83 | 0.00 |
根据距离,我们可以将每个数据点分别归类到最近的质心所在的类中。在这个例子中,我们可以得到如下的分类结果:
| 数据点 | 质心b | 质心e | 最近质心 | 所属类别 |
| :--------: | :---: | :---: | :------: | :------: |
| 样本a | 8.54 | 9.43 | 质心e | 2 |
| 样本b | 0.00 | 7.21 | 质心b | 1 |
| 样本c | 2.83 | 6.08 | 质心b | 1 |
| 样本d | 3.16 | 6.70 | 质心b | 1 |
| 样本e | 5.83 | 0.00 | 质心e | 2 |
可以看到,样本a和样本e被归类到了一类中,而样本b、c、d被归类到了另一类中。接下来,我们需要重新计算每个类的质心。对于每个类,质心可以表示为该类中所有数据点的均值。具体地,对于第j个类,它的质心可以表示为:
$centroids_j = (\frac{1}{n_j} \sum_{i=1}^{n_j} x_{ij1}, \frac{1}{n_j} \sum_{i=1}^{n_j} x_{ij2})$
其中,$n_j$表示第j个类中的数据点数目,$x_{ij1}$和$x_{ij2}$分别表示第j个类中第i个数据点的两个特征。
计算得到每个类的质心如下表所示:
| 类别 | 质心1 | 质心2 |
| :--: | :-------: | :-------: |
| 1 | (-1.67,-0.67) | |
| 2 | | (4.50,0.50) |
可以看到,第一个类的质心为(-1.67,-0.67),第二个类的质心为(4.50,0.50)。
第二轮迭代:
在第一轮迭代中,我们已经将所有数据点归类到了不同的类中,并重新计算了每个类的质心。接下来,我们需要再次计算每个数据点到两个质心的距离,并将它们分别归类到最近的质心所在的类中。计算得到每个数据点到两个质心的距离如下表所示:
| 数据点 | 质心1 | 质心2 |
| :--------: | :---: | :---: |
| 样本a | 4.21 | 1.12 |
| 样本b | 1.97 | 4.24 |
| 样本c | 1.18 | 3.61 |
| 样本d | 3.07 | 4.95 |
| 样本e | 6.38 | 0.50 |
根据距离,我们可以将每个数据点分别归类到最近的质心所在的类中。在这个例子中,我们可以得到如下的分类结果:
| 数据点 | 质心1 | 质心2 | 最近质心 | 所属类别 |
| :--------: | :---: | :---: | :------: | :------: |
| 样本a | 4.21 | 1.12 | 质心2 | 2 |
| 样本b | 1.97 | 4.24 | 质心1 | 1 |
| 样本c | 1.18 | 3.61 | 质心1 | 1 |
| 样本d | 3.07 | 4.95 | 质心1 | 1 |
| 样本e | 6.38 | 0.50 | 质心2 | 2 |
可以看到,分类结果与第一轮迭代的结果不同。现在,样本a和样本e被归类到了不同的类中,而样本b、c、d被归类到了同一个类中。接下来,我们需要重新计算每个类的质心。计算得到每个类的质心如下表所示:
| 类别 | 质心1 | 质心2 |
| :--: | :-------: | :-------: |
| 1 | (0.33,0.67) | |
| 2 | | (5.00,0.50) |
可以看到,第一个类的质心为(0.33,0.67),第二个类的质心为(5.00,0.50)。
第三轮迭代:
在第二轮迭代中,我们已经将所有数据点归类到了不同的类中,并重新计算了每个类的质心。接下来,我们需要再次计算每个数据点到两个质心的距离,并将它们分别归类到最近的质心所在的类中。计算得到每个数据点到两个质心的距离如下表所示:
| 数据点 | 质心1 | 质心2 |
| :--------: | :---: | :---: |
| 样本a | 4.29 | 1.50 |
| 样本b | 0.94 | 5.16 |
| 样本c | 0.94 | 4.82 |
| 样本d | 2.80 | 5.86 |
| 样本e | 5.40 | 0.50 |
根据距离,我们可以将每个数据点分别归类到最近的质心所在的类中。在这个例子中,我们可以得到如下的分类结果:
| 数据点 | 质心1 | 质心2 | 最近质心 | 所属类别 |
| :--------: | :---: | :---: | :------: | :------: |
| 样本a | 4.29 | 1.50 | 质心2 | 2 |
| 样本b | 0.94 | 5.16 | 质心1 | 1 |
| 样本c | 0.94 | 4.82 | 质心1 | 1 |
| 样本d | 2.80 | 5.86 | 质心1 | 1 |
| 样本e | 5.40 | 0.50 | 质心2 | 2 |
可以看到,分类结果与第二轮迭代的结果相同。现在,样本a和样本e被归类到了不同的类中,而样本b、c、d被归类到了同一个类中。由于分类结果没有发生变化,我们可以结束迭代,得到最终的分类结果:
| 数据点 | 所属类别 |
| :--------: | :------: |
| 样本a | 2 |
| 样本b | 1 |
| 样本c | 1 |
| 样本d | 1 |
| 样本e | 2 |
最终,我们将所有数据点分为了两类。
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![-](https://csdnimg.cn/download_wenku/file_type_lunwen.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)