sklearn导入KFold时TypeError: __init__() got multiple values for argument shuffle not iterable报错解决方案

在使用sklearn老版本中KFold时会出现如下报错:

TypeError: __init__() got multiple values for argument 'shuffle'

老版本中:

from sklearn.cross_validation import KFold

KFold(n,5,shuffle=False) # n为总数,需要传入三个参数

在新版中通过:

from sklearn.model_selection import KFold

导入KFold后,只需两个参数即可:

fold = KFold(5,shuffle=False) # 无需传入n。

改成两个参数后可能继续出现如下报错:

TypeError: 'KFold' object is not iterable

此时应该考虑将代码改写成:

fold = KFold(5,shuffle=False).split(n)

其中n是需要训练的样本的总数。

你可能感兴趣的:(python库报错解决方案)