【问题标题】:Cluster analysis in R: How can I get deterministic results from pvclust?R 中的聚类分析:如何从 pvclust 获得确定性结果?
【发布时间】:2014-01-19 13:12:49
【问题描述】:

pvclust 非常适合在 R 中进行聚类分析。但是,当它作为批处理操作的一部分运行时,对于相同的数据得到不同的结果是很烦人的。显然,同一数据有许多“正确”的聚类,似乎pvclust 使用了一些随机性来确定特定运行的聚类。但是有什么方法可以得到确定性的结果吗?

我希望能够提供一个最小的、可重复的分析包:数据加上一个 R 脚本,以及一个单独的书面文档,其中包含我对聚类的解释。然后其他人可以添加到分析中,例如通过改变情节的美学外观。现在,当其他人运行包含pvclust 的脚本时,解释将始终与其他人得到的不同步。

【问题讨论】:

    标签: r random cluster-analysis hierarchical-clustering pvclust


    【解决方案1】:

    我只使用了 k 手段。在那里,我必须将“运行”或迭代次数设置为比默认值更高的值,以在连续运行时获得相同的 custers。

    【讨论】:

    • 很好的观察——通过足够的迭代,pvclust 将耗尽搜索空间并始终收敛于“最终”解决方案。但是对于大型数据集,可能需要很长时间,并且找到正确的迭代次数是一个反复试验的过程。无论所需的迭代次数如何,设置随机种子都会产生相同的结果。
    【解决方案2】:

    不仅用于聚类分析,当涉及随机性时,您可以修复随机数生成器,以便始终获得相同的结果。

    试试:

    set.seed(seed=123)
    # your code here
    

    seed 可以是任何整数,也可以是可以转换为整数的东西。仅此而已。

    【讨论】:

      猜你喜欢
      • 2011-09-12
      • 2021-06-17
      • 1970-01-01
      • 2013-02-28
      • 2021-03-19
      • 1970-01-01
      • 2018-11-17
      相关资源
      最近更新 更多