【问题标题】:Memory error with AdaBoosClassifierAdaBoosClassifier 出现内存错误
【发布时间】:2016-02-26 21:49:11
【问题描述】:

我定义AdaBoostClassifier如下:

adaboost = AdaBoostClassifier(base_estimator=ensemble.RandomForestClassifier(bootstrap=True, class_weight=None, criterion='gini',
                                        max_depth=20, max_features=300, max_leaf_nodes=None,
                                        min_samples_leaf=1, min_samples_split=6,
                                        min_weight_fraction_leaf=0.0, n_estimators=580, n_jobs=1),
                                  algorithm='SAMME.R',
                                  n_estimators=20,
                                  learning_rate=1.0)

ada = adaboost.fit(X, y)

最后一行代码(我适合模型的地方)触发了 MemoryError。为什么会发生这种情况以及如何解决这个问题?

【问题讨论】:

    标签: python scikit-learn sklearn-pandas


    【解决方案1】:

    您的系统正在尝试分配比您可用的更多的内存。

    当您将 AdaBoost 与一个非常复杂的基础学习器一起使用时,这在一定程度上是意料之中的:一个由 580 棵树组成的随机森林。使用不太复杂的基础模型,如低深度决策树。

    来自sklearn AdaBoost docs(粗体是我的):

    AdaBoost的核心原理是拟合一个weak的序列 学习者(即仅比随机模型稍微好一点的模型 猜测,例如小型决策树

    【讨论】:

      猜你喜欢
      • 2020-04-13
      • 1970-01-01
      • 2022-01-12
      • 2017-12-12
      • 2015-01-27
      • 2021-02-22
      • 2016-06-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多