如何获得在sklearn. cross_validate .cross_val_score中内部分区的折叠本身



我使用的是:

sklearn.cross_validation.cross_val_score

进行交叉验证并获得每次运行的结果。

该函数的输出是分数。

是否有一种方法来获得在cross_val_score函数内部分区的折叠(分区)本身?

没有办法提取cross_val_score中使用的内部交叉验证分割,因为该函数不公开任何关于它的状态。如文档中所述,可以使用k-fold或分层k-fold与k=3

但是,如果您需要跟踪所使用的交叉验证分割,您可以通过创建自己的交叉验证迭代器显式地传递cross_val_scorecv参数:

from sklearn.cross_validation import KFold, cross_val_score
from sklearn.datasets import load_iris
from sklearn.svm import SVC
iris = load_iris()
kf = KFold(len(iris.target), 5, random_state=0)
clf = SVC(kernel='linear', C=1)
scores = cross_val_score(clf, iris.data, iris.target, cv=kf)

cross_val_score的默认交叉验证器是一个分类K=3的StratifiedKFold。您可以通过使用StratifiedKFold并在分割上循环来获得交叉验证迭代器,如示例所示。

相关内容

  • 没有找到相关文章