Execution time of AdaBoost with SVM base classifier

后端 未结 2 1826
自闭症患者
自闭症患者 2020-12-20 03:31

I just made a Adaboost Classifier with these parameters,

1.n_estimators = 50

2.base_estimator = svc ( which is a support vector classifier )

3.learning_

2条回答
  •  庸人自扰
    2020-12-20 04:16

    In practice, we never use SVMs as base classifiers for Adaboost.

    Adaboost (and similar ensemble methods) were conceived using decision trees as base classifiers (more specifically, decision stumps, i.e. DTs with a depth of only 1); there is good reason why still today, if you don't specify explicitly the base_classifier argument, it assumes a value of DecisionTreeClassifier(max_depth=1). DTs are suitable for such ensembling because they are essentially unstable classifiers, which is not the case with SVMs, hence the latter are not expected to offer much when used as base classifiers.

    On top of this, SVMs are computationally much more expensive than decision trees (let alone decision stumps), which is the reason for the long processing times you have observed.

    Unless you have a very good reason to stick to SVMs as base classifiers (and I highly doubt that you do), remove the base_estimator = svc in order to revert to the default setting, and most probably you will be fine.

提交回复
热议问题