【问题标题】:What is the right number of clusters for gene expression data using different methods?使用不同方法的基因表达数据的正确聚类数是多少?
【发布时间】:2019-11-10 10:41:37
【问题描述】:

我有一个标准化的基因表达数据,我想为其找到最佳聚类数。准备好数据后使用mclust包,

我正在使用以下方法对数据进行排名。

ranked.exprs <- probe_ranking(input=exp_file,
    probe_number=2000, 
    probe_num_selection="Fixed_Probe_Num",
    data.exp=genes, 
    method="SD_Rank")

使用

#Calculate number of clusters 
cluster_num <- number_clusters(data.exp=genes, Fixed=NULL,
    gap_statistic=TRUE)
# I get 8 

#checking silhouette values for kmeans
resukm <-fviz_nbclust(ranked.exprs, FUNcluster = kmeans, method = c("silhouette"), diss = NULL, k.max = 10, nboot = 10,
  verbose = interactive(), barfill = "steelblue", barcolor = "steelblue",
  linecolor = "steelblue", print.summary = TRUE)
#results to 2 clusters

#running the gap statistic using hierarchical clustering 
gap_stat <- clusGap(genes, FUN=hcut, K.max = 10, B = 50)
#results to 2 clusters

#checking silhouette values for hierarchical clustering 
resuhie <-fviz_nbclust(genes, FUNcluster = hcut, method = c("silhouette"), diss = NULL, k.max = 10, nboot = 10,
  verbose = interactive(), barfill = "steelblue", barcolor = "steelblue",
  linecolor = "steelblue", print.summary = TRUE)
#results to 2 clusters

得到两个不同的数字 8 和 2 的原因是什么?我的数据也包含缺失值。

【问题讨论】:

    标签: r cluster-analysis


    【解决方案1】:

    首先,没有理由假设方法 A 和 B 的最佳数量相同。

    其次,这些度量只是启发式的,因此它们可能会给出不同的值。

    因此,如果您有 4 个不同的值,我不会感到惊讶!

    然而,这些结果可能都不是很好。因为这些方法和措施是针对不同的数据设计的,而不是针对基因表达数据。

    【讨论】:

    • 我如何知道哪种方法适合我的数据集?我尝试使用Nbclust() 函数用不同的方法计算簇数,并使用多数规则来决定哪个数字是正确的,但它对我的数据不起作用,我得到了 TSS 矩阵的错误不确定或缺失值太多。我需要使用我的数据集中的所有基因,所以我不想对我的数据进行子集化。你有什么建议?如果我们想使用多数规则,有什么方法可以找到正确的方法或使 Nbclust 工作?
    • 您必须根据他们的理论选择方法,是否符合您的要求和数据属性。对于基因,您可能会发现双聚类更合适。
    猜你喜欢
    • 2021-02-08
    • 2020-04-08
    • 1970-01-01
    • 2016-09-01
    • 2017-08-01
    • 2020-04-23
    • 2014-05-22
    • 2020-02-21
    • 1970-01-01
    相关资源
    最近更新 更多