1、python 使用例子(包含代码和算法说明):https://www.cnblogs.com/ahu-lichang/p/7161613.html
2、刚接触机器学习这一个月我都做了什么?(经典的机器学习步骤,不可误入误区):https://www.cnblogs.com/xing901022/p/6953696.html
3、K-means 算法实现:文章介绍了 k-means 算法的基本原理和 scikit 中封装的 kmeans 库的基本参数的含义:https://juejin.im/post/5daffd26e51d45249f6085a5#heading-0
4、聚类的例子 ppt,从数据准备,特征选取,特征提取,到聚类的详细讲解:https://cloud.tencent.com/developer/news/146955
5、k-means 例子:http://www.woshipm.com/ai/2102501.html/comment-page-1
6、k-modes 的介绍:http://sofasofa.io/forum_main_post.php?postid=1000500
7、k-modes 源码:https://github.com/nicodv/kmodes/blob/master/kmodes/kmodes.py
8、各类距离:https://www.cnblogs.com/WingPig/p/9760882.html
9、k-modes 应用:https://www.kaggle.com/ciujizuo/use-kmodes-to-do-clustering

  1. K-Means 只能用于连续数据,而不能用于分类数据
    因为 K-Means 算法的核心是计算空间坐标中,点与点之间的平均值,而我们知道只有连续数据可以被计算,分类数据即使使用 1234 来表示,也只是作一个代称,而不可以进行数学计算。

  2. 在计算之前,需先对数据进行归一化处理
    对数据进行归一化处理是为了防止数据之间单位不一致,导致某些位数较大的参数拥有较高的权重,将所有的数据归一化则可以将所有的参数权重调节成一致。当然,如果因为业务特点而需要将某些参数的权重调高或者调低,也可以根据实际情况来,毕竟算法只是工具,真正起作用的还是使用算法的人。

  3. K-Means 算法对数据噪声和离群值较为敏感
    计算均值时需要所有的数据都参与,即使出现少量的离群数据,也会对均值产生极大的影响,所以在实际工作中使用算法时,通常需要先对离群值进行数据清洗,排除离群值对最终结果的影响,然后再进行聚类计算。


↙↙↙阅读原文可查看相关链接,并与作者交流