• 欢迎访问数智,大数据学习

【ML第九节】:机器学习之K-means聚类算法

机器学习 Raybra_Wei 2年前 (2018-09-06) 565次浏览 0个评论 扫描二维码

聚类属于无监督学习,它将相似的对象归到同一个簇中。这里描述 K-means聚类算法,之所以把它称为 K-means 是因为它可以发现 k 个不同的簇,且每个簇的中心采用簇中所含值的均值计算而成。

优点:容易实现

缺点:可能收敛到局部最小值,在大规模数据集上收敛较慢

使用数据类型:数值型数据

K-均值是发现给定数据集的 k 个簇的算法,簇个数 k 是由用户给定的,每个簇通过其质心,即簇中所有点的中心来描述;

伪代码实现:

       创建k个点作为起始质心(一般随机选择)

       当任意一个点的簇分配结果发生改变时

              对数据集中的每个数据点

                     对每个质心

                            计算质心与数据点之间的距离

                     将数据点分配到距其最近的簇

              对每一个簇,计算簇中所有点的均值并将均值作为质心

算法实现:

UCI 数据集测试

备注:下面所有测试集的相关参数在 KNN算法的代码中已经注释

IRIS 数据集测试

【ML 第九节】:机器学习之 K-means 聚类算法

结果解释:在第一个列表中,第一个数代表簇,第二个数代表每个点到该簇的距离。后面的列表代表原始数据集的分类类别。

【ML 第九节】:机器学习之 K-means 聚类算法


数智 Lab , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:【ML 第九节】:机器学习之 K-means 聚类算法
喜欢 (3)
[]
分享 (0)
关于作者:
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址