首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用GridSearchCV学习随机森林超参数调优

使用GridSearchCV学习随机森林超参数调优
EN

Stack Overflow用户
提问于 2016-02-02 21:41:35
回答 1查看 12K关注 0票数 9

我试图使用随机森林来解决我的问题(下面是波士顿数据集的示例代码,而不是我的数据)。我计划使用GridSearchCV进行超参数调优,但是不同参数的值范围应该是多少呢?我如何知道我选择的范围是正确的?

我在互联网上读到了这件事,有人建议在第二个网格搜索中“放大”(例如,如果是10,那么试试5,20,50)。

这样做对吗?我是否应该将这种方法用于随机森林所需的所有参数?这种方法可能会错过一个“好的”组合,对吗?

代码语言:javascript
复制
import numpy as np
from sklearn.grid_search import GridSearchCV
from sklearn.datasets import load_digits
from sklearn.ensemble import RandomForestRegressor
digits = load_boston()
X, y = dataset.data, dataset.target
model = RandomForestRegressor(random_state=30)
param_grid = { "n_estimators"      : [250, 300],
           "criterion"         : ["gini", "entropy"],
           "max_features"      : [3, 5],
           "max_depth"         : [10, 20],
           "min_samples_split" : [2, 4] ,
           "bootstrap": [True, False]}
grid_search = GridSearchCV(clf, param_grid, n_jobs=-1, cv=2)
grid_search.fit(X, y)
print grid_search.best_params_
EN

回答 1

Stack Overflow用户

发布于 2016-02-02 21:55:19

粗到细实际上是用来寻找最佳参数的。您首先从范围广泛的参数开始,并在接近最佳结果时对它们进行细化。

我找到了一个很棒的库,它为scikit做了超参数优化--学习,超滑。它可以自动调整您的RandomForest或任何其他标准分类器。你甚至可以同时对不同的分类器进行自动调整和基准测试.

我建议您从这一点开始,因为它实现了不同的方案以获得最佳参数:

随机搜索 Parzen估计树(TPE) 退火 树 高斯过程树

编辑:

在回归的情况下,您仍然需要断言您的预测在测试集上是否良好。

无论如何,粗到细的方法仍然有效,对任何估计者都是有效的.

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35164310

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档