强制sklearn交叉验证分数使用分层k折?

Mar*_*tin 9 python scikit-learn k-fold

基于Sklearn 文档

  • 是否可以强制使用StratifiedKFold
  • 我如何知道哪个KFold已被使用?

mak*_*kis 9

用这个:

 cross_val_score(estimator, X, y, cv=YOURCHOICE)
Run Code Online (Sandbox Code Playgroud)

例子:

from sklearn import datasets, linear_model
from sklearn.model_selection import cross_val_score
diabetes = datasets.load_diabetes()
from sklearn.model_selection import StratifiedKFold

X = diabetes.data[:150]
y = diabetes.target[:150]
lasso = linear_model.Lasso()

skf = StratifiedKFold(n_splits=2)
results = cross_val_score(lasso, X, y, cv=skf) 

Run Code Online (Sandbox Code Playgroud)