当对不平衡的类进行过度/欠采样时,最大化准确性与最小化错误分类成本是否有所不同?


14

首先,我想描述一些数据挖掘书籍用来解释如何处理不平衡数据集的常见布局。通常,主要部分名为不平衡数据集,它们涵盖了以下两个子部分:成本敏感分类和抽样技术。

似乎面对一个罕见的类问题,您可以执行成本敏感的分类和抽样。相反,我认为,如果稀有类别也是分类的目标,并且对该类别的记录进行错误分类的代价高昂,则应该应用成本敏感的技术。

另一方面,如果分类的目标总体上具有良好的准确性,而不关注特定类别,则采样技术(例如过采样和欠采样)将很有用。

这种信念来自MetaCost的基本原理,MetaCost是使分类器对成本敏感的一种通用方法:如果一个人希望使分类器对成本敏感,以便惩罚稀有类的分类错误,则他应该对另一类进行过采样。粗略地讲,分类器尝试适应其他类别,并且变为稀有类别所特有的。

这与对稀有类进行过度采样相反,这是解决此问题的通常建议方法。稀有类别的过采样或其他类别的过采样有助于提高整体准确性。

拜托,如果您确认我的想法,那将是很棒的。

如此说来,不平衡数据集面临的常见问题是:

我是否应该尝试获取与其他稀有记录一样多的稀有记录?

我的答案是,如果您正在寻找准确性:好的。您可以执行此操作,以查找更多罕见的类示例,或者删除其他类的某些记录。

如果您使用成本敏感技术专注于稀有类,我会回答:您只能找到更多稀有类示例,但不应删除其他类的记录。在后一种情况下,您将无法让分类器适应其他类别,并且罕见的类别错误分类错误可能会增加。

你会怎么回答?


2
不可能为稀有类“发现”新记录。我认为数据是按这种方式构造的,因为创建更多稀有事件的成本昂贵(生物信息学)或冒险(银行贷款)。
steffen 2011年

当然,但这是一个常见的建议解决方案。但是,的确,如果您可以找到更多罕见的类示例,那么您也许也可以找到其他示例。因为训练集应该是记录世界的代表性样本。因此,在我看来,这似乎是执行过度采样。
西蒙妮(Simone)

Answers:


9

这是一个好问题。就我个人而言,我的回答是丢弃数据永远没有任何意义(除非出于计算原因),因为您拥有的数据越多,您的世界模型就越好。因此,我建议以适合您任务的方式修改成本函数就足够了。例如,如果您对一个特殊的稀有类别感兴趣,则可以使该类别的错误分类只会更加昂贵;如果您对平衡度量感兴趣,则适合使用诸如平衡错误率(每个类中错误的平均值)或Matthews相关系数之类的方法;如果只对整体分类错误感兴趣,则传统0-1损失

解决该问题的现代方法是使用主动学习。例如, Hospedales等人(2011年)“发现稀有类:使用生成模型和判别模型进行主动学习”,IEEE知识和数据工程学报,(TKDE 2011)。但是,我认为这些方法还相对不那么成熟。


有趣的措施是在需要平衡措施的情况下,对米修斯人。但是,由于我们不想删除任何记录,因此在对成本函数执行任何采样或修改之前,您是否会添加稀有类示例来重新平衡数据集?我认为答案可能不是。因为只要找到稀有的类示例,您就可以找到其他示例。因此,为了获得更好的平衡度量或更好的稀有类性能度量(例如F度量),我将仅在数据收集阶段之后才执行一项技术(例如成本的抽样或修改)。你同意吗?
西蒙妮

同意,诸如此类的任何操作都应在数据收集阶段之后执行。
tdc
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.