如何使用Rtsne包进行t-SNE降维分析-成都快上网建站

如何使用Rtsne包进行t-SNE降维分析

今天就跟大家聊聊有关如何使用Rtsne包进行t-SNE降维分析,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

成都创新互联是专业的阿尔山网站建设公司,阿尔山接单;提供成都网站建设、做网站,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行阿尔山网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

t-SNE降维算法是由机器学习领域的大牛在2008年提出的一种高效的降维算法,属于非线性降维算法的一种,相比之前常用的PCA算法,该算法更加的先进,应用的领域也非常的多,在单细胞转录组的数据分析中,t-SNE应用的更为广泛。

在cell ranger等专门的分析单细胞数据的软件包中,都提供了t-SNE降维和可视化分析,但是由于不同软件对于数据数据格式的要求不同,某些情况下,无法直接使用现有的软件包,比如我们可能只有一个基因在所有细胞中的表达量数据,此时无法直接导入cell ranger或者Seurat

由于软件接口设置的不同,为了更加灵活的进行数据分析,我们有必要掌握一些小而美的分析工具,单一的这些工具只能完成数据分析中的某一项内容,其功能的单一性,使得学习成本进一步降低,灵活性显著提升。

Rtsne就是一个专门进行t-SNE降维分析的R包,安装方式如下

install.packages("Rtsne")

只需要输入一个表达量的表格就可以了,每一行为一个细胞,每一列为一个基因,示意如下

如何使用Rtsne包进行t-SNE降维分析

基础的用法如下

tsne_out <- Rtsne(
  data,
  dims = 2,
  pca = FALSE,
  perplexity = 10,
  theta = 0.0,
  max_iter = 1000
)

dims参数设置降维之后的维度,默认值为2,perplexity参数的取值必须小于(nrow(data) - 1 )/ 3; theta参数取值越大,结果的准确度越低,默认值为0.5,max_iter参数设置最大迭代次数。

pca参数表示是否对输入的原始数据进行PCA分析,然后使用PCA得到的topN主成分进行后续分析,t-SNE算法的计算量是特别大的,对于维度较高的数据数据,先采用PCA降维可以有效提高运行的效率,默认采用top50的主成分进行后续分析,当然也可以通过initial_dims参数修改这个值。

运算完成之后,结果保存在tsne_out这个对象中

如何使用Rtsne包进行t-SNE降维分析

其中的Y就是降维之后的二维空间对应的数据点,可以根据这个值进行可视化,代码如下

plot(tsne_out$Y)

生成的图片如下

如何使用Rtsne包进行t-SNE降维分析

我们需要明白t-SNE只是一个降维算法,虽然它很先进,但是也只是能够将数据降低到二维或者三维空间,然后进行可视化的一个功能,对于细胞亚群的识别,本质是通过聚类分析来得到结果的,t-SNE只是能够更好的在低维空间展示聚类的结果而已,其他的降维算法也是同理。

看完上述内容,你们对如何使用Rtsne包进行t-SNE降维分析有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注创新互联行业资讯频道,感谢大家的支持。


网页标题:如何使用Rtsne包进行t-SNE降维分析
当前地址:http://kswjz.com/article/pdjhjg.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流