更改不平衡数据中的参考类别会极大地影响错误率

数据挖掘 逻辑回归 glm 阶级失衡
2022-03-03 10:47:45

在处理试图预测客户流失的二元分类问题时,数据集是不平衡的,有 2000 个非流失案例的观察结果与 600 个流失案例的观察结果。

在使用 GLM 时,我看到当多数类 [非流失] 是参考级别时,我在两个级别 [流失非流失] 上得到约 40% 的错误率 [混淆矩阵],但是当少数类被设置为参考时水平我在预测少数类或以某种方式预测所有事情都被预测为非流失情况时得到 100% 的错误率。

使用 SMOTE 平衡数据后,相同的趋势仍在继续,我应该如何解释这种行为。?

是不是在某种程度上说,非流失人群的用户与流失用户的行为相似,因此错误率很高,但同时非流失用户有一个与流失用户完全不同的子集?行为,因此当参考类是多数或非流失类时错误率较低。

Outcome on test data when majority class is set as the reference class:
Confusion Matrix (vertical: actual; across: predicted) for F1-optimal threshold:
             0   1    Error      Rate
    0      268 419 0.609898  =419/687
    1       46 168 0.214953   =46/214
    Totals 314 587 0.516093  =465/901

Outcome on test data minority class is set as the reference class:
Confusion Matrix (vertical: actual; across: predicted) for F1-optimal threshold:
                   1   0    Error      Rate
            1      3 211 0.985981  =211/214
            0      1 686 0.001456    =1/687
            Totals 4 897 0.235294  =212/901
1个回答

GLM 本身的决策功能不依赖于“参考水平”的选择。可能取决于您的threshold,我猜它选择不当。

对于流失预测问题,您可能根本不应该使用错误率或混淆矩阵。您可以在此处阅读为什么 ROC AUC 或其他指标比准确性更受欢迎。或者,如果您仍然使用错误率,请以比让算法最大化单个类的 F1 指标更明智的方式选择阈值。

你最终需要的是为每个客户决定是否将她视为准备好流失(这肯定会花费你c1)或让她一个人呆着(但如果她搅动,你就输了c2)。如果是这种情况,如果客户流失的概率高于c1c2. 这是您的分类问题的自然阈值,您可以使用相应的成本函数来衡量您的成功。或者如果您不知道确切的损失c1c2提前使用 ROC AUC,它会平均所有可能的阈值。是的,ROC AUC 不受类平衡/不平衡的影响。