KFold函数 __init__() got an unexpected keyword argument 'n_folds'

背景:想要导入用于k折交叉验证的包

现象:报错 __init__() got an unexpected keyword argument 'n_folds'

原因:导入错误的KFold包

错误写法:

from sklearn.model_selection import KFold
kf=KFold(ntrain,n_folds=NFOLDS,random_state=0)

正确写法:

 from sklearn.cross_validation import KFold
 kf=KFold(ntrain,n_folds=NFOLDS,random_state=0)

另外,其实from sklearn.cross_validation import KFold已经被弃用,而改为推荐from sklearn.model_selection import KFold

所以出现该错误的本质原因在于,导入了新的KFold包,但是使用了旧的代码、旧的接口,所以不匹配,找不到参数。

详见 https://www.e-learn.cn/content/qita/807476

你可能感兴趣的:(Data,Mining)