今天就跟大家聊聊有关如何使用Rtsne包进行t-SNE降维分析,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
t-SNE降维算法是由机器学习领域的大牛在2008年提出的一种高效的降维算法,属于非线性降维算法的一种,相比之前常用的PCA算法,该算法更加的先进,应用的领域也非常的多,在单细胞转录组的数据分析中,t-SNE应用的更为广泛。
在cell ranger等专门的分析单细胞数据的软件包中,都提供了t-SNE降维和可视化分析,但是由于不同软件对于数据数据格式的要求不同,某些情况下,无法直接使用现有的软件包,比如我们可能只有一个基因在所有细胞中的表达量数据,此时无法直接导入cell ranger
或者Seurat
。
由于软件接口设置的不同,为了更加灵活的进行数据分析,我们有必要掌握一些小而美的分析工具,单一的这些工具只能完成数据分析中的某一项内容,其功能的单一性,使得学习成本进一步降低,灵活性显著提升。
Rtsne
就是一个专门进行t-SNE降维分析的R包,安装方式如下
install.packages("Rtsne")
只需要输入一个表达量的表格就可以了,每一行为一个细胞,每一列为一个基因,示意如下
基础的用法如下
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
这个对象中
其中的Y
就是降维之后的二维空间对应的数据点,可以根据这个值进行可视化,代码如下
plot(tsne_out$Y)
生成的图片如下
我们需要明白t-SNE只是一个降维算法,虽然它很先进,但是也只是能够将数据降低到二维或者三维空间,然后进行可视化的一个功能,对于细胞亚群的识别,本质是通过聚类分析来得到结果的,t-SNE只是能够更好的在低维空间展示聚类的结果而已,其他的降维算法也是同理。
看完上述内容,你们对如何使用Rtsne包进行t-SNE降维分析有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。