不平衡分类的成本敏感学习

大多数机器学习算法都假定模型所犯的所有误分类错误都是相等的。

对于不平衡分类问题,情况通常并非如此,其中遗漏了阳性或少数类案例比错误地将负性或多数类中的示例分类更糟糕。现实世界中有许多例子,例如检测垃圾邮件、诊断医疗状况或识别欺诈。在所有这些情况下,假阴性(遗漏案例)比假阳性更糟糕或成本更高。

成本敏感学习是机器学习的一个子领域,它在训练机器学习模型时会考虑预测错误的成本(以及其他可能的成本)。它是与不平衡学习领域密切相关的一个研究领域,该领域关注具有倾斜类分布的数据集上的分类。因此,为成本敏感学习开发和使用的许多概念和技术都可以用于不平衡分类问题。

在本教程中,您将发现不平衡分类的成本敏感学习的初步介绍。

完成本教程后,您将了解:

  • 不平衡分类问题通常对假阳性分类错误与假阴性的重视程度不同。
  • 成本敏感学习是机器学习的一个子领域,涉及在训练机器学习算法时明确定义和使用成本。
  • 成本敏感技术可分为三类,包括数据重采样、算法修改和集成方法。

启动您的项目,阅读我的新书 《Python 不平衡分类》,其中包含分步教程和所有示例的Python源代码文件。

让我们开始吧。

Cost-Sensitive Learning for Imbalanced Classification

不平衡分类的成本敏感学习
照片作者:bvi4092,保留部分权利。

教程概述

本教程分为四个部分;它们是

  1. 并非所有分类错误都相同
  2. 成本敏感学习
  3. 成本敏感不平衡分类
  4. 成本敏感方法

并非所有分类错误都相同

分类是一种预测性建模问题,涉及为观测预测类标签。

可能有许多类标签,称为多类分类问题,尽管最简单也是最常见的分类问题类型是两个类,称为二元分类。

大多数为分类设计的机器学习算法都假定每个观察到的类都有相同数量的示例。

在实践中,情况并非总是如此,具有倾斜类分布的数据集被称为不平衡分类问题。

在成本敏感学习中,每个实例不是被正确或错误地分类,而是为每个类(或实例)分配一个误分类成本。因此,问题不再是尝试优化准确性,而是最小化总误分类成本。

— 第 50 页,《不平衡学习:基础、算法和应用》,2013 年。

除了假定类别分布平衡之外,大多数机器学习算法还假定分类器所做的预测错误是相同的,即所谓的误分类。

这对于二元分类问题通常并非如此,尤其是那些具有不平衡类别分布的问题。

大多数分类器假定误分类成本(假阴性和假阳性成本)是相同的。在大多数实际应用中,此假设不成立。

面向不平衡数据的成本敏感学习方法,2010 年。

对于不平衡分类问题,多数类的示例称为负类,并分配类标签 0。少数类的示例称为正类,并分配类标签 1。

这种负类与正类命名约定的原因是,多数类的示例通常代表正常或无事件情况,而少数类的示例代表特殊情况或事件情况。

  • 多数类:负类或无事件,分配类标签 0。
  • 少数类:正类或事件,分配类标签 1。

现实世界中的不平衡二元分类问题通常对可以发生的每种分类错误都有不同的解释。例如,将负案例分类为正案例通常不像将正案例分类为负案例那样糟糕。

如果我们考虑到不平衡二元分类问题的分类器目标是正确检测正案例,而正案例代表我们最感兴趣的特殊情况或事件,那么这一点就说得通了。

我们可以通过一些例子来清楚地说明这一点。

银行贷款问题:考虑一个银行想决定是否向客户发放贷款的问题。拒绝一个好客户的贷款不像给一个可能永远无法偿还的坏客户发放贷款那样糟糕。

