,,python利用K-Means算法实现对数据的聚类案例详解

,,python利用K-Means算法实现对数据的聚类案例详解

本文主要介绍python使用K-Means算法对数据进行聚类。本文通过一个案例进行了非常详细的讲解,对大家的学习或者工作都有一定的参考价值。有需要的朋友可以参考一下。

目的是检测收集数据中的异常值。因此,很明显,在这种情况下有两个集群:正常数据和异常数据。

1、安装相应的库

导入matplotlib.pyplot,因为plt #用于可视化。

从sklearn.cluster导入kmeans #用于聚类。

导入pandas,因为pd #用于读取文件。

2、实现聚类

2.1 读取数据并可视化

#读取本地数据文件

df=pd.read_excel('./data/output3.xls ',header=0)

本实验选取温度CO2作为二维数据,其中温度包含异常数据。

Plt.scatter(df['照明'],df ['CO2'],线宽=1,alpha=0.8)

PLT . RC params[' font . sans-serif ']=[' sim hei ']#用于正常显示中文标签V。

Plt.xlabel(“照明”)

plt.ylabel('CO2 ')

plt.grid(color='#95a5a6 ',linestyle=' -',linewidth=1,alpha=0.4)

plt.show()

2.2 K-means聚类

将要聚合的类别数设置为2。

Data=df[[' light ',' CO2']] #从原始数据中选择这两项

estimator=k means(n _ clusters=2)#构造一个聚类

Estimator.fit(data) #将数据引入聚类模型

获取聚类中心和聚类标签的值。

Label_pred=estimator.labels_ #获取聚类标签

centers _=estimator . cluster _ centers _ #获取聚类中心

以及输出标签0和标签1的聚类数据。

x0=数据[label_pred==0]

x1=数据[label_pred==1]

Plt.scatter(x0['照明'],x0 ['CO2'],c='红色',线宽=1,alpha=0.8,标记=' o ',标签='标签10 ')

Plt.scatter(x1[' light'],x1 ['CO2'],c=' green ',线宽=1,alpha=0.8,marker=' ',label=' label1 ')

plt.grid(c='#95a5a6 ',linestyle=' -',linewidth=1,alpha=0.4)

plt .图例()

plt.show()

附上所有代码。

将matplotlib.pyplot作为plt导入

从sklearn.cluster导入KMeans

进口熊猫作为pd

df=pd.read_excel('./data/output3.xls ',header=0)

Plt.scatter(df['照明'],df ['CO2'],线宽=1,alpha=0.8)

PLT . RC params[' font . sans-serif ']=[' sim hei ']#用于正常显示中文标签V。

Plt.xlabel(“照明”)

plt.ylabel('CO2 ')

plt.grid(color='#95a5a6 ',linestyle=' -',linewidth=1,alpha=0.4)

plt.show()

数据=df[['照明','二氧化碳']]

estimator=k means(n _ clusters=2)#构造一个聚类

Estimator.fit(数据)#聚类

Label_pred=estimator.labels_ #获取聚类标签

centers _=estimator . cluster _ centers _ #获取聚类结果

# print('聚类标签',label_pred)

# print('聚类结果',中心_)

# predict=estimator . predict([[787.75862069,1505]]) #测试新的数据聚类结果

#打印(预测)

x0=数据[label_pred==0]

x1=数据[label_pred==1]

Plt.scatter(x0['照明'],x0 ['CO2'],c='红色',线宽=1,alpha=0.8,标记=' o ',标签='标签10 ')

Plt.scatter(x1[' light'],x1 ['CO2'],c=' green ',线宽=1,alpha=0.8,marker=' ',label=' label1 ')

plt.grid(c='#95a5a6 ',linestyle=' -',linewidth=1,alpha=0.4)

plt .图例()

plt.show()

这就是关于python的K-Means数据聚类算法的文章。关于Python的K-means算法数据聚类的更多信息,请搜索我们之前的文章或者继续浏览下面的相关文章。希望大家以后能多多支持我们!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: