我希望能够使用交叉验证从逻辑回归模型中预测概率。我知道可以获取交叉验证分数,但是是否有可能返回predict_proba的值而不是分数?
我希望能够使用交叉验证从逻辑回归模型中预测概率。我知道可以获取交叉验证分数,但是否可能返回predict_proba的值而不是分数?
# imports
from sklearn.linear_model import LogisticRegression
from sklearn.cross_validation import (StratifiedKFold, cross_val_score,
train_test_split)
from sklearn import datasets
# setup data
iris = datasets.load_iris()
X = iris.data
y = iris.target
# setup model
cv = StratifiedKFold(y, 10)
logreg = LogisticRegression()
# cross-validation scores
scores = cross_val_score(logreg, X, y, cv=cv)
# predict probabilities
Xtrain, Xtest, ytrain, ytest = train_test_split(X, y)
logreg.fit(Xtrain, ytrain)
proba = logreg.predict_proba(Xtest)
RandomForestClassifier
,但出现了这个错误ValueError: Can't handle mix of binary and continuous-multioutput
。 - vlsdpredict_proba
添加[:,1]
,因为它返回每个类别(“0”,“1”)的概率,而你可能对“1”类别感兴趣。 - ihadanny