【问题标题】:How WEKA evaluates clusters?WEKA 如何评估集群?
【发布时间】:2019-05-01 20:27:39
【问题描述】:

您好在this 链接中找到了这个解释:

  • 使用训练集(默认)。生成聚类后 Weka
    将训练实例根据
    集群表示并计算实例的百分比
    落在每个集群中。

  • 在提供的测试集或 Weka 可以评估的百分比拆分中
    如果集群表示为,则在单独的测试数据上进行集群 概率的(例如对于 EM)。

  • 类到集群评估。在这种模式下,Weka 首先忽略
    类属性并生成聚类。然后在
    测试阶段,它根据 每个集群中类属性的多数值。然后 它根据这个分配计算分类错误 并且还显示了相应的混淆矩阵。一个例子
    k-means 的其中一部分如下所示。

但是,我不清楚 WEKA 如何对集群中的新实例进行分类,以及它如何衡量该实例是否应该被分类到该集群中。还是只计算每个集群中测试实例的分布,而不判断分配是否正确?

【问题讨论】:

    标签: machine-learning cluster-analysis weka data-mining


    【解决方案1】:

    聚类分配的概念取决于特定的聚类算法。让我们考虑最简单的情况:使用 k-means 进行硬聚类。在这种情况下,分配是根据离相关点最近的聚类质心来完成的。

    对于新的测试实例,选项的含义如下:

    • 使用训练集(默认)

    由于集群通常以无监督的方式执行,默认选项意味着在集群算法完成后,Weka 将生成一个列表,其中包含已为每个集群分配了多少实例(也以百分比为单位)。在这种情况下没有提供新的测试实例,训练集中的相同实例用于计算聚类的最终结果

    • 要进行聚类评估的类

    此选项允许用户通过向训练实例提供类标签来真正测试聚类结果(这意味着带有标签的数据集应该可用)。在这种模式下,Weka 首先在不考虑类标签的情况下运行无监督聚类算法,然后根据每个集群中某个类的大多数实例计算有多少具有特定标签的实例被聚类到每个集群。它还像在标准监督分类任务中一样生成混淆矩阵。但是,没有使用单独的测试集,因为评估是基于同一训练集中提供的类标签执行的,因此也没有新的测试实例。

    • 提供的测试集或百分比分割

    通过选择此选项,用户可以提供单独的测试集(或者只是利用将可用数据集拆分为训练集和测试集)。在这种情况下,Weka 首先在训练集上运行聚类算法,并使用测试集将集群分配给新的测试实例。最后生成的结果与默认选项(使用训练集)相同,但仅基于从测试集中获取的实例计算。

    希望这会有所帮助!

    【讨论】:

      猜你喜欢
      • 2012-06-08
      • 2015-05-20
      • 1970-01-01
      • 2020-01-13
      • 2016-08-22
      • 2016-06-27
      • 2013-03-24
      • 2022-01-19
      • 2015-10-26
      相关资源
      最近更新 更多