同为降维工具,二者的主要区别在于,
- 所在的包不同(也即机制和原理不同)
- from sklearn.decomposition import PCA
- from sklearn.manifold import TSNE
- 因为原理不同,导致,tsne 保留下的属性信息,更具代表性,也即最能体现样本间的差异;
- TSNE 运行极慢,PCA 则相对较快;
因此更为一般的处理,尤其在展示(可视化)高维数据时,常常先用 PCA 进行降维,再使用 tsne:
data_pca = PCA(n_components=50).fit_transform(data)
data_pca_tsne = TSNE(n_components=2).fit_transform(data_pca)