t-SNE是一种非线性降维算法,非常适用于高维数据降维到2维或者3维,进行可视化。在实际中,t-SNE很少用于降维,主要用于可视化
t-SNE的作用
当构建一个预测模型时,第一步一般都需要理解数据,虽然搜索原始数据并计算一些基本的统计学数字特征(例如方差,因素之间的协方差等)有助于理解他,但没有什么是可以和图表可视化展示更为直观的。然而将高维数据拟合到一张简单的图标(降维)通常是非常困难的,这就是t-SNE发挥作用的地方
matlab:
1. 原始数据矩阵定义为train_X,则首先标准化矩阵 X = zscore(traun_X)
2. x = x' (矩阵的转置)
3. y = tsne(x)
4. gscatter(y(:,1),y(:,2),train_labels)