GridSearchCV的用法

在机器学习中一些模型不同超参的训练效果差别会很大,对此,除了无脑遍历之外,sklearn提供了GridSearch帮助我们选择训练效果最优的参数。
在此,仅记录一下GridSearchCV的使用方法:
这里以选择决策树参数为例

from sklearn.tree import DecisionTreeRegressor
from sklearn.model_selection import GridSearchCV
regressor = DecisionTreeRegressor()
params = {'max_depth':[1,2,3,4,5,6,7,8,9,10]} #参数可以同时设置多个,但不建议设置太多,组合过多很使计算复杂度陡增而让你等很久,很久
performance_metric = r2_score(y_true, y_predict)
scoring_fnc = make_scorer(performance_metric)
grid = GridSearchCV(estimator=regressor, param_grid=params, scoring=scoring_fnc, cv=cross_validator)

# 基于输入数据 [X,y],进行网格搜索
grid = grid.fit(X, y)
print("best param" + str(grid.best_params_))
print("best score" + str(grid.best_score_))
# 返回网格搜索后的最优模型
best_estimator = grid.best_estimator_ 

经GridSearchCV计算返回的grid对象既可以fit(),也可以返回最佳参数以及它的得分,grid.best_estimator_还可以返回最佳模型,非常适合我这种不愿敲代码的懒人

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值