如何使用ggplot绘制T-SNE聚类

时间:2017-06-30 02:05:53

标签: r ggplot2 cluster-analysis tidyverse

以下是使用IRIS数据的t-SNE代码:

library(Rtsne)
iris_unique <- unique(iris) # Remove duplicates
iris_matrix <- as.matrix(iris_unique[,1:4])
set.seed(42) # Set a seed if you want reproducible results
tsne_out <- Rtsne(iris_matrix) # Run TSNE


# Show the objects in the 2D tsne representation
plot(tsne_out$Y,col=iris_unique$Species)

产生这个情节:

enter image description here

如何使用GGPLOT制作这个数字?

1 个答案:

答案 0 :(得分:9)

我认为最简单/最干净的ggplot方法是在data.frame中存储您需要的所有信息,然后绘制它。从您上面粘贴的代码中,这应该有效:

library(ggplot2)
tsne_plot <- data.frame(x = tsne_out$Y[,1], y = tsne_out$Y[,2], col = iris_unique$Species)
ggplot(tsne_plot) + geom_point(aes(x=x, y=y, color=col))

enter image description here

我使用常规plot功能的情节是:

plot(tsne_out$Y,col=iris_unique$Species)

enter image description here