- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Kmeans应用和特征选择
Kmeans应用和特征选择
在各行各业发展中,都积累了大量的数据,而数据往往是没有先验标签的,我们需要在数据中自动发现规律,例如自动发现数据中有哪几类,每一类有什么性质。而kmeans聚类算法就是针对这一类问题的有效解决方案。本文中,我们介绍了kmeans的方法,并且进行了实验,着重讨论了质心初始点的选取方式和聚类特征的选取方式,最终验证了kmeans算法的有效性。
【关键词】人工智能 机器学习 数据挖掘 聚类 kmeans
1 引言
近些年来,机器学习的发展日新月异,机器学习的两大问题:分类和聚类也不断有新的算法来填充。而对于大量样本的数据,由于人工标注成本很高,经常是没有标签的数据,需要用聚类算法来发现数据中有几类,每一类是什么样,有什么性质,各类之间的关系是什么样。Kmeans是聚类算法中简单有效的一种,也称为k均值算法。
本文先介绍kmeans聚类的方法,包括主要思想和具体步骤;然后把算法应用在鸢尾花数据集上,并且改变特征的数量,来看对聚类结果的影响;接着,本文对kmeans算法的优缺点进行了讨论,并和其他算法进行比较,还介绍了该算法在使用时候需要注意的问题;最后,我们根据实验结果总结结论,得出kmeans是有效的一种聚类算法,并且特征的选择会对聚类结果产生很大影响。
2 方法
Kmeans的主要思想是将离散的许多数据点利用k个质心进行聚类,分成k簇来区分相似性较小的数据点,并把相似性较大的数据点归为一类。该方法利用不断更新数据点的质心归属和质心的位置来最终收敛到最优解。
Kmeans有四个主要步?E:
(1)利用kmeans++在n个数据点中取k个质心:普通kmeans算法中,是随机选取k个数据点最为初始的质心,但这样的结果可能会导致聚类迭代的过程中收敛速度慢或者收敛到局部最优的结果。Kmeans++成功解决了这个问题,它改进了质心初始化的方法:首先随机选取一个数据点作为第一个质心,接着,选取距离第一个点最远的数据点作为第二个质心,再接着选取距离第一个和第二个质心距离之和最大的数据点最为第三个质心,以此类推,选取出k个初始质心点。
(2)把所有数据点都归属到离它最近的质心,并且标为相应的类别号,从而把所有数据点分成k个簇。此处的距离通常选择欧式距离。
(3)在各个簇内部求均值确定新的质心。
(4)重复第2,3步骤直到各个数据点的归属不变或者达到提前设定迭代次数。
3 实验
在介绍完kmeans的方法之后,我们找了真实的数据集来做算法实验。我们使用的数据集是sklearn机器学习库里面的datasets子库中的鸢尾花(iris)数据,共包括150个花的数据,每个数据有四个属性(特征),分别是花萼长度,花萼宽度,花瓣长度,花瓣宽度。然后,我们选取不同的特征对花进行聚类,首先我们选择花萼长度,花萼宽度作为特征聚类,然后我们选择花瓣长度,花瓣宽度进行聚类,最后,我们一起用四个特征进行聚类,比较聚类结果。
对于质心初始化方法,我们采用kmeans++中的初始化方法代替随机选取初始质心的方法。
对于聚类的个数,我们分别设为2,3,4来进行实验,观察实验结果,通过可视化方法,判断设为几类才是最合适的。
4 结果展示
我们用散点图标注每个数据点,并且用颜色(红,蓝,绿,黄)区分它所属的类别,来观察数据点在特征空间的分布,判断聚类结果十分合理。在每个图中,横坐标代表花某一部分的长度,纵坐标代表花某一部分的宽度,坐标轴的单位都是厘米,每一种颜色是一簇。
首先我们仅用花萼长度,花萼宽度来聚类,聚类的类别个数分别设定为2,3,4,对应从左到右三个图。可以看出花萼长度和宽度的数据分布没有特别明显的簇状分布,所以类别个数分为2,3,4看起来都有一定道理。
然后,我们用花瓣长度,花瓣宽度来聚类,聚类的类别个数分别设定为2,3,4,对应从左到右三个图。我们能看到很明显有两簇数据点分布较远,中间隔着很大距离,即画面左下角的簇和画面中间到右上角的簇,故聚类类数选为2比较合理。此时,虽然聚成两类有一个数据点被误判,但大体能区分这两部分,也是可取的。
最后,我们用花萼长度,花萼宽度,花瓣长度,花瓣宽度四个属性共同去对花进行聚类,也就是这四个特征都会影响到聚类结果。在这里,特征空间维度数是4,所以我们分为两个2维平面来进行可视化,即花萼的长度宽度和花瓣的长度宽度这两张图。对比第一行和第三行图,我们发现,相比之下,第三行图中聚类的界限不是那么清晰,这是因为另外两个维度也起到了影响聚类的效果。同样,对比第二行和第四行的图,我们也能得到类似的结论。 在用四个特征共同聚类的时候,我们发现聚成三类的结果较为合理,每一簇的大小比较均匀。
原创力文档


文档评论(0)