考虑以下用例(这完全来自 James 等人的统计学习简介)。
您试图根据各种个人数据预测信用卡所有者是否会违约。您正在使用线性判别分析(或者,就本问题而言,二次判别分析)。
您希望估算器优先考虑真阳性率而不是假阳性率。也就是说,正确识别即将发生的违约比预测未能实现的违约更重要。
在 sklearn.lda.LDA 和/或 sklearn.qda.QDA 类中是否有设置?我认为也许用 class_prior 命名参数构建它们是合适的,但这似乎不被接受。
您可以使用 lda.predict_proba 更改决策阈值,然后手动设置概率阈值:
lda = LDA().fit(X_train, y_train)
probs_positive_class = lda.predict_proba(X_test)[:, 1]
# say default is the positive class and we want to make few false positives
prediction = probs_positive_class > .9
Run Code Online (Sandbox Code Playgroud)
这会给你一个非常保守的估计他们是否会违约(只有在 90% 确定时才会说他们违约)。0.9 是否实际上对应于 90% 的确定性取决于分类器的校准程度。
| 归档时间: |
|
| 查看次数: |
1404 次 |
| 最近记录: |