您的位置:首页 > 其它

K-means对中国足球进行定位

2017-12-18 08:47 225 查看

1.导入模块

import numpy as np
import pandas as pd
from pandas import Series,DataFrame

import matplotlib.pyplot as plt
%matplotlib inline

#k-means学习模型
from sklearn.cluster import KMeans

#3D图像模块
from mpl_toolkits.mplot3d import Axes3D


2.获取训练数据

#从本地载入数据
samples = pd.read_csv('../day12/K-means/data/AsiaZoo.txt')
samples.columns = ["国家","2006世界杯","2010世界杯","2007亚洲杯"]
X_train = samples[["2006世界杯","2010世界杯","2007亚洲杯"]]
X_train


数据如下:



3.创建K-means模型

kmeans = KMeans(n_clusters=3)


4.训练数据

kmeans.fit(X_train)


5.对数据进行聚类判断

y_pre = kmeans.predict(X_train)


6.根据聚类结果对原数据进行分类

#合并分类结果与原数据
temp = pd.concat((samples,DataFrame(y_pre)),axis=1)
temp.rename({0:'target'},axis=1,inplace=True)
temp




7.绘图展示聚类结果

plt.figure(figsize=(8,6))
ax = plt.subplot(projection = '3d')
ax.set_xlabel('2006-world-cup',color = 'orange',fontsize = 16)
ax.set_ylabel('2010-world-cup',color = 'orange',fontsize = 16)
ax.set_zlabel('2007-asia-cup',color = 'orange',fontsize = 16)

# 绘制3d空间的点
ax.scatter3D(samples['2006世界杯'],samples['2010世界杯'],samples['2007亚洲杯'],c = y_pre,s=90,alpha = 1)


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  k均值算法