【问题标题】:Cutting dendrogram at highest level of purity以最高纯度切割树状图
【发布时间】:2014-04-14 14:20:54
【问题描述】:

我正在尝试创建使用分层凝聚聚类对文档进行聚类的程序,该程序的输出取决于将树状图切割到我获得最大纯度的级别。

以下是我现在正在研究的算法。

Create dedrogram for the documents in the dataset
purity = 0
final_clusters
for all the levels, lvl, in the dendrogram
    clusters = cut dendrogram at lvl
    new_purity = calculate_purity_of(clusters)
    if new_purity > purity
        purity = new_purity
        final_clusters = clusters

根据这个算法,我得到了在所有级别上计算出的纯度最高的簇。

问题是,当我在最低级别切割树状图时,每个簇只包含一个文档,这意味着它是 100% 纯的,因此簇的平均纯度为 1.0。但这不是所需的输出。我想要的是对文件进行适当的分组。我做错了吗?

【问题讨论】:

    标签: data-mining cluster-analysis hierarchical-clustering unsupervised-learning


    【解决方案1】:

    你使用的度量太简单了。

    是的,关于纯度的“最佳”解决方案是只合并重复的对象,以便每个集群根据定义保持纯净。

    这就是为什么优化数学标准通常不是解决实际数据问题的正确方法。相反,您需要问自己一个问题:“什么是有趣的结果”,其中有趣的结果与数学意义上的最优结果不同。

    很抱歉,我不能给你更好的答案 - 但我没有你的数据。

    恕我直言,任何抽象的数学方法都会遭受同样的命运。您需要让您的数据用户需求指定要聚类的内容,而不是一些统计数字;因此,不要从数学中寻找答案,而是要查看您的数据和您的用户需求。

    【讨论】:

      【解决方案2】:

      我知道这已经过去了几年,但可以改善结果的一种潜在方法是添加一个惩罚分量,该惩罚分量会随着聚类数量的增加而增加。这样,您的“最佳设置”就不会走捷径,而是为您提供更平衡的解决方案。

      【讨论】:

        猜你喜欢
        • 2016-07-31
        • 2019-07-07
        • 1970-01-01
        • 2018-08-11
        • 1970-01-01
        • 2017-04-27
        • 1970-01-01
        • 2013-11-13
        • 2017-01-11
        相关资源
        最近更新 更多