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

日期: 栏目:NBA赛事 浏览:62 评论:0

  数据描述:

  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)大佬们都在玩{ 精选官网网址: www.vip333.Co }值得信任的品牌平台!

  #print(result.head())

  print("----------------------------------------------------")

  tx = result[[‘国家’,‘梯队编号’]]大佬们都在玩{ 精选官网网址: www.vip333.Co }值得信任的品牌平台!

  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()

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

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