【发布时间】:2020-07-17 07:47:24
【问题描述】:
我正在使用 scikit-learn 运行一堆模型来解决分类问题。
如何迭代不同的 scikit-learn 模型?
from sklearn.ensemble import AdaBoostClassifier
from sklearn.naive_bayes import BernoulliNB
from sklearn.dummy import DummyClassifier
classifiers_name = ['AdaBoostClassifier',
'BernoulliNB',
'DummyClassifier']
def fitting_classifier(clf, X_train, y_train):
return clf.fit(X_train, y_train)
for clf_n in classifiers_name:
locals()['results_' + clf_n] = fitting_classifier(locals()[clf_n + str(())], X_train, y_train)
我似乎在这部分代码中遇到了错误:fitting_classifier(locals()[clf_n + str(())], X_train, y_train)。显示的错误是:
<ipython-input-31-cccf30ff4392> in summary_scores(file_path, image_format, scores)
140 for clf_sn in classifiers_name:
--> 141 locals()['results_' + clf_n] = fitting_classifier(locals()[clf_n + str(())], X_train, y_train)
142
143 # results_AdaBoostClassifier = fitting_classifier(AdaBoostClassifier(), X_train, y_train)
KeyError: 'AdaBoostClassifier()'
对此的任何帮助将不胜感激。谢谢。
【问题讨论】:
-
谢谢。我需要迭代,因为我想为报告生成输出。如果您知道一种迭代分类器类的方法,那就太好了
-
我发布的链接显示了如何迭代分类器,对于某些分类器还有一个循环不同数据集。
标签: python loops for-loop scikit-learn globals