癌症诊断问题:考虑一个医生想确定患者是否患有癌症的问题。将健康患者诊断为癌症并进行进一步的医学检查,比拒绝一名患有癌症的患者要好。

……在某些癌症的医学诊断中,如果将癌症视为正类,将非癌症(健康)视为负类,那么遗漏癌症(患者实际为正但被分类为负,因此也称为“假阴性”)比假阳性错误更严重(因此成本更高)。

— 第 2010 页,《机器学习百科全书》,2010 年。

欺诈检测问题:考虑一个保险公司想要确定一笔索赔是否具有欺诈性的问题。将好索赔识别为欺诈并跟进客户,比批准欺诈性保险索赔要好。

从这些例子中我们可以看出,误分类错误通常是不受欢迎的,但一种误分类比另一种更糟糕。特别是将正例预测为负例比将负例预测为正例更具危害性、成本更高,或者无论我们如何衡量目标域的背景,都更糟糕。

……将实际为正的示例错误地分类为负,通常比将实际为负的示例错误地分类为正更昂贵。

— 第 2010 页,《机器学习百科全书》,2010 年。

将每种类型的误分类错误视为相同的机器学习算法无法满足这些类型问题的需求。

因此,少数类在训练数据中的代表不足以及正确识别少数类示例的重要性增加,使得不平衡分类成为应用机器学习中最具挑战性的问题之一。

类别不平衡是机器学习算法的挑战性问题之一。

面向不平衡数据的成本敏感学习方法,2010 年。

想要开始学习不平衡分类吗?

立即参加我为期7天的免费电子邮件速成课程(附示例代码)。

点击注册,同时获得该课程的免费PDF电子书版本。

成本敏感学习

机器学习中有一个子领域专注于学习和在具有不均匀惩罚或成本的数据上使用模型进行预测等等。

该领域通常被称为成本敏感机器学习,或更简单地称为成本敏感学习。

……机器学习算法需要对它正在处理的成本敏感,并且在最佳情况下,在模型拟合过程中考虑成本。这导致了成本敏感机器学习,这是机器学习中一个相对较新的研究课题。

— 第 xiii 页,《成本敏感机器学习》,2011 年。

传统上,机器学习算法在数据集上进行训练并寻求最小化误差。在数据上拟合模型是一个优化问题,我们明确寻求最小化误差。可以使用一系列函数来计算模型在训练数据上的误差,更通用的术语是损失。我们寻求最小化模型在训练数据上的损失,这与谈论误差最小化是相同的。

  • 误差最小化:训练机器学习算法时的传统目标是最小化模型在训练数据集上的误差。

在成本敏感学习中,与错误预测相关的惩罚被称为“成本”。我们也可以将惩罚的倒数称为“收益”,尽管这种表述很少使用。

  • 成本:与错误预测相关的惩罚。

成本敏感学习的目标是最小化模型在训练数据集上的成本,假定不同类型的预测错误具有不同且已知的相关成本。

  • 成本最小化:成本敏感学习的目标是最小化模型在训练数据集上的成本。

成本敏感学习是一种将误分类成本(以及其他可能的成本)考虑在内的学习类型。这种学习的目标是最小化总成本。

— 第 2010 页,《机器学习百科全书》,2010 年。

不平衡分类与成本敏感学习之间存在紧密耦合。特别是,不平衡学习问题可以使用成本敏感学习来解决。

尽管如此,成本敏感学习是一个独立的研究子领域,并且成本的定义可以比预测错误或分类错误更广泛。这意味着,尽管成本敏感学习中的一些方法可能对不平衡分类有帮助,但并非所有成本敏感学习技术都是不平衡学习技术,反之亦然,并非所有用于解决不平衡学习的方法都适用于成本敏感学习。

为了具体说明,我们可以考虑在训练模型处理数据集时可能希望考虑或衡量的各种其他方式。例如,Peter Turney 在他 2000 年题为“归纳概念学习中的成本类型”的论文中列出了九种可能在机器学习中考虑的成本类型。

