【学习笔记】人民邮电出版社《Python机器学习》学习记录。
K-means算法思想不再赘述。以下程序调用了机器学习的第三方库scikit-learn,使用该库,方便简洁。
import pandas
from sklearn.cluster import KMeans
import matplotlib.pyplot as plt
from pylab import rcParams
rcParams['figure.figsize'] = 10,8
clustering_data_1 = pandas.read_csv('clustering_data_1.csv') #加载csv格式的数据
plt.scatter(clustering_data_1['X'], clustering_data_1['Y']) #绘制原始数据
kmeans = KMeans(n_clusters = 3) #创建一个K-均值聚类对象
kmeans.fit(clustering_data_1) #拟合算法
cluster_assignment = kmeans.predict(clustering_data_1) #获取聚类分配
plt.scatter(clustering_data_1['X'], clustering_data_1['Y'], c=cluster_assignment) #绘制聚类结果
如果要改变类别显示颜色,代码如下:
cluster_assignment = cluster_assignment.astype(str) #聚类分配,重新设置类别颜色
cluster_assignment[cluster_assignment == '0'] = 'b'
cluster_assignment[cluster_assignment == '1'] = 'g'
cluster_assignment[cluster_assignment == '2'] = 'r'
plt.scatter(clustering_data_1['X'], clustering_data_1['Y'], c=cluster_assignment) #绘制聚类结果
绘图结果: