来自 R 中 SVM 概率的信用评分

Posted

技术标签:

【中文标题】来自 R 中 SVM 概率的信用评分【英文标题】:credit score from SVM probabilities in R 【发布时间】:2021-02-06 02:21:00 【问题描述】:

我正在尝试计算 R 中 Germancredit 数据框的信用评分。我使用线性 SVM 分类器来预测 0 和 1(即 0 = 好,1 = 坏)。

我设法使用以下代码从 SVM 分类器中生成概率。

final_pred = predict(classifier, newdata = data_treated[1:npredictors], decision.values = TRUE, probability = TRUE)

probs = attr(final_pred,"probabilities")

我想知道如何读取这些概率输出。示例输出在这里。 以下输出是否意味着,如果预测为 1(默认)在第五行,则概率为 0.53601166。

              0          1 Prediction
1    0.90312125 0.09687875 0
2    0.57899408 0.42100592 0
3    0.93079172 0.06920828 0
4    0.76600082 0.23399918 0
5    0.46398834 0.53601166 1

然后我可以像我们通常使用逻辑回归模型那样使用上述各自的概率来开发信用评分卡

【问题讨论】:

【参考方案1】:

您得到结果 0 或 1 的概率。每行的前两列总和为 1,并为您提供总体概率。您的解释对我来说似乎是正确的,即发生违约的可能性为 0.53,而不是 p = 0.46 时没有发生违约的可能性。

是的,您可以使用该模型来开发信用记分卡。请注意,您不一定需要使用 0.5 作为临界值来决定公司或个人 X 是否会违约。

【讨论】:

以上是关于来自 R 中 SVM 概率的信用评分的主要内容,如果未能解决你的问题,请参考以下文章

《信用评分卡模型分数校准》

信用模型总结

信用风险评分方法

风控信用评分-(scorecard)记分卡开发流程,详细介绍分数校准原理calibratio

拒绝推断问题(转)

信用评分卡模型开发中双峰分布原因及解决方案