总而言之,它们是:

  • 误分类错误(或更广泛的预测错误)的成本。
  • 测试或评估的成本。
  • 教师或标签的成本。
  • 干预或改变观察结果来源系统的成本。
  • 干预导致的不希望发生的成就或结果的成本。
  • 计算或计算复杂度的成本。
  • 案例或数据收集的成本。
  • 人类计算机交互的成本,或问题设置和使用软件进行模型拟合和使用。
  • 不稳定性或方差的成本,也称为概念漂移。

尽管成本和成本敏感学习的概念对许多现实世界问题至关重要,但直到最近,它还是一个很大程度上被忽视的新课题。

在概念学习的实际应用中,存在许多不同类型的成本。大多数机器学习文献都忽略了所有类型的成本……

《归纳概念学习中的成本类型》,2000 年。

以上列表强调了我们对不平衡分类感兴趣的成本只是更广泛的成本敏感学习领域可能考虑的成本范围中的一种。

在下一节中,我们将更仔细地研究如何利用误分类成本敏感学习的思想来帮助不平衡分类。

成本敏感不平衡分类

不平衡分类的成本敏感学习专注于首先为可能发生的误分类错误分配不同的成本,然后使用专门的方法来考虑这些成本。

变化的误分类成本最好通过成本矩阵的概念来理解。

让我们从回顾混淆矩阵开始。

一个 混淆矩阵 是模型在分类任务上所做预测的摘要。它是一个表格,总结了为每个类别所做的预测数量,并按示例所属的实际类别进行分隔。

用负类和正类(通常分配 0 和 1 类标签)的二元分类问题来理解它效果最好。表格的列代表示例所属的实际类别,行代表预测的类别(尽管行和列的含义可以且通常可以互换,而不会丢失含义)。表格中的一个单元格是满足行和列条件的示例数量的计数,每个单元格都有一个特定的通用名称。

下面列出了二元分类任务的混淆矩阵示例,显示了表中四个单元格中值的通用名称。

我们可以看到,我们最感兴趣的是错误,即所谓的假阳性和假阴性,而假阴性可能是我们在许多不平衡分类任务中最感兴趣的。

现在,我们可以考虑同一个表格,具有相同的行和列,并为每个单元格分配一个成本。这称为成本矩阵。

  • 成本矩阵:一个为混淆矩阵中的每个单元格分配成本的矩阵。

下面的示例是一个成本矩阵,其中我们使用符号 C() 来表示成本,第一个值表示预测的类别,第二个值表示实际的类别。还列出了混淆矩阵中每个单元格的名称缩写,例如,假阳性为 FP。

我们可以看到,假阳性的成本是 C(1,0),假阴性的成本是 C(0,1)。

这种成本矩阵的公式和符号来自 Charles Elkan 2001 年关于该主题的开创性论文,题为“成本敏感学习的基础”。

从这个矩阵中可以直观地理解,误分类的成本总是高于正确分类的成本,否则,通过预测一个类别就可以最小化成本。

概念上,错误标记一个示例的成本应始终大于正确标记它的成本。

《成本敏感学习的基础》,2001 年。

例如,我们可能对每个类别的正确预测不分配任何成本,假阳性的成本为 5,假阴性的成本为 88。

使用此框架,我们可以将分类器的总成本定义为假阴性和假阳性的成本加权之和。

  • 总成本 = C(0,1) * 假阴性数量 + C(1,0) * 假阳性数量

至少在概念上,这是我们在成本敏感学习中寻求最小化的值。

CSL 的目的是构建一个误分类成本(总成本)最小的模型

面向不平衡数据的成本敏感学习方法,2010 年。

成本矩阵的值必须仔细定义。就像传统机器学习模型的误差函数选择一样,成本或成本函数选择将决定在训练数据上拟合的模型质量和效用。

