【问题标题】:sklearn.model_selection 'KFold' object is not iterablesklearn.model_selection 'KFold' 对象不可迭代
【发布时间】:2018-04-17 20:37:41
【问题描述】:

下面的代码有问题

这是代码

# 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

【问题讨论】:

    标签: python macos python-3.x scikit-learn sklearn-pandas


    【解决方案1】:

    “cross_validation”类中有一个参数“y”(要拆分为 K 折的样本):

    class sklearn.cross_validation.StratifiedKFold(y, n_folds=3, shuffle=False, random_state=None)[来源]

    类model_selection这个参数对我来说不够用

    # 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
    猜你喜欢
    • 2018-07-16
    • 2017-05-15
    • 2018-06-02
    • 1970-01-01
    • 2019-11-12
    • 2017-01-05
    • 2015-11-11
    • 2021-06-06
    • 2013-05-27
    相关资源
    最近更新 更多