聚类算法kmeans,及Kmeans 和KNN的区别

1. kmeanskmeans(k均值聚类算法)可以实现发现数据集的k个聚类的算法 , 每个聚类均以其质心表示 。
kmeans步骤:
(1)随机找到k个点作为质心(种子);
(2)计算其他点到这k个种子的距离 , 并选择最接近的一个作为该点的类别;
(3)更新各种类型的质心 , 并进行迭代直到质心保持不变 。
聚类算法kmeans,及Kmeans 和KNN的区别文章插图
大数据
如何选择k的值?
答:当根据k取不同的值时 , 模型性能曲线 。
横坐标是聚类的数目k , 纵坐标是从每个点到中心的距离之和 。 拐点处的K(距离和下降率变慢)作为所选值 。
2. kmeans ++由于kmeans的初始种子是随机找到的 , 因此该算法的收敛速度与初始值有很大的关系 。 因此 , kmeans ++主要改善了初始值的选择 。
聚类算法kmeans,及Kmeans 和KNN的区别文章插图
智能机器
初始值选择如下:
1.种子也是随机选择的;
2.计算其他点到该种子的距离;
3.选择这些较大距离的点以替换随机选择的种子作为新的种子点(此处较大的距离可以理解为maxDistance *随机数 , 并且可以选择0.5-1;) 。
4.重复1-3步 , 直到选择了k个种子 。
聚类算法kmeans,及Kmeans 和KNN的区别文章插图
机器化
3. Kmeans和KNN之间的区别KNN:
分类算法;监督学习;数据集被标记为数据;基于记忆的学习没有明显的训练过程 。
K值的含义-对于样本X , 要对其进行分类 , 请首先从数据集中找到最接近它的K个数据点 , 然后将其分类为类别最多的类别
K均值:
聚类算法;无监督学习;数据集是无标签的混乱数据;有明显的培训过程;
K值的含义-K是预设数字 。 数据集分为K个聚类 , 这需要人们的先验知识
聚类算法kmeans,及Kmeans 和KNN的区别文章插图
智能化
区别:
两种算法之间的根本区别在于 , K-means本质上是无监督学习 , 而KNN是有监督学习 。K均值是聚类算法 , 而KNN是分类(或回归)算法 。
【聚类算法kmeans,及Kmeans 和KNN的区别】K-均值算法将数据集划分为多个聚类 , 以使形成的聚类同构 , 并且每个聚类中的点彼此靠近 , 该算法试图在这些簇之间保持足够的可分离性 , 由于不受监督的性质 , 这些群体没有任何标签 ,KNN算法尝试根据其周围邻居的k个(可以是任何数字)对未标记的观察进行分类 , 它也被称为惰性学习方法 , 因为它涉及最小的模型训练 , 因此它不会将训练数据用于看不见的观察 , 数据集是通用的 。


    推荐阅读