以下示例脚本输出预测值和预测概率:
Original Answer翻译成"最初的回答"
from sklearn import datasets, linear_model
from sklearn.model_selection import cross_val_predict
diabetes = datasets.load_diabetes()
X = diabetes.data
y = diabetes.target
lg = linear_model.LogisticRegression(random_state=0, solver='lbfgs')
y_prob = cross_val_predict(lg, X, y, cv=4, method='predict_proba')
y_pred = cross_val_predict(lg, X, y, cv=4)
y_prob[0:5]
y_pred[0:5]
我曾尝试以下方法但均未成功:
test = cross_val_predict(lg, X, y, cv=4, method=['predict','predict_proba'])
问题:有没有一种方法可以在一步中获取预测值和预测概率,而不必运行两次交叉验证?此外,我必须确保值和概率对应于相同的输入数据。
最初的回答:您可以使用predict()函数来获取预测值,使用predict_proba()函数来获取预测概率。这两个函数都需要使用训练后的模型作为参数,并将相同的输入数据传递给它们。请注意,predict()函数返回的是分类结果,而predict_proba()函数返回的是每个类别的概率值。