TSNE降维
降维就是用2维或3维表示多维数据(彼此具有相关性的多个特征数据)的技术,利用降维算法,可以显式地表现数据。(t-SNE)t分布随机邻域嵌入 是一种用于探索高维数据的非线性降维算法。它将多维数据映射到适合于人类观察的两个或多个维度。
TSNE方法是一个很有趣的方法,暂时不做深入研究,将代码展示如下:
#用TSNE进行数据降维并展示聚类结果
tsne = TSNE(n_components=2, init='pca', random_state=501)
X_tsne = tsne.fit_transform(Dtest)
print("Org data dimension is {}. Embedded data dimension is {}".format(Dtest_tl.shape[-1], X_tsne.shape[-1]))
x_min, x_max = X_tsne.min(0), X_tsne.max(0)
X_norm = (X_tsne - x_min) / (x_max - x_min) # 归一化
#不同类别用不同颜色和样式绘图
d = np.where(ytest == 0) #找出聚类类别为0的数据对应的降维结果
plt.plot(X_norm[d, 0], X_norm[d, 1], 'g.')
d = np.where(ytest == 1) #找出聚类类别为0的数据对应的降维结果
plt.plot(X_norm[d, 0], X_norm[d, 1], 'r*')
plt.legend(['defect-free', 'defect'])
plt.title('t-SNE Virtualization')
plt.show()
参考1: TSNE降维可视化及原理代码编写: https://www.cnblogs.com/huadongw/p/4894607.html
参考2: TSNE概述: http://m.elecfans.com/article/692177.html
参考3: Tensorflow.js实现TSNE: https://cloud.tencent.com/developer/news/276900
参考4: 部分参数介绍: https://blog.csdn.net/qq_34107425/article/details/104012430
参考4: 图片tsne可视化 https://blog.csdn.net/lly1122334/article/details/90643054