【问题标题】:Classifier performance on subset of data数据子集上的分类器性能
【发布时间】:2011-04-09 11:33:13
【问题描述】:

我正在使用 Weka 对一组标记的网页执行分类,并使用 AUC 测量分类器性能。我有一个未用于分类的单独的六级因子,我想知道分类器在该因子的每个级别上的表现如何。

我应该使用哪些技术或措施来测试数据子集上的分类器性能?

【问题讨论】:

  • 您问“我应该使用什么技术或措施来测试数据子集上的分类器性能?”,但说 MCC 和 Cohen 的 kappa 没有回答您的问题。你介意澄清一下吗?
  • 我的问题是关于评估特定子集的分类器性能,而不是关于测量分类器性能的一般问题。

标签: machine-learning classification weka


【解决方案1】:

我不确定这是否正是您要问的,但人们经常使用cross-validation 将一组数据分解为多个训练/测试子集,以更好地评估学习性能。

基本思想(例如 10 折交叉验证)是:

  1. 将数据随机拆分为训练集和测试集
  2. 在训练集上训练分类器
  3. 在测试集上评估其性能
  4. 使用不同的随机训练/测试拆分再重复步骤 1-3 九次

分类器的整体性能是它在所有 10 个测试集上的平均性能。

我环顾四周,找到了some examples of how to perform cross-validation programmaticallyvia the Weka UI

【讨论】:

  • 谢谢,我已经对整个数据集进行了交叉验证。在交叉验证之后,我想知道分类器在我的每个因子子集上的表现如何。
  • 唉。如果您添加更多解释来描述您的 6 级因素、为什么评估它是一个问题、您已经尝试过什么等,您可能会得到更多答案。
  • 用户对一个页面进行相关性判断,这是我的类变量。他们还以六分制对页面的“深度”进行评分。我基于提取的特征(例如文本、链接文本、标题数量、链接数量)构建了一个分类器。我想知道分类器在每个深度级别的表现如何。
  • 问题是,虽然我在评估分类器的整体性能方面没有问题,但我不知道如何评估特定子集的性能。所以我还没有尝试过任何东西:)
  • @michaeltwofish:一定是我遗漏了什么,仅针对特定的感兴趣子集单独计算 AUC 有什么问题?
【解决方案2】:

Nate Kohl recommended 的步骤都是正确的。另一个非常重要的问题是衡量性能的功能。以我的经验,最大化 AUC 有时会导致分类器的严重偏差。我更喜欢将Matthews Correlation Coeficient (MCC) 用于二元分类器或Cohen's kappa 用于具有两个以上可能值的分类分类器

【讨论】:

  • 是的,交叉验证的步骤是正确的,但正如我所说,这实际上不是我要问的。
猜你喜欢
  • 1970-01-01
  • 2012-09-10
  • 2011-04-13
  • 1970-01-01
  • 2017-07-16
  • 1970-01-01
  • 2017-07-30
  • 1970-01-01
  • 2021-06-26
相关资源
最近更新 更多