6.2.1使用sklearn估计器构建据类模型
#使用sklearn估计器构建K-Means聚类模型
from sklearn.datasets import load_iris
from sklearn.preprocessing import MinMaxScaler
from sklearn.cluster import KMeans
iris=load_iris()
iris_data=iris['data']
iris_target=iris['target']
iris_names=iris['feature_names']
scale=MinMaxScaler().fit(iris_data)#训练规则
iris_datascale=scale.transform(iris_data)#应用规则
kmeans=KMeans(n_clusters=3,random_state=123).fit(iris_datascale)#构建并训练模型
print('构建的K-Means模型为:\n',kmeans)
result=kmeans.predict([[1.5,1.5,1.5,1.5]])
print('花瓣花萼长度宽度全为1.5的鸢尾花预测类别为:',result[0])
#聚类结果可视化
import pandas as pd
from sklearn.mainfold import TSNE
import matplotlib.pyplot as plt
#使用TSNE进行数据降维,降成两维
tsne=TSNE(n_components=2,init='random',random_state=177).fit(iris_data)
df=pd.DataFrame(tsne.embedding_)#将原始数据转换为DataFrame
df['labels']=kmeans.labels_#将聚类结果存储进df数据表
#提取不同标签的数据
df1=df[df['labels']==0]
df2=df[df['labels']==1]
df3=df[df['labels']==2]
#绘制图形
fig=plt.figure(figsize(9,6))
#用不同的颜色表示不同数据
plt.plot(df1[0],df1[1],‘bo’,df2[0],df2[1],'r*',df3[0],df3[1],'gD')
plt.savefig('E:\大三上\张宇萌\实习任务安排(2019-10-17)\6.2.png')
plt.show()