机器学习实战2-聚类算法分析亚洲足球梯队

大家好,我是微学AI,今天给大家带来机器学习实战案例,分析亚洲足球梯队。2022年卡塔尔世界杯将在本月进行,不到半个月就开幕了,本届世界杯通过预选赛已选出32支球队。

2022卡塔尔世界杯决赛圈名单如下,各大州的分布:

欧洲(13):比利时、克罗地亚、丹麦、英国、法国、德国、荷兰、塞尔维亚、西班牙、瑞士、威尔士、波兰、葡萄牙。

亚洲(6):卡塔尔、伊朗、日本、韩国、沙特阿拉伯、澳大利亚。

南美洲(4):巴西、阿根廷、乌拉圭、厄瓜多尔。

非洲(5):塞内加尔、突尼斯、摩洛哥、喀麦隆、加纳。

北美和加勒比海地区(4):美国、加拿大、墨西哥、哥斯达黎加。

遗憾还是没有看到国足的身影,那只能看看国足在亚洲处于哪个梯队。

下面是详细的代码介绍

一、前期工作

1. 导入库包

from sklearn.cluster import KMeans
from sklearn import preprocessing
import pandas as pd
import numpy as np

2.导入数据

# 数据加载
data = pd.read_csv('team_cluster_data.csv', encoding='gbk')
train_x = data[["2019国际排名","2018世界杯排名","2015亚洲杯排名"]]

数据样例:

机器学习实战2-聚类算法分析亚洲足球梯队_第1张图片

3.聚类算法

kmeans = KMeans(n_clusters=3)
# 规范化到 [0,1] 空间
min_max_scaler=preprocessing.MinMaxScaler()
train_x=min_max_scaler.fit_transform(train_x)

predict_y = kmeans.fit_predict(train_x)
# 合并聚类结果,插入到原数据中
result = pd.concat((data,pd.DataFrame(predict_y)),axis=1)
result.rename({0:u'聚类结果'},axis=1,inplace=True)
print(result)

4.运行结果

 国家  2019国际排名  2018世界杯排名  2015亚洲杯排名  聚类结果
0       中国        73         40          7     0
1       日本        60         15          5     2
2       韩国        61         19          2     2
3       伊朗        34         18          6     2
4       沙特        67         26         10     2
5      伊拉克        91         40          4     0
6      卡塔尔       101         40         13     1
7      阿联酋        81         40          6     0
8   乌兹别克斯坦        88         40          8     0
9       泰国       122         40         17     1
10      越南       102         50         17     1
11      阿曼        87         50         12     1
12      朝鲜       110         50         14     1
13      印尼       164         50         17     3
14      澳洲        40         30          1     2
15     叙利亚        76         40         17     1
16      约旦       118         50          9     0
17     科威特       160         50         15     3

Process finished with exit code 0

聚类结果数值发现:

(数值2)第一梯队:日本、韩国、 伊朗、沙特、澳洲

(数值0)第二梯队:中国、伊拉克、阿联酋、乌兹别克斯坦、约旦

(数值1)第三梯队:卡塔尔、泰国、越南、阿曼、朝鲜

(数值3)第四梯队:印尼、科威特

国足属于第二梯队,当然这个数值分类还是随着国际比赛是时刻变化的。

 有技术交流可以私信哦。

你可能感兴趣的:(机器学习实战项目,聚类,算法)