Python 如何确定交叉验证是否使用分层K折叠?
我想确保Python 如何确定交叉验证是否使用分层K折叠?,python,scikit-learn,cross-validation,Python,Scikit Learn,Cross Validation,我想确保cross\u validate使用分层CV。书中写着 对于int/None输入,如果估计器是分类器且y为 使用二元或多类分层折叠。在所有其他情况下, 使用KFold 我的估计器是一个分类器,我的因变量是二进制的。因此,在理论上,通过设置cv=None我应该获得分层的cv 我怎么能确定呢?如何在此处检查交叉验证: rfc_score = cross_validate(rfc, desc_tfidf, labels, scoring=metrics) 是否真的在使用分层CV?从交叉验证中
cross\u validate
使用分层CV。书中写着
对于int/None输入,如果估计器是分类器且y为
使用二元或多类分层折叠。在所有其他情况下,
使用KFold
我的估计器是一个分类器,我的因变量是二进制的。因此,在理论上,通过设置cv=None
我应该获得分层的cv
我怎么能确定呢?如何在此处检查交叉验证
:
rfc_score = cross_validate(rfc, desc_tfidf, labels, scoring=metrics)
是否真的在使用分层CV?从交叉验证中,我们可以看到,该方法的实际运行情况是:
cv = check_cv(cv, y, classifier=is_classifier(estimator))
在这方面,我们有:
cv = 5 if cv is None else cv
if isinstance(cv, numbers.Integral):
if (classifier and (y is not None) and
(type_of_target(y) in ('binary', 'multiclass'))):
return StratifiedKFold(cv)
else:
return KFold(cv)
这正是文档所声称的。从交叉验证
中,我们可以看到,该方法运行的最重要的功能是:
cv = check_cv(cv, y, classifier=is_classifier(estimator))
在这方面,我们有:
cv = 5 if cv is None else cv
if isinstance(cv, numbers.Integral):
if (classifier and (y is not None) and
(type_of_target(y) in ('binary', 'multiclass'))):
return StratifiedKFold(cv)
else:
return KFold(cv)
这正是文档所声称的