Python sklearn.model#u选择';KFold';对象是不可编辑的
我对以下代码有问题 这就是代码Python sklearn.model#u选择';KFold';对象是不可编辑的,python,macos,python-3.x,scikit-learn,sklearn-pandas,Python,Macos,Python 3.x,Scikit Learn,Sklearn Pandas,我对以下代码有问题 这就是代码 # simulate splitting a dataset of 25 observations into 5 folds from sklearn.model_selection import KFold kf = KFold(n_splits=5, random_state=None, shuffle=False) # print the contents of each training and testing set print('{} {:^61}
# simulate splitting a dataset of 25 observations into 5 folds
from sklearn.model_selection import KFold
kf = KFold(n_splits=5, random_state=None, shuffle=False)
# print the contents of each training and testing set
print('{} {:^61} {}'.format('Iteration',
'Training set observations',
'Testing set observations'))
for iteration, data in enumerate(kf, start=1):
print('{:^9} {} {!s:^25}'.format(iteration, data[0], data[1]))
TypeError:“KFold”对象不可编辑
TypeError Traceback (most recent call last)
<ipython-input-21-13995db0f7c7> in <module>()
5 # print the contents of each training and testing set
6 print('{} {:^61} {}'.format('Iteration', 'Training set
observations', 'Testing set observations'))
----> 7 for iteration, data in enumerate(kf, start=1):
8 print('{:^9} {} {!s:^25}'.format(iteration, data[0], data[1]))
TypeError: 'KFold' object is not iterable
TypeError回溯(最近一次调用)
在()
5#打印每个培训和测试集的内容
6打印({}{:^61}{})。格式('Iteration','Training set
观察值(“测试集观察值”)
---->7对于迭代,枚举中的数据(kf,start=1):
8打印({:^9}{}{!s:^25})。格式(迭代,数据[0],数据[1]))
TypeError:“KFold”对象不可编辑
类“交叉验证”中有一个参数“y”(样本以K倍分割):
类sklearn.cross_validation.StratifiedKFold(y,n_fold=3,shuffle=False,random_state=None)[来源]
在类模型_选择中,此参数对我来说不够
# simulate splitting a dataset of 25 observations into 5 folds
from sklearn.model_selection import KFold
kf = KFold(n_splits=5, random_state=None, shuffle=False)
Vec = np.arange(0,26)
# print the contents of each training and testing set
print('{} {:^61} {}'.format('Iteration',
'Training set observations',
'Testing set observations'))
for iteration, data in enumerate(kf.split(Vec), start=1):
print('{:^9} {} {!s:^25}'.format(iteration, data[0], data[1]))
原始代码中唯一需要的更改是
kf.split(X)
,而不仅仅是kf
。