考虑以下用例(这完全来自James等人的“统计学习简介”)。
您正在尝试根据各种个人数据预测信用卡所有者是否会违约。您正在使用线性判别分析(或者,出于此问题的目的,使用二次判别分析)。
您希望您的估算人员优先考虑误报率的真阳性率。也就是说,正确识别即将发生的默认值比预测未能实现的默认值更重要。
sklearn.lda.LDA和/或sklearn.qda.QDA课程中是否有此设置?我想也许使用class_prior命名参数构建它们是合适的,但这似乎不被接受。
答案 0 :(得分:4)
您可以使用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
这将为您提供一个非常保守的估计,即它们是否会默认(只会说它们默认为90%)。 是否.9实际上对应于90%确定取决于分类器的calibrated有多好。