阅读前请看一下:我是一个热衷于记录的人,每次写博客会反复研读,尽量不断提升博客质量。文章设置为仅粉丝可见,是因为写博客确实花了不少精力。希望互相进步谢谢!!
一、背景描述
学习Kmeans算法时衍生出的一系列问题
二、阅读文献的建议
1、Kmeans的基本思想;sklearn.cluster.Kmeans()的参数、属性、方法说明;示例
数据集
代码
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
from sklearn.cluster import KMeans
filePath = 'F:/kdata.csv'
data_csv = pd.read_csv(filePath)
x = np.array(data_csv)[:,1:]
t = list(data_csv.iloc[0:0])[1:] #获取列标题
np.set_printoptions(suppress=True) #不使用科学计数法
est = KMeans(n_clusters=12,init='k-means++',n_init=20,max_iter=1000,
precompute_distances='auto') #构造聚类器
est.fit(x) #计算k-means聚类
kc = est.cluster_centers_ #计算质心
y_kmeans = est.predict(x) #给每个样本计算最接近的簇
appraise = est.inertia_ #计算每个点到其簇的质心距离之和
data_csv['cluster'] = est.labels_ #生成分类标签
print(y_kmeans,kc,'\n')
print(kc.shape,y_kmeans.shape,np.shape,'\n')
print(appraise)
data_csv.to_csv('F:/out.csv',index=1) #追加分类标签
data_kc = pd.core.frame.DataFrame(kc,columns=t)
data_kc.to_csv('F:/out_kc.csv') #保存质心
ax = plt.figure().add_subplot(111,projection='3d')
ax.scatter(x[:,0],x[:,1],x[:,2],c=y_kmeans,s=30,cmap='rainbow')
plt.show()
————————————————
版权声明:本文为CSDN博主「一洛玉壶冰」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/ynzzxc/article/details/118149191
4、由于里面涉及了监督学习与无监督学习,所以推荐两篇文章介绍监督与无监督学习的
码字不易,谢谢点赞!!!
码字不易,谢谢点赞!!!
码字不易,谢谢点赞!!!