成本敏感学习的有效性在很大程度上取决于提供的成本矩阵。其中提供的参数对训练和预测步骤都至关重要。

— 第 66 页,《从不平衡数据集学习》,2018 年。

在某些问题领域,定义成本矩阵可能很明显。在保险索赔示例中,假阳性的成本可能是公司与客户跟进的货币成本,而假阴性的成本可能是保险索赔的成本。

在其他领域,定义成本矩阵可能具有挑战性。例如,在癌症诊断测试示例中,假阳性的成本可能是执行后续测试的货币成本,而让生病患者回家病情恶化的等效美元成本是多少?在这种情况下,成本矩阵可能由领域专家或经济学家定义,也可能不定义。

此外,成本可能是一个复杂的多维函数,包括货币成本、声誉成本等。

对于不平衡分类任务,一个好的起点是根据反类别分布来分配成本。

在许多情况下,我们无法获得领域专家,并且在分类器训练期间没有关于成本矩阵的先验信息。这是我们希望将成本敏感学习作为一种解决不平衡问题的方法的常见场景……

— 第 67 页,《从不平衡数据集学习》,2018 年。

例如,我们可能有一个数据集,其中少数类示例与多数类示例的比例为 1 到 100(1:100)。此比例可以反转并用作误分类错误的成本,其中假阴性的成本为 100,假阳性的成本为 1。

这是一种设置成本的有效启发式方法,尽管它假定训练数据中观察到的类别分布代表了更广泛的问题,并且适用于正在使用的所选成本敏感方法。

因此,最好使用此启发式方法作为起点,然后测试一系列相似的相关成本或比例以确认其合理性。

成本敏感方法

成本敏感机器学习方法是那些显式使用成本矩阵的方法。

鉴于我们关注不平衡分类,我们特别关注那些以某种方式侧重于使用变化的误分类成本的成本敏感技术。

成本敏感学习方法通过使用不同的成本矩阵来解决不平衡学习问题,这些矩阵描述了误分类任何特定数据示例的成本。

— 第 3-4 页,《不平衡学习:基础、算法和应用》,2013 年。

对于不平衡学习,可能有三种主要的成本敏感方法最为相关;它们是

  1. 成本敏感重采样
  2. 成本敏感算法
  3. 成本敏感集成

让我们依次仔细看看每一个。

成本敏感重采样

在不平衡分类中,数据重采样是指转换训练数据集以更好地平衡类别分布的技术。

这可能涉及选择性地删除多数类的示例,称为欠采样。更常见的是,它指少数类中的示例复制或合成新示例,称为过采样,或两者兼有。

数据重采样是一种可以直接用于成本敏感学习的技术。与其侧重于平衡倾斜的类别分布进行重采样,不如侧重于改变训练数据集的组成以满足成本矩阵的期望。

这可能涉及直接重采样数据分布或使用一种方法来加权数据集中的示例。此类方法可能被称为成本比例加权训练数据集或成本比例重采样。

我们提出并评估了一系列方法……基于训练示例的成本比例加权,这可以通过将权重馈送到分类算法(通常在提升中完成)或(以黑盒方式)通过仔细的子采样来实现。

《通过成本比例示例加权进行成本敏感学习》,2003 年。

对于不平衡分类,当使用类别分布定义成本矩阵时,则数据重采样技术没有区别。

成本敏感算法

机器学习算法很少专门为成本敏感学习而开发。

相反,可以修改大量现有的机器学习算法以利用成本矩阵。

这可能涉及对每种算法独特的修改,而这些修改可能需要耗费大量时间和精力来开发和测试。对于决策树和支持向量机等流行算法,已经提出了许多此类特定于算法的增强。

在所有分类器中,成本敏感决策树的归纳可以说是获得了最多的关注。

— 第 69 页,《从不平衡数据集学习》,2018 年。

scikit-learn Python 机器学习库在以下分类器上通过 `class_weight` 参数提供了这些成本敏感扩展的示例

