【问题标题】:Python - Random Forest - Iteratively adding treesPython - 随机森林 - 迭代添加树
【发布时间】:2015-10-26 19:56:35
【问题描述】:

我正在 Python 上做一些机器学习任务。我需要构建 RandomForest,然后构建一个图表,该图表将显示训练和测试样本的质量如何取决于随机森林中的树木数量。每次有一定数量的树都需要建立一个新的随机森林吗?或者我可以以某种方式迭代地添加树(如果可能的话,你能给出代码示例如何做到这一点)?

【问题讨论】:

    标签: python scikit-learn random-forest


    【解决方案1】:

    您可以使用RandomForestClassifierwarm start 参数来做到这一点。

    这是一个可以适应您的特定需求的示例:

    errors = []
    growing_rf = RandomForestClassifier(n_estimators=10, n_jobs=-1,  
                                        warm_start=True, random_state=1514)
    for i in range(40):
        growing_rf.fit(X_train, y_train)
        growing_rf.n_estimators += 10
        errors.append(log_loss(y_valid, growing_rf.predict_proba(X_valid)))
    
    _ = plt.plot(errors, '-r')
    

    这是我得到的:

    【讨论】:

    • 我相信,更新n_estimators更正确的方法是使用growing_rf.set_params(n_estimators=...)
    猜你喜欢
    • 2012-10-25
    • 2016-07-05
    • 2016-10-08
    • 2021-05-29
    • 2021-04-24
    • 2016-03-04
    • 2018-10-26
    • 2019-10-23
    • 2020-08-16
    相关资源
    最近更新 更多