划分亚洲国家的三个足球梯队 您所在的位置:网站首页 亚洲足球有几个国家队 划分亚洲国家的三个足球梯队

划分亚洲国家的三个足球梯队

2024-07-15 22:15| 来源: 网络整理| 查看: 265

数据描述: id :国家对应id 国家:国家名称 2019年国际排名:2019 年国际足联的世界排名。 2018年世界杯:2018 年世界杯中,很多球队没有进入到决赛圈,所以只有进入到决赛圈的球队才有实际的排名。如果是亚洲区预选赛 12 强的球队,排名会设置为 40。如果没有进入亚洲区预选赛 12 强,球队排名会设置为 50。 2015年亚洲杯:真是排名。

在这里插入图片描述

1、获取数据:使用pandas读取数据 在这里插入图片描述 2、数据处理:归一化数据 在这里插入图片描述 3、模型训练:利用sklearn中的K-Means算法实现聚类,K=3 在这里插入图片描述在这里插入图片描述

4、模型可视化:利用matplotlib包中的方法画出三维图,并按照预测类别的不同,使用不同的颜色表示。 在这里插入图片描述

在这里插入图片描述

代码如下:

import pandas as pd data = pd.read_csv(r"D:/pyCharm/asina_football_data.csv") print(data.head()) train_x = data[[‘2019年国际排名’, ‘2018年世界杯’, ‘2015年亚洲杯’]] df = pd.DataFrame(train_x)

from sklearn import preprocessing min_max_scaler=preprocessing.MinMaxScaler() train_x=min_max_scaler.fit_transform(train_x)

from sklearn.cluster import KMeans kmeans = KMeans(n_clusters=3) kmeans.fit(train_x) predict_y = kmeans.predict(train_x) result = pd.concat((data,pd.DataFrame(predict_y)),axis=1) result.rename({0:u’梯队编号’},axis=1,inplace=True) #print(result.head()) print("----------------------------------------------------") tx = result[[‘国家’,‘梯队编号’]] print(tx.head())

from mpl_toolkits.mplot3d import Axes3D import matplotlib.pyplot as plt import matplotlib font = {‘family’: ‘MicroSoft Yahei’, ‘weight’: ‘bold’, ‘size’: 10} matplotlib.rc(“font”, **font) xs = data.iloc[:,2] ys = data.iloc[:,3] zs = data.iloc[:,4] fig = plt.figure() ax=Axes3D(fig) name = data.iloc[:,1] for label,x,y,z in zip(name,xs,ys,zs): ax.scatter(x,y,z) ax.text(x, y, z, label) cValue = [‘r’,‘y’,‘g’,‘b’,‘r’,‘y’,‘g’,‘b’,‘r’] ax.set_xlabel(‘2019年国际排名’) ax.set_ylabel(‘2018年世界杯’) ax.set_zlabel(‘2015年亚洲杯’) plt.show()



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有