给你的UMAP瘦身
挖掘到了一个段子手学徒,总是给我惊喜。把枯燥无味的知识点讲解的让人捧腹大笑!
你有没有因为单细胞聚类结果混沌不清而惆怅!
你有没有因为找不到亚群之间的边界而皱眉!
不要998,不要888,也不要688!在这里,就在这里!只需要两个参数。
UMAP的出现,已经让大家从tSNE的一团麻中解脱了出来,但是仍然会面对一些UMAP计算后还是混沌的结果,就像下面这个图一样,它分开了,但是感觉又没有完全分开,一时间还以为是tSNE的结果(不是),这时候温柔大方的师姐,提供了一条路子,帮它体面了一下
这个参数就是RunUMAP() 自带的参数,修改之后是 :
sce.all <- RunUMAP(sce.all, dims = 1:30, min.dist = 0.01, n.neighbors = 4L)
其对应的结果是这样的:
啪的一下,就瘦了,很快啊!
通过上面的代码可以知道实际就是多了两个参数, min.dist 和 n.neighbors,首先来看一下UMAP官方是如何解释这两个参数的:
1、min-dist, the desired separation between close points in the embedding space
2、n, the number of neighbors to consider when approximating the local metric
一个是亚群内相邻两个点的期望距离,另一个是局部尺度下的邻近分群的数量,在分析中,这两个参数被默认设置为 min.dist = 0.3 和 n.neighbors = 30L ,如果当我们的结果相对模糊,可以根据实际情况调整这两个参数,UMAP官方也给出了一些实例来说明这个问题:
短时间的暴瘦带来的伤害肯定是无法忽视的,如同我提供的两个图例中的结果,肉眼可见的出现了很多的小亚群,虽然大的亚群的整体结构没有变化,但是新的结果明显已经支棱起来了。
最后,请根据实际情况调整,文中示例已经调整到了一个相对极端的数值了。
文末友情推荐
做教学我们是认真的,如果你对我们的马拉松授课(直播一个月互动教学)有疑问,可以看完我们从2000多个提问互动交流里面精选的200个问答!
与十万人一起学生信,你值得拥有下面的学习班: