本文主要是介绍[Python聚类] 用TSNE进行数据降维并展示聚类结果,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
聚类结果可视化工具TSNE
使用TSNE对KMeans聚类的结果以二维的方式展现出来。
接博客[Python聚类] K-Means聚类算法分类
中的代码。
#-*- coding: utf-8 -*-
#接博客[Python聚类] K-Means聚类算法分类中的代码
from sklearn.manifold import TSNEtsne = 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进行数据降维并展示聚类结果的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!