K-means 算法是很经典的基于距离的无监督硬聚类算法。算法认为对象距离近的,
其相似度越大。算法最终会得到一个,簇内距离尽量小,不同簇间距离尽量大的一个分类结果。
1.对样本进行初始聚类(离哪个近就归到那类)。
2.然后计算每个簇中的中心值。在对样本重新聚类(离哪个近就归到那类)。一直迭代重复,直到两次得到的中心值相同或达到设定的阈值,迭代结束。此时的聚类结
果为最终的聚类结果。
优缺点:advantage:高效,简单的将数据分成有用的类,对于大的数据集有较好的的伸缩性。
disadvantage:由于是随机分类,并不能一定找到最佳分类但是可以使用遗传算法(GA)来确定第一次初始化。
K-means 在R中的实现:
R中的stats包提供的k-means 函数
k_modle <- kmeans(data,k)
k_modle$cluster是kmeans函数所给出的所有类成员的向量值
k_modle$cencters是每个类组合和特征均值的矩阵
k_modle$size是 每个类的实例个数