使用sklearn估计器构建K-Means聚类模型

Posted xiaoyh

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用sklearn估计器构建K-Means聚类模型相关的知识,希望对你有一定的参考价值。

实例要求:以sklearn库自带的iris数据集为例,使用sklearn估计器构建K-Means聚类模型,并且完成预测类别功能以及聚类结果可视化。

实例代码:

import pandas as pd
import matplotlib.pyplot as plt
from sklearn.datasets import load_iris
from sklearn.preprocessing import MinMaxScaler
from sklearn.cluster import KMeans
from sklearn.manifold import TSNE

‘‘‘  构建K-Means模型  ‘‘‘
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模型为:
,kmeans)

result = kmeans.predict([[1.5,1.5,1.5,1.5]])
print(花瓣花萼长度宽度全为1.5的鸢尾花预测类别为:,result[0])

‘‘‘  聚类结果可视化  ‘‘‘
tsne = TSNE(n_components=2,init=random,random_state=177).fit(iris_data)    # 使用TSNE进行数据降维,降成两维
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.show()                          # 显示图片

实例结果:

  构建的K-Means模型为:

  技术分享图片

  花瓣预测结果:

  技术分享图片

  聚类结果可视化:

  技术分享图片

 

以上是关于使用sklearn估计器构建K-Means聚类模型的主要内容,如果未能解决你的问题,请参考以下文章

机器学习sklearn(二十八): 模型评估量化预测的质量聚类指标/虚拟估计

K-Means 聚类 超参数调优

自定义 k-means 聚类 GridSearchCV

机器学习之SKlearn(scikit-learn)的K-means聚类算法

Python构建基于elkan优化算法的K-Means聚类模型

使用 sklearn_pandas 查找 k-means 聚类最重要的词