一致性聚类的最佳K值如何选,你真的搞清楚了吗?

欢迎关注”生信修炼手册”!

聚类,是机器学习领域的一大研究方向,属于无监督学习,其算法也是层出不穷,多种多样,在本公众号之前的文章中也详细介绍了各种聚类算法,感兴趣的读者可以搜索之前的文章进行查看。

将聚类算法应用于基因表达谱数据,来挖掘其中有价值的生物学信息,是非常典型的一类机器学习算法在生物学领域的应用。本文要介绍的一致性聚类,就是这样的一种聚类算法, 这种方法在癌症基因组学中广受欢迎,主要用于发现和识别新的分子亚型。

一致性聚类,即consensus  clustering, 并不是像K-means聚类一样的一种特定的聚类算法,而是一种算法框架,是一种思维方法,通过这套方法可以解决聚类分析中最让人头疼的两个问题

1. 聚类的个数

2. cluster成员的确定

现有的算法,比如k-means等算法,要求事先指定cluster个数K, 也有不需要事先指定K的算法,比如层次聚类算法,但是这些算法往缺乏稳定性,不同的初始点的选择,不同的K值的设定,会产生不同的聚类结果,让我们非常困惑,不知道究竟该用哪一套分析结果,而一致性聚类就是为了解决这两个问题所提出来的一种行之有效的算法,该算法的文献链接如下

https://link.springer.com/content/pdf/10.1023/A:1023949509487.pdf

该算法基于重复抽样和多次迭代的聚类来实现,其伪代码如下

一致性聚类的最佳K值如何选,你真的搞清楚了吗?_第1张图片

对于给定的输入数据,我们首先需要确定以下几个因素

1. 聚类算法,比如层次聚类,还是k-means聚类

2. 抽样方法,通过从总体中抽样来构建每次迭代所用的样本集

3. 抽样的迭代次数H

4. 聚类个数K的迭代序列

你可能感兴趣的:(算法,聚类,python,机器学习,java)