问题
给定4X3维度的数据,我们想要在二维图上可视化,该怎么操作呢?
解决
我们可以通过调用sklearn中的tsne将给定的数据做降维操作,进而实现数据的可视化,如代码所示:
import numpy as np
from sklearn.manifold import TSNE
'''降维过程'''
X = np.array([[10, 56, 12], [80, 21, 92], [21, 30, 53], [11, 81, 15]]) # 数据(4X3)
labels = np.array([1, 0, 1, 1]) # 每一行数据对应的标签(例如二分类问题)
model = TSNE()
np.set_printoptions(suppress=True)
Y = model.fit_transform(X) # 将X降维(默认二维)后保存到Y中
'''可视化过程'''
from matplotlib import pyplot as plt![在这里插入图片描述](https://img-blog.csdnimg.cn/20190823204029967.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2dvc2xpbmU=,size_16,color_FFFFFF,t_70)
plt.scatter(Y[:,0], Y[:,1], 20, labels) # labels为每一行对应标签,20为标记大小
plt.savefig("transH.png") #保存图片
plt.show()
结果所示:黄点代表标签1,褐黑色代表标签0