得到每个交叉验证折叠的混淆矩阵

时间:2018-03-31 12:39:18

标签: scikit-learn pipeline cross-validation confusion-matrix

我正在使用scikit-learn通过交叉验证运行带有逻辑回归的管道。我从下面的代码中得到每个折叠的分数。我如何得到混淆矩阵?

clf = make_pipeline(MinMaxScaler(), LogisticRegression())
scores = cross_val_score(clf, X_train, y_train, cv=3)

1 个答案:

答案 0 :(得分:1)

我认为你想要的是:

clf = make_pipeline(MinMaxScaler(), LogisticRegression())

from sklearn.model_selection import cross_val_predict
from sklearn.metrics import confusion_matrix
y_pred = cross_val_predict(clf, X_train, y_train, cv=3)
conf_mat = confusion_matrix(y, y_pred)

来自scikit-learn在线文档的3.1.1.2

  

函数cross_val_predict具有类似的接口   cross_val_score,但是为输入中的每个元素返回   在测试中为该元素获得的预测   组。只有将所有元素分配给a的交叉验证策略   可以使用一次测试集(否则会引发异常)。

     

请注意,此计算的结果可能与使用cross_val_score获得的结果略有不同,因为元素以不同方式分组。

相关问题