sklearn导入KFold时TypeError:__init__ 得到多个参数值 shuffle 不可迭代报错解决方案
最编程
2024-07-09 12:23:15
...
在使用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是需要训练的样本的总数。
上一篇: 什么是 3PR 模式