另一种更通用的修改现有算法的方法是在训练算法时使用成本作为误分类的惩罚。鉴于大多数机器学习算法都经过训练以最小化误差,因此将误分类的成本添加到误差中或在训练过程中用于加权误差。

这种方法可用于迭代训练算法,如逻辑回归和人工神经网络。

scikit-learn 库在以下分类器上通过 `class_weight` 参数提供了这些成本敏感扩展的示例

Keras Python 深度学习库 也通过 `fit()` 函数上的 `class_weight` 参数为神经网络提供了这种成本敏感增强的访问权限,用于训练模型。

同样,当使用反类别分布作为成本矩阵时,算法的成本敏感增强与不平衡分类增强之间的界限变得模糊。

在成本敏感机器学习领域,这些算法以前缀“成本敏感”来称呼,例如成本敏感逻辑回归,而在不平衡学习中,此类算法以前缀“类别加权”来称呼,例如类别加权逻辑回归或简单加权逻辑回归。

成本敏感集成

第二组不同的方法是设计用于过滤或组合传统机器学习模型的预测的技术,以考虑误分类成本。

这些方法被称为“包装器方法”,因为它们包装了标准的机器学习分类器。它们也被称为“元学习器”或“集成”,因为它们学习如何使用或组合其他模型的预测。

成本敏感元学习可以将现有的成本不敏感分类器转换为成本敏感分类器,而无需修改它们。因此,它可以被视为一个中间件组件,用于预处理成本不敏感学习算法的训练数据或后处理其输出。

— 第 2010 页,《机器学习百科全书》,2010 年。

也许最简单的方法是使用机器学习模型来预测类别成员的概率,然后在线性搜索分配示例到每个清晰类别标签的阈值,该阈值最小化了误分类的成本。

这通常被称为“阈值处理”或阈值优化,并且更广泛地用于二元分类任务,尽管它可以很容易地修改为最小化成本而不是特定类型的分类错误度量。

MetaCost 是一种数据预处理技术,它重新标记训练数据集中的示例,以最小化成本。

……我们提出了一种基于原则的方法,通过在其周围包装一个成本最小化过程来使任意分类器具有成本敏感性。

MetaCost:一种使分类器具有成本敏感性的通用方法,1999 年。

在 MetaCost 中,首先在训练数据集上拟合分类器的装袋集成,以识别需要重新标记的示例,然后创建一个带有重新标记示例的转换数据集版本,丢弃集成,并使用转换后的数据集来训练分类器模型。

另一个重要领域是决策树集成的修改,这些修改考虑了成本矩阵,例如装袋和提升算法,最著名的是 AdaBoost 的成本敏感版本,如 AdaCost。

AdaCost 是 AdaBoost 的一个变体,是一种误分类成本敏感的提升方法。它使用误分类的成本在连续的提升轮次中更新训练分布。

AdaCost:误分类成本敏感提升,1999 年。

进一步阅读

如果您想深入了解,本节提供了更多关于该主题的资源。

论文

书籍

文章

总结

在本教程中,您学习了不平衡分类的成本敏感学习。

具体来说,你学到了:

  • 不平衡分类问题通常对假阳性分类错误与假阴性的重视程度不同。
  • 成本敏感学习是机器学习的一个子领域,涉及在训练机器学习算法时明确定义和使用成本。
  • 成本敏感技术可分为三类,包括数据重采样、算法修改和集成方法。

你有什么问题吗?
在下面的评论中提出你的问题,我会尽力回答。

掌控不平衡分类!

Imbalanced Classification with Python

在几分钟内开发不平衡学习模型

...只需几行python代码

在我的新电子书中探索如何实现
使用 Python 处理不平衡分类问题

它提供了关于以下内容的自学教程端到端项目
性能指标欠采样方法SMOTE阈值移动概率校准成本敏感算法
以及更多...

