kmeans聚类
特点:
1.无监督学习
2.人为的输入要聚的类数k
3.一般是计算的欧式距离判断相似性
4.每次随机的选取k个聚类中心,聚类结果受随机选取的类中心影响比较大
5.简单
算法过程:
1.输入训练数据集,类别K
2.随机的选取K条数据,作为K个类的中心
3.计算所有数据到2中的K个类中心的距离
4.根据3的结果,与某个类最近的数据化为一类
5.根据4,从新得到K个类,并计算K个类的中心
6.更新上面的的过程,直到K类数据不再变化或者到达迭代次数位置
R语言代码:
n <- 600
x <- cbind(runif(10, 0, 10)+rnorm(n, sd=0.2), runif(10, 0, 10)+rnorm(n,sd=0.2))
km=kmeans(x,5)
km$cluster #输出的聚类标签
km$centers #输出聚类的中心
par(