K-Means简介
K-Means属于无监督的学习。我们通过对象和对象之间的距离远近,将数据集拆分成K个簇,每个簇有一个中心,这个中心是由簇中所含值得均值计算而成的,所以叫做K均值算法。
优点
- 无监督数据集,不需要准备数据集
- 原理简单,容易实现
- 结果可解释性好
缺点
- 需要手动设置K值(聚类的簇数),不合理K值导致缺乏解释性
- 可能陷入local-minima,大规模数据收敛太慢
- 对于异常点很敏感
K-Means伪代码
K-Means评价标准
判断聚类的性能,我们用Sum of Squared Error(SSE)。SSE越小表示数据点越接近于质心,聚类效果也越好。因为对误差取了平方,所以更加注重远离中心的点。一种肯定能降低SSE的办法是增加簇的个数,但违背了聚类的目标。聚类的目标就是保持簇的个数不变的情况下提高簇的质量。