利用kmeans聚类算法对五大联赛球队实力进行分析

利用聚类算法对五大联赛球队实力进行分析

 

  1. 数据整理

从给的5张表中把数据进行整理,把不必要的数据进行删除,如德甲、法甲等名字;排名、场次这两列对数据的聚合影响不大进行去除,同时将红/黄牌数据列进行剔除,最后保留的信息如图1所示。

把5张表分别做同样的处理保留在该Excel的Sheet2表中。

特别说明18-19年的数据中,德甲的数据都是总场数的数据需要转为场均数据,因为下面其他法甲等数据都是场均,做归一化时不会出错。

  1. 算法流程

Step1:读取Excel中的Sheet2表的数据,分别保存到数据集矩阵和队伍名字向量中,并把数据集矩阵中数据进行归一化操作。

Step2:根据需要的分类数k,在数据集中随机初始化k个中心点

Step3:计算数据集中的每一条数据到k个中心点的距离,进行初始化标签处理。

Step4:根据k个分类中的数据求其平均作为新的中心点

Step5:判断新的中心点是否与旧的中心点完全一致,不是的话,依次迭代3,4步骤,直到中心点完全一致,模型收敛。

 

输出相应k个类别中对应的球队数。

 

  1. 结果分析

其中k取值为3:

2015-2016年中:

第0类的球队有:

   门兴格拉德巴赫、沙尔克04、云达不莱梅、美因茨、柏林赫塔、尼斯、摩纳哥、雷恩、波尔多、蒙彼利埃、洛里昂、甘冈、毕尔巴鄂竞技、塞尔塔、埃瓦尔、巴伦西亚、格拉那达、都灵、森索罗、桑普多利亚

第1类的球队有:

   勒沃库森、斯图加特、沃尔夫斯堡、里昂、马赛、马德里竞技、巴列卡诺、塞维利亚、罗马、佛罗伦萨、拉齐奥、国际米兰、AC米兰、曼彻斯特城、托特纳姆热刺、莱切斯特城、阿森纳、西汉姆联、利物浦、切尔西、南安普敦、埃弗顿、曼彻斯特联

第2类的球队有:

   多特蒙德、拜仁慕尼黑、巴黎圣日尔曼、巴塞罗那、皇家马德里、那不勒斯、尤文图斯

 

2016-2017年中:

第0类的球队有:

   云达不莱梅、勒沃库森、科隆、门兴格拉德巴赫、美因茨、波尔多、蒙彼利埃、第戎、甘冈、洛里昂、巴伦西亚、埃瓦尔、毕尔巴鄂竞技、塞尔塔、森索罗、伯恩茅斯、水晶宫、莱切斯特城

第1类的球队有:

   拜仁慕尼黑、多特蒙德、摩纳哥、巴黎圣日尔曼、里昂、巴塞罗那、皇家马德里、那不勒斯、罗马、尤文图斯、托特纳姆热刺、切尔西、曼彻斯特城、利物浦、阿森纳、曼彻斯特联

第2类的球队有:

   RB莱比锡、霍芬海姆、沙尔克04、尼斯、马赛、马德里竞技、塞维利亚、皇家社会、比利亚雷亚尔、拉齐奥、国际米兰、都灵、佛罗伦萨、亚特兰大、AC米兰、埃弗顿

 

2017-2018年中:

第0类的球队有:

   拜仁慕尼黑、巴黎圣日尔曼、里昂、马赛、巴塞罗那、皇家马德里、拉齐奥、尤文图斯、那不勒斯、国际米兰、罗马、亚特兰大、AC米兰、曼彻斯特城、利物浦、阿森纳、托特纳姆热刺、曼彻斯特联、切尔西

第1类的球队有:

   西汉姆联、伯恩茅斯

第2类的球队有:

   霍芬海姆、多特蒙德、勒沃库森、RB莱比锡、沙尔克04、门兴格拉德巴赫、法兰克福、汉诺威96、柏林赫塔、摩纳哥、第戎、波尔多、尼斯、雷恩、甘冈、圣埃蒂安、皇家社会、巴伦西亚、皇家贝蒂斯、塞尔塔、马德里竞技、比利亚雷亚尔、赫罗纳、塞维利亚、桑普多利亚、佛罗伦萨、都灵、莱切斯特城、水晶宫

 

2018-2019和2019-2020年的数据分类如上面类似,下面分析主要以上三年来展开。

 

 

从原始数据上可以了解到球队“多特蒙德”是比较强的队伍,但是从三年数据的分析上可以看到,15-16属于2类,16-17属于1类,17-18属于2类,所以这也说明了数据的聚类形式是随机,自动聚类。

从原始数据上可以了解到球队“拜仁慕尼黑、巴黎圣日尔曼”等队伍在多年数据的分析中,经常分到一起,这也说明了这些队伍的实力相仿。

对于某一年份的数据集进行聚类时,如果某一分类的队伍较多,这也说明这一年中大多数球队的实力相当,比赛观赏性较高。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值