我正在阅读使用GridSearchCV对模型进行微调,我遇到了下面显示的参数网格:
param_grid = [
{'n_estimators': [3, 10, 30], 'max_features': [2, 4, 6, 8]},
{'bootstrap': [False], 'n_estimators': [3, 10], 'max_features': [2, 3, 4]},
]
forest_reg = RandomForestRegressor(random_state=42)
# train across 5 folds, that's a total of (12+6)*5=90 rounds of training
grid_search = GridSearchCV(forest_reg, param_grid, cv=5,
scoring='neg_mean_squared_error')
grid_search.fit(housing_prepared, housing_labels)
这里我没有得到n_estimator和max_feature的概念。它是否像n_estimator表示数据中的记录数,max_features表示从数据中选择的属性数?
进一步后,我得到了这个结果:
>> grid_search.best_params_
{'max_feature':8, 'n_estimator':30}
所以事情是我没有得到实际上这个结果想说的话。
答案 0 :(得分:6)
阅读RandomForest Regressor的文档后,您可以看到n_estimators
是林中要使用的树的数量。由于Random Forest是一种包含创建多个决策树的集合方法,因此该参数用于控制在该过程中使用的树的数量。
max_features
确定查找拆分时要考虑的最大要素数。有关max_features
阅读this answer。
答案 1 :(得分:1)
n_estimators:这是树的数量 (一般来说,此算法将在其上起作用的样本数量,然后将其汇总以提供最终答案) 您想要在进行最大投票或预测平均值之前进行构建。数量更多的树可为您提供更好的性能,但会使您的代码变慢。
max_features:寻找最佳分割时要考虑的功能数量。
-70 + 210 = 140
这意味着它们是您应该在 n_estimators {3,10,30}或 max_features {2,4,6,8}
中运行模型的最佳超参数>