带有 SVM 基分类器的 AdaBoost 的执行时间

2024-01-11

我刚刚用这些参数制作了一个 Adaboost 分类器,

1.n_estimators = 50

2.base_estimator = svc(支持向量分类器)

3.learning_rate = 1

这是我的代码:

from sklearn.ensemble import AdaBoostClassifier
from sklearn.svm import SVC

svc = SVC(kernel = 'linear',probability = True)

ABC = AdaBoostClassifier(n_estimators = 50, base_estimator = svc, learning_rate = 1)

ABC.fit(X,Y)

数据集有 18 个自变量和 1 个分类因变量数据集有 10480 个数据点

每当我运行这个时,都会花费很多时间,但没有任何结果。

有什么办法可以检查执行时间吗?或者有更好的方法来做到这一点?


在实践中,我们never使用 SVM 作为 Adaboost 的基分类器。

Adaboost(以及类似的集成方法)是使用决策树作为基分类器(更具体地说,决策stumps,即深度仅为 1) 的 DT;如果您没有明确指定,那么今天仍然有充分的理由base_classifier参数,它假设值为DecisionTreeClassifier(max_depth=1)。 DT 适合这种集成,因为它们本质上是unstable分类器的情况与 SVM 不同,因此后者在用作基分类器时预计不会提供太多功能。

除此之外,SVM 在计算上比决策树昂贵得多(更不用说决策树了)stumps),这就是您观察到的处理时间较长的原因。

除非你有一个very坚持使用 SVM 作为基本分类器的充分理由(我非常怀疑你这样做),删除base_estimator = svc为了恢复到默认设置,很可能你会没事的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

带有 SVM 基分类器的 AdaBoost 的执行时间 的相关文章

随机推荐