K-means算法的代码实现

发布于: 修改于: 雪球转发:0回复:0喜欢:0

上一篇重点讲述了K-means算法的基本内容,接下来本章将分为以下三个部分

1 介绍K-means的手撸版

2 介绍如何使用scikit-learn中的工具包,以及对工具包中的各类参数进行解释

K-means代码手撸版

请参考我的github 网页链接

里面的z_kmeans文件,该文件快速实现了一个kmeans聚类测试,测试结果如下:


scikit-learn中的K-means使用介绍

上面介绍了简单的手撸版,目的是加深对基本算法原理的理解。在实际应用中,除非需要做一些特别的修改外,我们一般采用现成的工具包来实现。

接下来,我们来看一下scikit-learn中的k-means:

下面介绍一下主要的参数:

1、 X: 输入的样本集, mxn

2、n_clusters: 聚类数量即K值

3、init: 采用的初始化方法,包括kmeans++、random和ndarray(自选初始中心)。由于初始方法如果不好的话,可能会陷入局部最优。

kmeans++:大致逻辑为当选取第n个聚类中心时,距离当前n-1个聚类中的点被选为第n个聚类中心。当n=1时,也是随机选择。

random:随机方法

ndarray:采用自定义方法,即预先指定初始中心

4、random_state: 三种类型,即none/int/randomstate。如果传入int或randomstate对象,

那么每次重新运行程序时,可以实现情景复现,便于调试和观测

5、algorithm: auto/full/elkan, 计算过程中采用的算法。选用auto时,若是稀疏矩阵,则用full模式,否则用elkan模式。

在原始的计算K-means过程中,我们每轮迭代要计算所有的样本点到所有的质心的距离,这样会比较的耗时。我们可以利用三角不等式(即两边之和大于第三边,两边之差小于第三边),来减少距离计算次数,从而提高运算效率。例如:x和u1、u2,当 2*D(x,u1) <= D(u1,u2)时,根本不需要计算D(x,u2)

6、max_iter: 最大迭代次数,当集合为非凸时,一般不容易收敛,因此需要设置最大迭代次数。

7、precompute_distance:提前计算好样本点和中心点的距离,这样可以提高运算效率,但会增加内存消耗。取值有auto/True/False,取auto时,若 n_samples * n_clusters > 12million,则选择False,否则用True.

8、n_init: 为降低初始化中心点对计算结果的影响,用不同的初始化质心运算n_init次,然后选择最好的一个。

9、tol: 判断中心是否收敛阈值,D(centers_old, centers_new) < tol 则认为中心没有变化

10、n_jobs: 并行计算数,若n_init>1且开启 n_jobs = -1,则会触发并行 ; 若n_jobs=1,则只有一个运行。

11、return_n_iter: 是否返回迭代计算次数

12、verbose: 是否开启详细模式,即打印计算细节

13、x_copy: 在计算过程中,原始数据是否发生修改。选择True时,计算过程直接拷贝,原始数据不发生修改

接下来我们来重现一下上面我们手工做的程序:

请参考我的github 网页链接

里面的scikit_kmeans文件,测试结果如下:

在下一个章节,我们将用kmeans算法进行行情状态划分,用来辅助交易~

深圳SEO优化公司大连网络推广价格长春企业网站制作价格铜陵建设网站呼和浩特关键词按天收费景德镇百度网站优化价格丽江营销型网站建设推荐长春百度网站优化排名哪家好韶关营销网站哪家好桐城关键词按天计费哪家好石岩网站搜索优化公司嘉兴网站关键词优化松原关键词按天扣费价格烟台营销型网站建设多少钱崇左网站优化按天计费多少钱盐田网络广告推广价格梧州企业网站建设罗湖优化报价天水企业网站制作多少钱唐山网站推广工具德宏英文网站建设公司宜昌网站排名优化推荐济宁外贸网站建设报价包头建站雅安网站优化按天收费哪家好宜春百度爱采购公司楚雄网页制作哪家好武汉网络广告推广公司德阳网站建设设计马鞍山网站优化按天扣费推荐西宁网站seo优化公司歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化