R语言机器学习之聚类算法t-SNE

t-SNE是常见的一种聚类方法,用于数值型变量的降维与聚类可视化。在生物信息、医疗等领域得到广泛应用。其主要思想是将高维分布点的距离,用条件概率来表示相似性。


下面直接上t-SNE聚类的R代码。

#首先安装Rtsne R包

install.packages(“Rtsne”)

library(“Rtsne”)

#导入数据集

data <- read.csv("data",header = T)

cl <- data.frame()

#查看不同困惑度x下的t-SNE聚类效果

for (i in 1:50) {
  set.seed(i)
  tsne_i <- Rtsne(data, dims = 2, perplexity=i, verbose=F, pca = T, max_iter = 500,check_duplicates = F)
  set.seed(i)
 #用K-means进行二次聚类,设定K-means簇的个数为10 

cl_i <- kmeans(tsne_i$Y, centers = 10, nstart = 3,algorithm="Lloyd")  # k = 10 
 

#将聚类结果存为PNG图片格式,大小为800*600

png(file = paste("path",1,"tsne_kmeans.png"),width = 800, height = 600)
  plot(tsne_i$Y, t = "n")

#以数据标签来显示聚类结果,以不同颜色区分簇
  text(tsne_i$Y,labels=row.names(data),font =1, cex = 0.8,col = cl_i$cluster) 
  dev.off()
}  

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值