Lea*_*uch 1 python-2.7 scikit-learn
我必须交付一个机器学习项目,并且收到了一个名为的文件tester.py。在另一个文件中完成代码后,我必须运行tester.py才能查看结果,但是出现错误:TypeError: 'StratifiedShuffleSplit' object is not iterable
我在另一个主题和网站上研究了此错误,解决方案始终相同:使用sklearn.model_selection导入GridSearchCV。自开始以来,我已经在这样做了,但是文件teste.py无法运行。
发生问题的来自teste.py的代码部分是:
def main():
### load up student's classifier, dataset, and feature_list
clf, dataset, feature_list = load_classifier_and_data()
### Run testing script
test_classifier(clf, dataset, feature_list)
if __name__ == '__main__':
main()
Run Code Online (Sandbox Code Playgroud)
我自己的代码工作正常。
有什么帮助吗?
小智 7
尝试更改以下tester.py行。当前版本StratifiedShuffleSplit的工作方式与开发tester.py时的预期方式不同。
[..]
from sklearn.model_selection import StratifiedShuffleSplit
[..]
#cv = StratifiedShuffleSplit(labels, folds, random_state = 42)
cv = StratifiedShuffleSplit(n_splits=folds, random_state=42)
[..]
#for train_idx, test_idx in cv:
for train_idx, test_idx in cv.split(features, labels):
[..]
Run Code Online (Sandbox Code Playgroud)
希望对你有帮助