Advertisement

r语言聚类分析_R语言实现tSNE聚类分析

阅读量:
3b2062b64552b5b0c2569cfde7c3e4c0.gif

该算法采用t-SNE(即t-分布的随机加权邻居嵌入)作为降维技术,在机器学习领域具有重要地位。由Laurens van der Maaten和Geoffrey Hinton于2008年首次提出。作为非线性降维方法之一,它特别适合将高维度数据降至二维或三维空间以实现可视化效果。与主成分分析法(PCA)相比可以看出,在这种情况下应用该算法时仅依据数据点间的相似度进行判断,并无法从中直接推导出相关模式的信息。

接下来我们看下在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)
8641a455f6c1182573e825cdd2e9ff20.png
复制代码
    ###标准化后tsne_out plot(tsne_out$Y,col=iris_unique$Species,asp=1)
edb3e732748f7200e8a724768f484f7e.png

当然,为了更加的美观,我们可以借助ggplot2包绘制结果。

复制代码
    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))
3c4faa5569f74fd69f2052582346f6c7.png

欢迎学习交流!

8885fe1b3660eac328280077dfc1e238.png
081ca52eb1f09f3e11e2c64a7f3b7e5c.png

全部评论 (0)

还没有任何评论哟~