什么是K-means?
K-means是一种非监督学习,解决的是聚类的问题。
K代表的是K类,means代表的是中心,一般K-means主要的是思路分三步走:
- 如何确定K类的中心点
- 如何将其他点划分到K类中
- 如何区分K-means与KNN?
K-means的工作原理
- 选取K个点作为初始的类的中心,这些点一般都是从数据集随机抽取的
- 将每个点分配到最近的类中心点,这样就形成了K个类,然后重新计算每个类的中心点
- 重复第二步,直到类不发生变化,或者你也可以设置最大迭代次数,这样即使类中心点发生变化,但是只要达到迭代次数就会结束
总结
如何区分K-means和KNN这两种算法:
-
首先这两个算法解决数据挖掘的两类问题,K-means是聚类算法,KNN是分类算法
-
这两个算法分别是两种不同的学习方式,k-means是非监督学习,也就是不需要事先给出分类标签,而KNN是有监督学习,需要我们给出训练数据的分类标识
-
最后,K值的含义不同,K-means中的K值代表K类。KNN中的K值代表K个最接近的邻居