我面临一个找不到任何答案的问题。我有一个二进制分类问题(输出Y = 0或Y = 1),其中Y = 1是少数类(实际上Y = 1表示公司的默认值,原始数据帧中的比例为0.02)。 因此,我仅在训练集上使用SMOTE算法计算了过采样(在训练集和测试集中拆分了数据框之后)。我在训练集上训练了逻辑回归(比例为“ defaut” = 0.3),然后查看ROC曲线和MSE,以测试我的算法是否可以很好地预测默认值。 我在AUC(AUC = 0.89)和MSE(MSE = 0.06)方面都取得了很好的结果。 但是,当我尝试更精确地和单独地查看我的预测时,我发现20%的违约率没有得到很好的预测。 您是否有一种方法可以很好地评估我的预测的质量(质量对我来说意味着可以预测默认值的预测)。我以为AUC是一个很好的标准... 到目前为止,您还有没有一种方法可以改善我的回归? 谢谢
答案 0 :(得分:3)
对于每个分类问题,您都可以构建 confusion matrix 。
这是双向输入矩阵,您不仅可以看到真阳性/真阴性( TP / TN ),它们是正确的预测,但也误报( FP )/误报( FN ),这在大多数情况下是您真正的兴趣所在。
FP和FN是您的模型所犯的错误,您可以通过使用灵敏度来跟踪模型在检测TP(1-FP)或TN(1-FN)方面的性能。 strong>或特殊性(link)。
请注意,您不能不降低一个而提高一个。因此有时您需要选择一个。
F1-score是一个不错的折衷方案,它试图将两者取平均值。
因此,如果您对默认值更感兴趣(让我们想象defaults=Positive Class
),您将更喜欢具有更高敏感性的模型。但是请记住,也不要完全忽略其特异性。
下面是R中的示例代码:
# to get the confusion matrix and some metrics
caret::confusionMatrix(iris$Species, sample(iris$Species))