我有一个逻辑回归模型试图预测A或B这两个类别之一。
我的目标是在预测A时最大程度地提高准确性。确定班级时,是否可以调整默认决策阈值?
classifier = LogisticRegression(penalty = 'l2',solver = 'saga', multi_class = 'ovr')
classifier.fit(np.float64(X_train), np.float64(y_train))
谢谢! RB
答案 0 :(得分:1)
如评论中所述,选择阈值的过程在训练后完成。您可以找到使所选实用程序功能最大化的阈值,例如:
from sklearn import metrics
preds = classifier.predict_proba(test_data)
tpr, tpr, thresholds = metrics.roc_curve(test_y,preds[:,1])
print (thresholds)
accuracy_ls = []
for thres in thresholds:
y_pred = np.where(preds[:,1]>thres,1,0)
# Apply desired utility function to y_preds, for example accuracy.
accuracy_ls.append(metrics.accuracy_score(test_y, y_pred, normalize=True))
之后,选择使所选效用函数最大化的阈值。在您的情况下,请选择使1
中的y_pred
最大化的阈值。