其他分享
首页 > 其他分享> > 【k-means学习笔记】

【k-means学习笔记】

作者:互联网

目录

算法描述

1.问题假设:操场上有k个体育老师和k个班的学生,各班学生围着各自的老师在玩耍,现求各个老师的坐标。
2.数据输入:所有学生的坐标位置,但不知道每个学生对应的老师是谁。
3.算法过程:
①随机选取k个坐标。
②计算每个学生与k个老师的坐标距离并以距离为原则将此学生归类到最近的老师。
③将所有学生归类完毕后,计算每个老师类中学生坐标的均值,并以此均值作为老师坐标的更新值。

知识储备

1.k-means算法不要求数据有标签(即不知道每个学生对应的老师),所以为无监督。

举个栗子

在这里插入图片描述
在这里插入图片描述

实现代码

1.debug代码引用《机器学习实战》提供的demon,此书作者提供完整代码和数据集,强烈推荐。[1]
2.sklearn实现版本。[3]

算法分析

1.在例子中引用少量二维数据,所以k值的选取显而易见。但在三维以上数据集中,很难确定k值的选取。
2.对噪点敏感;倘若某个学生逃课了(不提倡),在更新质心(老师坐标),质心坐标出现明显偏差。
3.算法的计算复杂度是数据量质心数迭代数据集的次数,计算相对复杂。
4.因质心的初始值是随机生成的,最终结果受初始值影响会收敛到一个局部最优的位置。可以跑多次该算法以寻找相对较优结果,但计算复杂度更高了。

资料引用

[1]GitHub:https://github.com/wzy6642/Machine-Learning-in-Action-Python3/tree/master/K_Means_Project1
[2]CSDN:https://blog.csdn.net/jiaoyangwm/article/details/79669387
[3]CSDN:https://blog.csdn.net/guihenao4010/article/details/85159661
此算法笔记会在CSDN、知乎、b站及公众号同步更新,账号名为一枚嘉应子。转载注明出处,侵权必究。

标签:means,老师,笔记,学生,学习,算法,CSDN,坐标,质心
来源: https://blog.csdn.net/weixin_43417351/article/details/122010037