自己写的一段代码,计算tsne 并可视化,用的是github 的 库 opentsne
############## tsne 计算并可视化 #####################
def visual_tsne(pred, label, num_class=4, img_name="tsne"):
"""参数解释
pred:预测得到的特征向量
label:标签
num_class:分类数
img_name: 保存的图片名
"""
# 安装这个包: pip install opentsne
pred = np.array(pred)
label = np.array(label)
my_x = np.empty(shape=(0, num_class))
my_y = np.empty(shape=(0))
for c in pred:
my_x = np.concatenate((my_x, c), axis = 0)
for c in label:
my_y = np.concatenate((my_y, c), axis = 0)
assert my_x.shape[0] == my_y.shape[0]
from openTSNE import TSNE
print("tsne 计算中,这个过程耗时较多,请等待------------")
embedding = TSNE().fit(my_x)
import matplotlib.pyplot as pyplot
pyplot.scatter(embedding[:, 0], embedding[:, 1], 20, my_y) # 20: 圆的大小, labels: 颜色
pyplot.savefig(img_name) # 保存图像
pyplot.show()
############## tsne 计算并可视化 #####################