machine-learning - 具有不同基础学习器的 AdaBoostClassifier

标签 machine-learning scikit-learn adaboost

我正在尝试将 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,
BernoulliNB,
DecisionTreeClassifier,
ExtraTreeClassifier,
ExtraTreesClassifier,
MultinomialNB,
NuSVC,
Perceptron,
RandomForestClassifier,
RidgeClassifierCV,
SGDClassifier,
SVC.

如果分类器未实现 predict_proba,您必须设置 AdaBoostClassifier 参数算法 = 'SAMME'。

关于machine-learning - 具有不同基础学习器的 AdaBoostClassifier,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18306416/

相关文章:

scikit-learn - 使用随机森林时在 scikit-learn 中表示因子变量的方法是什么?

machine-learning - 为什么SAMME.R AdaBoost算法中的estimator_weight设置为1

algorithm - 最先进的分类算法

machine-learning - 先PCA还是先归一化?

python - keras 中的 1d CNN 音频

python - 在 python 中训练随机森林时,哪种 dtype 表现更好?

python - 如何在 Sklearn 中 reshape 我的测试数据? (特征选择)

adaboost - 如果错误率为零,如何计算 alpha (Adaboost)

machine-learning - 多尺度CNN

python - 集成 MLFlow 的线性回归模型