将不平衡分类方法引入您的机器学习项目

查看内容

成本敏感学习用于不平衡分类的 39 条回复

  1. marco 2020年2月7日晚上8:42 #

    你好 Jason,
    我有一个分类问题。
    我想知道准确率和 AUC 是否具有相似的含义,以及我是否必须同时使用它们来评估一个模型?
    在不平衡数据集的情况下,最好的度量标准是什么?
    您是否有任何简单的规则来管理分类问题的不平衡数据集?
    谢谢

  2. marco 2020年2月8日 上午5:36 #

    你好 Jason,
    还有一个问题是关于过拟合。
    这是只有分类问题还是回归问题也有?
    谢谢

  3. marco 2020年2月9日 上午2:54 #

    你好 Jason,
    解决回归问题过拟合的技术与解决分类问题过拟合的技术相同吗?
    谢谢

  4. Zineb_Morocco 2020年3月29日 晚上11:15 #

    我几周前就在找这个主题了。一如既往,您的教程给出了广泛而简单的解释。
    非常感谢。

    我的问题是:像Adaboost这样的提升技术与成本敏感学习之间有什么联系吗?
    提前感谢。

    • Jason Brownlee 2020年3月30日 上午5:35 #

      谢谢!

      没什么联系。也许可以从“加权样本”与“加权类别”的角度来看。

  5. Sanjeev Kumar TM 2020年6月16日 上午12:57 #

    感谢您精彩的教程。

    我有一个问题,如果我们有一个多类别分类模型,那么如何解释它的成本以了解误分类的惩罚?因为在二分类中我们是根据 FP 和 FN 来确定的。

    • Jason Brownlee 2020年6月16日 上午5:41 #

      您可以使用字典为每个类别指定成本。

      也许可以尝试不同的惩罚值,看看哪种效果更好。

      • Sanjeev Kumar TM 2020年6月19日 上午1:07 #

        谢谢您,先生,

        有没有关于这个的已解决的例子,这样更容易理解?

        • Jason Brownlee 2020年6月19日 上午6:17 #

          是的,本教程提供了一个多类别成本敏感学习的示例。
          https://machinelearning.org.cn/imbalanced-multiclass-classification-with-the-glass-identification-dataset/

          • Sanjeev Kumar TM 2020年6月20日 下午3:19 #

            谢谢您,先生,

            供您参考,我将仔细阅读这份文档。

          • Jason Brownlee 2020年6月21日 上午6:18 #

            不客气。

          • Sanjeev Kumar TM 2020年6月20日 晚上9:25 #

            感谢您的链接,它帮助我澄清了许多关于不平衡多类别数据集的模型开发和选择的问题。

          • Jason Brownlee 2020年6月21日 上午6:23 #

            不客气。

        • Jamie 2020年9月7日 上午3:55 #

          你好,有没有办法为多分类问题创建一个使用预定义的惩罚矩阵的自定义损失函数?我的数据集不仅不平衡,而且我想在模型训练中使用惩罚矩阵。

          • Jason Brownlee 2020年9月7日 上午8:36 #

            是的,可以根据您的设计为成本敏感模型指定权重,例如惩罚或重新加权,或两者的组合。

            确保选择或设计一个能考虑项目目标的性能指标。

  6. Brigitte Maillere 2020年9月11日 上午1:32 #

    嗨,Jason,
    首先,感谢您精彩的课程:每当我遇到机器学习方面的困难时,我的第一反应就是去 MachineLearningMastery。您有非凡的解释能力。

    **我的问题是:是否有用于回归的成本敏感学习方法/算法?**

    (我的例子是:假设您想预测每个产品类别的下周销量,但类别 A 的准确性对您至关重要,而类别 B 的准确性不太重要。)

  7. Sasha 2021年1月9日 下午5:14 #

    你好 Jason!你的工作太棒了!可以购买您的书籍的实体版本以配合电子版本吗?

  8. john 2021年1月10日 上午3:10 #

    你好,杰森,
    我想知道如何使 ID3 对误分类敏感?
    我想做的是改进 ID3,使其最小化我的损失函数。
    loss(c)=(0.1*漏报+误报)/(测试样本数)

    • Jason Brownlee 2021年1月10日 上午5:46 #

      好问题,也许文献中有描述成本敏感的版本,我建议您进行文献综述。

  9. john 2021年1月10日 上午6:13 #

    可以给我一个链接吗?

  10. Asad 2021年2月1日 上午7:00 #

    又一篇很棒的文章。
    我有一个问题。
    我有一个多类别分类(输出 0 1 2 3 4 5)问题。

    对于我的问题,零是最重要的类别。有什么方法可以在训练阶段为类别零添加额外的权重/成本吗?

    • Jason Brownlee 2021年2月1日 上午7:33 #

      谢谢!

      是的,您可以为类别 0 分配权重 1,为所有其他类别分配权重 0.5。或者类似的方式。

  11. JP 2021年4月16日 上午12:33 #

    这是一篇很棒的文章,

    我对这一部分有一些问题,

    那么,我们用来平衡数据的常规不平衡数据重采样实际上是成本敏感分类的一部分吗?

    如果我理解正确,我们应该选择以下三种方法之一(重采样、算法、集成)来构建成本敏感模型,而不是选择两种或全部?(例如,重采样并带有成本权重,然后将相同的成本权重应用于算法会产生另一个不平衡数据?)

    非常感谢。

    • Jason Brownlee 2021年4月16日 上午5:32 #

      通常,您会选择一种重采样算法或一种成本敏感算法。不是两者都选。但是,同时使用两者可能会为您带来更好的结果,因此请进行测试并确认。

  12. Mukesh Kund 2021年4月16日 上午1:58 #

    很棒的文章。
    我有一个小问题想问您……
    我有一个基于文本的多类别文档分类任务(7种类型)。
    问题是,无论我输入什么文档,它都会显示来自上述 7 种类型中的一种。
    我不知道如何处理误分类……我该怎么做才能让我的模型将其他文档预测为 NAN 或 NONE 之类的东西,以及如何处理误分类?

  13. Jamie 2021年4月26日 晚上9:24 #

    嗨,Jason,

    我有一个多类别不平衡分类问题,其中某些类型的误分类比其他类型更成问题。例如,将 0 错误分类为 1,比将 0 错误分类为 2 的影响要大得多。

    您有什么建议在 Python 中实现这一点吗?

    我曾考虑在训练之前平衡每个类别的权重以补偿不同大小的类别,然后再再次更改权重以奖励分类器正确预测关键类别。然而,这并没有解决我的差异化误分类成本问题。

    谢谢

  14. Jamie 2021年4月26日 晚上9:27 #

    附言:我想通过 sklearn 中的 `class_weight` 参数来实现我上面提到的方法,并在随机森林中实现这种成本敏感性。

  15. Raj 2022年6月1日 下午4:56 #

    嗨,Jason,

    感谢您的文章。非常有帮助。如何将成本敏感学习应用于时间序列预测问题?如何在时间序列预测中包含成本矩阵?有没有时间序列预测方法目前支持成本矩阵?

    等待您的回复。

  16. Diana 2022年8月8日 晚上9:12 #

    嗨,Jason,

    我正在处理一个不平衡回归问题(但具有连续的目标域)。我使用密度加权,我有一个问题:为了测量测试集中的误差,我应该使用与训练集相同的估计密度还是重新计算测试集的密度?

Leave a Reply

Machine Learning Mastery 是 Guiding Tech Media 的一部分,Guiding Tech Media 是一家领先的数字媒体出版商,专注于帮助人们了解技术。访问我们的公司网站以了解更多关于我们的使命和团队的信息。