R PCA与t-SNE用于数据可视化:是否有一种方法可以使用t-SNE进行加载绘图?

R PCA与t-SNE用于数据可视化:是否有一种方法可以使用t-SNE进行加载绘图?,r,data-visualization,pca,R,Data Visualization,Pca,在过去,我习惯于使用PCA和加载图来使用stats::prcomp和ggbiplot可视化数据。像这样: 我最近被介绍到(游戏后期),这在数据的简化分析和探索模式方面是革命性的 虽然t-SNE在我的数据中提取了PCA无法清楚区分的聚类,但缺点是没有加载图来理解哪些特征影响空间中的每个聚类 有没有办法让t-SNE形成某种加载图?或者是否有任何与t-SNE相关的补充方法可以使用?我真的很想在PCA图上保留t-SNE图,以便可视化特定的数据集,但如果没有加载图,信息就没有那么丰富了 有什么想法吗?虚

在过去,我习惯于使用PCA和加载图来使用stats::prcomp和ggbiplot可视化数据。像这样:

我最近被介绍到(游戏后期),这在数据的简化分析和探索模式方面是革命性的

虽然t-SNE在我的数据中提取了PCA无法清楚区分的聚类,但缺点是没有加载图来理解哪些特征影响空间中的每个聚类

有没有办法让t-SNE形成某种加载图?或者是否有任何与t-SNE相关的补充方法可以使用?我真的很想在PCA图上保留t-SNE图,以便可视化特定的数据集,但如果没有加载图,信息就没有那么丰富了

有什么想法吗?虚拟数据如下:

library(FD)
library(ggbiplot)

# generate random data
a <- sample(x = 1:5, size = 100, replace = TRUE)
b <- sample(x = 1:5, size = 100, replace = TRUE)
c <- sample(x = 1:5, size = 100, replace = TRUE)
d <- sample(x = 1:5, size = 100, replace = TRUE)
e <- sample(x = 1:5, size = 100, replace = TRUE)
f <- sample(x = 1:5, size = 100, replace = TRUE)
g <- sample(x = 1:5, size = 100, replace = TRUE)

# make ordinal
a <- ordered(a, levels = 1:5)
b <- ordered(b, levels = 1:5)
c <- ordered(c, levels = 1:5)
d <- ordered(d, levels = 1:5)
e <- ordered(e, levels = 1:5)
f <- ordered(f, levels = 1:5)
g <- ordered(g, levels = 1:5)

#as dataframe
table <- as.data.frame(cbind(a,b,c,d,e,f,g))


#PCA
pca <- prcomp(table,center = TRUE,scale. = TRUE)
ggbiplot(pca) 

#t-SNE
gower_dist <- daisy(table, metric = "gower")

tsne_obj <- Rtsne(gower_dist, is_distance = TRUE)

tsne_data <- tsne_obj$Y %>%
  data.frame() %>%
  setNames(c("X", "Y")) 

ggplot(aes(x = X, y = Y), data = tsne_data) +
  geom_point()

库(FD)
图书馆(双标段)
#生成随机数据

简言之:不,t-SNE不是这样工作的。t-SNE中的单个低维轴没有(容易)解释的含义。看看以下关于交叉验证的优秀帖子:,[继续]我不知道你的工作方向,但在我的领域,t-SNE图在我看来既是诅咒也是祝福。它们可以在保存和可视化邻里结构方面做得非常出色,生成高维数据的美丽图;同时,维度的可解释性也丧失了,重要的是要记住,t-SNE首先是一个相当直观的工具。生态学。到目前为止,t-SNE揭示了我尝试过的数据集数量有限。它像主成分分析一样保留了组的聚类,但以比主成分分析更清晰的可视化方式分离数据的结构。唯一的缺点是缺少加载图或解释驱动程序的方法。非常感谢!