Python 2.7 “这可能是什么原因?”;类型错误:';分层吹扫剥离';对象不可编辑;?

Python 2.7 “这可能是什么原因?”;类型错误:';分层吹扫剥离';对象不可编辑;?,python-2.7,scikit-learn,Python 2.7,Scikit Learn,我必须交付一个机器学习项目,我收到了一个名为tester.py的文件。在另一个文件中完成代码编写后,我必须运行tester.py以查看结果,但我得到一个错误:TypeError:'StratifiedShuffleSplit'对象不可编辑 我在另一个主题和网站上研究过这个错误,解决方法总是一样的:使用sklearn.model_selection导入GridSearchCV。我从一开始就已经这样做了,但是文件tester.py没有运行 tester.py中出现问题的代码部分是: def main

我必须交付一个机器学习项目,我收到了一个名为
tester.py
的文件。在另一个文件中完成代码编写后,我必须运行tester.py以查看结果,但我得到一个错误:
TypeError:'StratifiedShuffleSplit'对象不可编辑

我在另一个主题和网站上研究过这个错误,解决方法总是一样的:使用sklearn.model_selection导入GridSearchCV。我从一开始就已经这样做了,但是文件tester.py没有运行

tester.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()
我自己的代码运行良好


有什么帮助吗?

尝试更改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):
[..]

我希望您会发现它很有用

显示完整的堆栈跟踪和使用分层shufflesplit的实际代码。我只是想说这是适用于Python3的Udacity ML项目的最佳解决方案。我也有同样的问题,我可以确认这在2月19日仍然有效。谢谢你,耶稣!我验证了建议的解决方案可以与Python 2.7.17一起使用。