kNN与kMeans聚类算法的区别
2017-07-15 15:48
393 查看
kNN与kMeans聚类算法的区别
KNN | K-Means |
目的是为了确定一个点的分类 | 目的是为了将一系列点集分成k类 |
KNN是分类算法 | K-Means是聚类算法 |
监督学习,分类目标事先已知 | 非监督学习,将相似数据归到一起从而得到分类,没有外部分类 |
训练数据集有label,已经是完全正确的数据 | 训练数据集无label,是杂乱无章的,经过聚类后才变得有点顺序,先无序,后有序 |
没有明显的前期训练过程,属于memory-based learning | 有明显的前期训练过程 |
K的含义:“k”是用来计算的相邻数据数。来了一个样本x,要给它分类,即求出它的y,就从数据集中,在x附近找离它最近的K个数据点,这K个数据点,类别c占的个数最多,就把x的label设为c | K的含义:“k”是类的数目。K是人工固定好的数字,假设数据集合可以分为K个簇,由于是依靠人工定好,需要一点先验知识 |
K值确定后每次结果固定 | K值确定后每次结果可能不同,从 n个数据对象任意选择 k 个对象作为初始聚类中心,随机性对结果影响较大 |
时间复杂度:O(n) | 时间复杂度:O(n*k*t),t为迭代次数 |
相似点:都包含这样的过程,给定一个点,在数据集中找离它最近的点。即二者都用到了NN(Nears Neighbor)算法,一般用KD树来实现NN。 |
参考引用:
http://www.tuicool.com/articles/qamYZv
http://www.tuicool.com/articles/yUBBbyR
http://stats.stackexchange.com/questions/56500/what-are-the-main-differences-between-k-means-and-k-nearest-neighbours
k-Means:http://blog.pluskid.org/?p=17
相关文章推荐
- kNN与kMeans聚类算法的区别
- KNN与K-Means的区别
- KNN和K-Means的区别
- KNN与K-Means的区别
- KNN与K-Means的区别
- item-CF item-KNN的区别
- 推荐系统中TopN与kNN的区别
- 机器学习算法笔记--sklearn(1)--knn&kvm区别
- KNN与K-Means的区别
- 机器学习之深入理解K-means、与KNN算法区别及其代码实现
- KNN与K-Means的区别
- 注意knn与kmeans的区别
- Kmeans算法与KNN算法的区别
- KNN与K-Means的区别
- KNN和K-means区别
- Kmeans算法与KNN算法的区别
- KNN与K-Means的区别
- KNN与K-Means的区别
- 组合,关联,聚合的区别
- String和StringBuffer的区别示例