欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

强烈推荐 | 超easy K-means:入门级的聚类算法神器!

最编程 2024-02-22 10:06:23
...

中国男足近几年到底在亚洲处于几流水平?

 

各方对于目前中国男足在亚洲的地位各执一词,有人说中国男足亚洲二流,有人说三流,还有人说根本不入流。既然争论不能解决问题,我们就让数据告诉我们结果吧。

 

在《算法杂货铺——k均值聚类(K-means)》这篇文章中,作者用亚洲15支足球队从2005年到2010年间大型杯赛的战绩做了一个向量表,接着用k-means算法把球队归类,待结果已收敛时,得出最终结果:

 

亚洲一流:日本,韩国,伊朗,沙特

亚洲二流:乌兹别克斯坦,巴林,朝鲜

亚洲三流:中国,伊拉克,卡塔尔,阿联酋,泰国,越南,阿曼,印尼

 

看来数据告诉我们,说国足近几年处在亚洲三流水平真的是没有冤枉他们,至少从国际杯赛战绩是这样的。

 

其实,业务中也有很多用聚类分析的例子,比如,分析用户类型以使用不同的商业策略,或是分析商品相似度,从而可以用一些不同的销售策略,等等。

 

最近机器学习开始大火之后,很多人在问,“机器学习从什么开始学起?”“有什么学习路线图?”

 

根据N多大牛给出的建议,必须先搞定“两个K算法”,这两个算法就是k-均值算法和KNN算法。k-均值算法是非监督学习中最简单的聚类算法。

 

在实际业务面前,有些命题是需要从得到的训练集中进行“学习”,从而具备对未知数据进行分类的能力,例如挖掘固定人群在公共交通中的行为模式、基于短信文本内容挖掘垃圾短信及其变种、基于用电异常情况识别国家电网窃电用户等,所有的待挖掘数据都有一个已经存在的类别与之对应,这种提供带已知类别标记的训练数据的学习过程叫监督学习,这些场景通常都能够用分类算法来处理。

 

但是大部分时候上述条件是得不到满足的,比如上述判断国足水平的例子,以及分析用户类型、或者商品相似度。这些业务场景下,我们不关心某一类是什么,我们需要实现的目标是把相似的东西聚到一起,通常这时候就用到了聚类算法,相比于分类,它可以发现数据中未知的分类,识别数据对象的内在关系。

 

聚类算法已经被大家频繁的用于机器学习、数据挖掘和模式识别工作中,例如:模式识别中的语音识别、字符识别;机器学习中的图像分割;图像处理中的数据压缩、信息检索;以及数据挖掘、时空数据库应用、序列和异常数据分析等。此外,聚类还应用于统计科学、生物学、地质学、地理学以及市场营销、银行客户等级划分等方面。

 

k-means无疑是聚类算法中最简单、最好懂、最高效、最常见的,也是十大经典数据挖掘算法之一。

 

k-means算法的基本思想是:在空间中选几个点为聚类中心初始点,对最靠近它们的对象归类。通过迭代的方法,逐次更新各聚类中心的值,直至得到最好的聚类结果。

 

k-means算法的计算过程非常直观

1.从D中随机取k个元素,作为k个簇的各自的中心。

2.分别计算剩下的元素到k个簇中心的相异度,将这些元素分别划归到相异度最低的簇。

3.根据聚类结果,重新计算k个簇各自的中心,计算方法是取簇中所有元素各自维度的算术平均数。

4.将D中全部元素按照新的中心重新聚类。

5.重复第4步,直到聚类结果不再变化。

6.将结果输出。

 

k-means有着明显的优点

1.算法快速、简单;

2.当聚类是密集的,且类与类之间区别明显时,效果较好。

3.对大数据集有较高的效率并且是可伸缩性的;

4.时间复杂度近于线性,而且适合挖掘大规模数据集。

 

k-means使用的场景多到不限于

1.在大量文本中发现隐含的话题;

2.发现图像中包含的颜色种类;

3.从销售数据中发现不同特征顾客的分类

……

 

Reference

《算法杂货铺——k均值聚类(K-means)》

标题图来源dreamstime,画家Valeriy Kachaev作品

 

强裂推荐 | k-均值,最简单的聚类算法!_k-均值