数据与特征

类别不平衡(class imbalance)

/ KLASS im-BAL-uns /

类别不平衡,是指你想让模型区分的几个类别,出现的数量悬殊得离谱。设想训练一个欺诈检测器,每1000笔交易里有999笔是正常的、只有1笔是欺诈。那个罕见的类别——往往正是你最在意的那个——被埋在了常见类别堆成的大山底下。

陷阱在于,「总体准确率」会变成一个骗子。一个干脆每次都预测「非欺诈」的模型,准确率高达99.9%,却一笔欺诈也抓不到——毫无用处,可用错了的尺子去量,它看着却很漂亮。所以面对不平衡数据,准确率毫无意义;你需要的是直接盯着罕见类别的度量,比如查准率(在我标记出的案例里,有多少真是阳性?)、查全率(在所有真正的阳性里,我抓到了多少?),以及二者之间的平衡。

为何重要:最重要的那些问题往往是不平衡的——疾病筛查、欺诈、设备故障、各式各样的罕见事件——恰恰是因为你要捕捉的东西本就稀少。常见的对策包括重采样(对罕见类过采样、对常见类欠采样,或合成新的罕见样本)、给「漏掉罕见类」赋予更高的代价,以及选对评估指标。这些手段都变不出数据里本不存在的、关于罕见类别的真实信息——它们只能帮模型与你的判断不再被多数类所支配。

在10万张乳腺X光片中,有200张显示癌症。一个懒惰的模型,永远只说「健康」,准确率高达99.8%,却漏掉了每一例癌症。查全率——即真实癌症中被实际抓到的比例——会瞬间揭穿它:那个懒模型的查全率是0%。

准确率99.8%,有用率0%——这正是「准确率」在不平衡数据上会撒谎的原因。

在不平衡数据上,准确率是个虚荣指标。永远要报告查准率、查全率或二者的结合——并记住:重采样的把戏只是重新平衡了模型「看到」各类别的方式,并没有凭空创造出关于罕见类的新知识。

又称
imbalanced dataimbalanced classesrare class problem类别不平衡数据不平衡類別不平衡資料不平衡