深入探索k-means聚类算法及其应用
1. 数据探索与k-means引入
在数据探索中,对数字数据集中仅包含“1”的数据进行Isomap嵌入,结果能让我们了解数据集中数字“1”的各种形态。数据在投影空间中沿着一条宽曲线分布,似乎追踪着数字的方向。随着在图中向上移动,可以发现带有“帽子”和/或“底座”的“1”,不过这些在数据集中非常稀疏。这种投影有助于识别存在数据问题的离群值,例如相邻数字的部分混入提取图像中。虽然这本身对数字分类任务可能没有直接用处,但有助于我们理解数据,并为后续处理提供思路,比如在构建分类管道之前如何对数据进行预处理。
接下来,我们从降维这一无监督机器学习模型类别转向聚类算法。聚类算法旨在从数据的属性中学习,对数据点进行最优划分或离散标记。在众多聚类算法中,k-means聚类算法相对容易理解,它在 sklearn.cluster.KMeans 中实现。以下是标准的导入代码:
%matplotlib inline
import matplotlib.pyplot as plt
import seaborn as sns; sns.set() # for plot styling
import numpy as np
2. k-means算法原理
k-means算法在无标签的多维数据集中搜索预定数量的聚类。它基于以下两个简单假设来实现最优聚类:
- 聚类中心是属于该聚类的所有点的算术平均值。
- 每个点离自己的聚类中心比离其他聚类中心更近。
为了直观展示,我们先生成一个包
深入探索k-means与高斯混合聚类算法
订阅专栏 解锁全文
10万+

被折叠的 条评论
为什么被折叠?



