如何使用python.plot()画简单的聚类结果图?

一、准备

1)需要安装matplotlib、numpy 、sklearn,可以参考博客

python3.4.3_win64安装pandas,matplotlib,scipy,scikit-learn
python3.4.3_64位下安装numpy-1.11.0

二、画图

import matplotlib.pyplot as plt
import numpy as np
from sklearn.cluster import KMeans
data = np.random.rand(100, 2) 
#生成一个随机数据,样本大小为100, 特征数为2(这里因为要画二维图,所以就将特征设为2,至于三维怎么画?
#后续看有没有机会研究,当然你也可以试着降维到2维画图也行)
estimator = KMeans(n_clusters=3)#构造聚类器,构造一个聚类数为3的聚类器
estimator.fit(data)#聚类
label_pred = estimator.labels_ #获取聚类标签
centroids = estimator.cluster_centers_ #获取聚类中心
inertia = estimator.inertia_ # 获取聚类准则的总和
mark = ['or', 'ob', 'og', 'ok', '^r', '+r', 'sr', 'dr', ', 'pr']
#这里'or'代表中的'o'代表画圈,'r'代表颜色为红色,后面的依次类推
color = 0
j = 0 
for i in label_pred:
    plt.plot([data[j:j+1,0]], [data[j:j+1,1]], mark[i], markersize = 5)
    j +=1
plt.show()

效果图:

如何使用python.plot()画简单的聚类结果图?_第1张图片

参考文献:

1、python中plot用法——线条、点、颜色
2、k-means+python︱scikit-learn中的KMeans聚类实现( + MiniBatchKMeans)

你可能感兴趣的:(python)