R 语言的 K-means 聚类算法,用起来真挺顺手的。语法简单,逻辑清晰,适合数据刚起步的你。kmeans()
这个函数几乎一看就懂,配合像factoextra
这样的可视化包,效果也直观。
安装包推荐你先装好fpc
和factoextra
,再加上ggplot2
一起用,调试聚类数量、看图都方便。聚类逻辑也不复杂:初始中心、计算距离、更新再分配,反复几轮,直到结果稳定。
哦对了,记得标准化下数据,用scale()
就行,能避免变量尺度影响结果。不然你聚类中心再准也白搭。还有,默认欧式距离,适合连续变量,分类变量得换思路。
整个流程在 R 里实现起来蛮流畅的,适合信用卡用户、地理数据之类的多维数据。要是想对照别的语言怎么写,文章后面还有几个链接,C、Python、Matlab 版本的都有,看看也挺涨见识的。
如果你刚开始接触聚类,又刚好在用 R 语言,这份资源还挺值得一读的。