t-SNE(t-distributed stochastic neighborembedding)是用于降维的一种无监督机器学习算法,由 Laurens van der Maaten 和 Geoffrey Hinton在08年提出。t-SNE 作为一种非线性降维算法,非常适用于高维数据降维到2维或者3维,便于进行可视化。与PCA比较就可以很显然的看出,经过PCA处理过后的结果能够得知每一个成分的方差贡献度(解释方差),然后t-SNE仅仅是基于相似度进行判定,没办法从其结果推断类似的信息。
接下来我们看下在R中的实现过程,首先我们需要安装包Rtsne。
install.packages("Rtsne")
我们直接看下实例:
library(Rtsne)#数据的载入iris_unique # 去除重复的值iris_matrix as.matrix(iris_unique[,X ##如果数据属性差异太大
##运行模型set.seed(42)#保证数据结果一致性tsne_out FALSE,perplexity=plot(tsne_out$Y,col=iris_unique$Species,asp=1)