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

发布时间:2021-11-10 16:37:40 作者:柒染
来源:亿速云 阅读:320

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

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降维分析有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。

推荐阅读:
  1. 如何使用sum()函数给列表降维
  2. 怎么使用Tensorflow中的降维函数tf.reduce_*

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

rtsne

上一篇:怎么实现数据库分区表+dblink异步调用并行

下一篇:Django中的unittest应用是什么

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》