我正在尝试将AdaBoostClassifier与除DecisionTree以外的基础学习器一起使用。我已经尝试过SVM和KNeighborsClassifier,但出现错误。有人可以指出可以与AdaBoostClassifier一起使用的分类器吗?
最佳答案
好的,我们有一种系统的方法来找出AdaBoostClassifier支持的所有基础学习者。兼容的基础学习者的fit方法需要支持sample_weight,可以通过运行以下代码来获得:
import inspect
from sklearn.utils.testing import all_estimators
for name, clf in all_estimators(type_filter='classifier'):
if 'sample_weight' in inspect.getargspec(clf().fit)[0]:
print name
结果为以下输出:
AdaBoostClassifier,
伯努利NB,
DecisionTreeClassifier,
ExtraTreeClassifier,
ExtraTreesClassifier,
多项式NB
NuSVC,
感知器
RandomForestClassifier,
RidgeClassifierCV,
SGDClassifier,
SVC。
如果分类器未实现predict_proba,则必须设置AdaBoostClassifier参数algorithm ='SAMME'。
感谢Andreas展示了如何列出所有估算器。
关于machine-learning - 具有不同基础学习者的AdaBoostClassifier,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18306416/