[Python聚类] 用TSNE进行数据降维并展示聚类结果

聚类结果可视化工具TSNE

使用TSNE对KMeans聚类的结果以二维的方式展现出来。
接博客[Python聚类] K-Means聚类算法分类中的代码。

#-*- coding: utf-8 -*-
#接博客[Python聚类] K-Means聚类算法分类中的代码
from sklearn.manifold import TSNE

tsne = TSNE()
tsne.fit_transform(data_zs) #进行数据降维       
tsne = pd.DataFrame(tsne.embedding_, index = data_zs.index) #转换数据格式
>>>tsne.fit_transform(data_zs) #进行数据降维
array([[-26.155815  ,  -1.9875094 ],
       [ 12.832463  ,  25.537851  ],
       [  3.1898763 , -30.703415  ],
       ...,
       [  0.37199622,   2.2877667 ],
       [ -5.8555183 ,   7.3596044 ],
       [-11.370499  ,  12.9076395 ]], dtype=float32)

>>>tsne.head()
            0          1
Id
1  -26.155815  -1.987509
2   12.832463  25.537851
3    3.189876 -30.703415
4  -11.367756 -30.414982
5   14.839862  12.988671
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False #用来正常显示负号

#不同类别用不同颜色和样式绘图
d = tsne[r[u'聚类类别'] == 0]
plt.plot(d[0], d[1], 'r.')
d = tsne[r[u'聚类类别'] == 1]
plt.plot(d[0], d[1], 'go')
d = tsne[r[u'聚类类别'] == 2]
plt.plot(d[0], d[1], 'b*')
plt.show()

[Python聚类] 用TSNE进行数据降维并展示聚类结果_第1张图片

你可能感兴趣的:(Python)