老规矩,先上源代码:
from sklearn.model_selection import GridSearchCV
param_grid =[
{
'n_eatimatiors':[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)
grid_search=GridSearchCV(forest_reg,param_grid,cv=5,
scoring='neg_mean_squared_error',return_train_score=True)
grid_search.fit(housing_prepared,housing_labels)
介绍下这段代码的应用方向和实现效果,
模型调参和网格搜索
1.手动调整超参数,找到很好的组合时很困难的
2.使用GridSearchCV替你进行搜索,告诉GridSearchCV,进行试验的超参数是什么,以及需要尝试的值,他会使用交叉验证评估所有超参数的可能组合
上述代码运行后的效果:
ValueError Traceback (most recent call last)
<ipython-input-353-54613827b5ad> in <module>
8 grid_search=GridSearchCV(forest_reg,param_grid,cv=5,
9 scoring='neg_mean_squared_error',return_train_score=True)
---> 10 grid_search.fit(housing_prepared,housing_labels)
d:\python3.8.5\lib\site-packages\sklearn\utils\validation.py in inner_f(*args, **kwargs)
70 FutureWarning)
71 kwargs.update({
k: arg for k, arg in zip(sig.parameters, args)})
---> 72 return f(**kwargs)
73 return inner_f
74
d:\python3.8.5\lib\site-packages\sklearn\model_selection\_search.py