天天看点

机器学习中如何处理不平衡数据

机器学习中如何处理不平衡数据

Introduction

假设老板让你创建一个模型——基于可用的各种测量手段来预测产品是否有缺陷。你使用自己喜欢的分类器在数据上进行训练后,准确率达到了 96.2%!

你的老板很惊讶,决定不再测试直接使用你的模型。几个星期后,他进入你的办公室,拍桌子告诉你你的模型完全没用,一个有缺陷的产品都没发现。

经过一番调查,你发现尽管你们公司的产品中大约有 3.8%的存在缺陷,但你的模型却总是回答「没有缺陷」,也因此准确率达到 96.2%。你之所以获得这种「naive」的结果,原因很可能是你使用的训练数据是不平衡数据集。

本文将介绍解决不平衡数据分类问题的多种方法。

Outline

首先我们将概述检测」naive behaviour」的不同评估指标;然后讨论重新处理数据集的多种方法,并展示这些方法可能会产生的误导;最后,我们将证明重新处理数据集大多数情况下是继续建模的最佳方式。

注:带(∞)符号的章节包含较多数学细节,可以跳过,不影响对本文的整体理解。此外,本文大部分内容考虑两个类的分类问题,但推理可以很容易地扩展到多类别的情况。

检测 “naive behaviour”

我们先来看几种评估分类器的方法,以确保检测出「naive behaviou

继续阅读