跳至内容
深圳市捷比信实业有限公司 · 产品选型与采购咨询联系业务人员
大功率无感电阻捷比信 · 专业器件主题站

当我在机器学习中遇到班级不平衡时该怎么办?

班级不平衡:假设您有一个罕见的疾病机器学习数据集,大约是8%的阳性。在这种情况下,即使您不训练,而只是说您没有病,这将给出92%的准确度。因此,在班级不平衡的情况下,准确性是不准确的。在本指南中,我们介绍了用于解决机器学习中不平衡类的5种策略:上采样少数类和下采样多数类。更改性能指标惩罚算法将使用基于树的算法。 1.上采样少数类:是指随机复制少数类的观察值以使样本量与多数类相匹配。首先,我们将每个类的观察结果划分为不同的DataFrame。接下来,我们将使用替换对少数类进行重新采样,并设置样本数以匹配多数类中的样本数。最后,我们将上采样的Minority DataFrame与原始的Majority DataFrame相结合。创建合成样本(数据扩充)创建合成样本是上采样的近亲,有些人可能将它们分组在一起。例如,SMOTE算法是一种从少数类中重新采样的方法,同时略微调整特征值以创建``新的''特征值。样品。 2.下采样多数类:下采样包括从多数类中随机删除观察值,以防止其信号主导学习算法。首先,我们将每个类的观察结果划分为不同的DataFrame。接下来,我们将对多数类别进行重新采样而不进行替换,并设置样本数量以匹配少数类别。最后,我们将降采样后的多数数据帧与原始的少数数据帧结合在一起。 3.更改性能指标:AUROC(ROC曲线下的面积)假设我们有一个概率二元分类器,例如逻辑回归。在呈现ROC曲线之前,我们必须了解混淆矩阵的概念。当我们进行二进制预测时,可以有4种类型的结果:我们预测为0,而实际类实际上为0:这称为“真否定”,也就是说,我们正确地预测该类为负(0)。例如,防病毒软件不会将无害的文件检测为病毒。我们预测0,而实际类别实际上是1:这称为假负数,也就是说,我们错误地预测该类别为负数(0)。例如,防病毒软件无法检测到病毒。我们预测1,而实际类别实际上是0:这被称为误报,也就是说,我们错误地预测类别为正(1)。例如,防病毒软件将无害文件视为病毒。我们预测1,而真正的分类实际上是1:这称为真实肯定,也就是说,我们正确地预测该分类是肯定的(1)。例如,防病毒软件正确检测到了病毒。为了获得混淆矩阵,我们回顾了机器学习术语模型所做的所有预测,并计算了这四个结果中每一个的出现次数:在这个混淆矩阵示例中,分类的50个数据点中有45个正确分类,其中5个分类错误。由于为了比较不同的模型,使用单个度量标准通常比使用多个度量标准更为方便,因此我们从混淆矩阵中计算出两个度量标准,然后将它们合并为一个:真实阳性率(TPR),也称为敏感性,点击率和召回率,定义为+ TPTP + FN。直观地,该度量对应于被正确认为是阳性的阳性数据点相对于所有阳性数据点的比例。换句话说,TPR越高,我们将错过的阳性数据点就越少。误报率(FPR),也称为落差,定义为+ FPFP + TN。直观地,该度量对应于负数据点相对于所有负数据点被错误地认为是正的比例。换句话说,FPR越高,负数据点将被错误分类的越多。为了将FPR和TPR合并为一个度量,我们首先在逻辑回归中计算前两个具有很多不同阈值的度量(例如0.00、0.01、0.02,...,1.000.00、0.01、0.02,... ,1.00),然后将它们绘制在图形上,其中FPR值在横坐标上,而TPR值在纵坐标上。所获得的曲线称为ROC曲线,我们认为的度量标准是该曲线的AUC,我们称为AUROC。下图以图形方式显示了AUROC:在该图中,蓝色区域对应于AUROC曲线下的区域。对角线中的虚线表示随机预测变量的ROC曲线:其AUROC为0.5。 AUROC在0到1之间,并且AUROC = 1表示预测模型是完美的。实际上,AUROC离0.5越远越好:如果AUROC