参与:马亚雄、微胖、黄小天、吴攀 如果你研究过一点机器学习和数据科学,你肯定遇到过不平衡的类分布(imbalanced class distribution)。这种情况是指:属于某一类别的观测样本的数量显著少于其它类别。 这个问题在异常检测是至关重要的的场景中很明显,例如电力盗窃、银行的欺诈交易、罕见疾病识别等。在这种情况下,atv直播,利用传统机器学习算法开发出的预测模型可能会存在偏差和不准确。 发生这种情况的原因是机器学习算法通常被设计成通过减少误差来提高准确率。所以它们并没有考虑类别的分布/比例或者是类别的平衡。 这篇指南描述了使用多种采样技术来解决这种类别不平衡问题的各种方法。本文还比较了每种技术的优缺点。最后,本文作者还向我们展示了一种让你可以创建一个平衡的类分布的方法,让你可以应用专门为此设计的集成学习技术(ensemble learning technique)。本文作者为来自 KPMG 的数据分析顾问 Upasana Mukherjee。 目录 1. 不平衡数据集面临的挑战 2. 处理不平衡数据集的方法 3. 例证 4. 结论 1. 不平衡数据集面临的挑战 当今公用事业行业面临的主要挑战之一就是电力盗窃。电力盗窃是全球第三大盗窃形式。越来越多的公用事业公司倾向于使用高级的数据分析技术和机器学习算法来识别代表盗窃的消耗模式。 然而,最大的障碍之一就是海量的数据及其分布。欺诈性交易的数量要远低于正常和健康的交易,也就是说,它只占到了总观测量的大约 1-2%。这里的问题是提高识别罕见的少数类别的准确率,而不是实现更高的总体准确率。 当面临不平衡的数据集的时候,机器学习算法倾向于产生不太令人满意的分类器。对于任何一个不平衡的数据集,如果要预测的事件属于少数类别,并且事件比例小于 5%,那就通常将其称为罕见事件(rare event)。 不平衡类别的实例 让我们借助一个实例来理解不平衡类别。 例子:在一个公用事业欺诈检测数据集中,你有以下数据: 总观测 = 1000 欺诈观测 = 20 非欺诈观测 = 980 罕见事件比例 = 2% 这个案例的数据分析中面临的主要问题是:对于这些先天就是小概率的异常事件,如何通过获取合适数量的样本来得到一个平衡的数据集? 使用标准机器学习技术时面临的挑战 面临不平衡数据集的时候,传统的机器学习模型的评价方法不能精确地衡量模型的性能。 诸如决策树和 Logistic 回归这些标准的分类算法会偏向于数量多的类别。它们往往会仅预测占数据大多数的类别。在总量中占少数的类别的特征就会被视为噪声,并且通常会被忽略。因此,与多数类别相比,少数类别存在比较高的误判率。 对分类算法的表现的评估是用一个包含关于实际类别和预测类别信息的混淆矩阵(Confusion Matrix)来衡量的。 如上表所示,模型的准确率 = (TP+TN) / (TP+FN+FP+TP) 然而,在不平衡领域时,准确率并不是一个用来衡量模型性能的合适指标。例如:一个分类器,在包含 2% 的罕见事件时,如果它将所有属于大部分类别的实例都正确分类,实现了 98% 的准确率;而把占 2% 的少数观测数据视为噪声并消除了。 不平衡类别的实例 因此,总结一下,在尝试利用不平衡数据集解决特定业务的挑战时,由标准机器学习算法生成的分类器可能无法给出准确的结果。除了欺诈性交易,存在不平衡数据集问题的常见业务问题还有: 识别客户流失率的数据集,其中绝大多数顾客都会继续使用该项服务。具体来说,电信公司中,客户流失率低于 2%。 医疗诊断中识别罕见疾病的数据集 自然灾害,例如地震 使用的数据集 这篇文章中,我们会展示多种在高度不平衡数据集上训练一个性能良好的模型的技术。并且用下面的欺诈检测数据集来精确地预测罕见事件: 总观测 = 1000 欺诈观测 = 20 非欺诈性观测 = 980 事件比例 = 2% 欺诈类别标志 = 0(非欺诈实例) 欺诈类别标志 = 1(欺诈实例) 2. 处理不平衡数据集的方法 2.1 数据层面的方法:重采样技术 (责任编辑:本港台直播) |