机器学习之GridSearchCV模型调参

本文介绍如何使用GridSearchCV工具包自动选择机器学习模型的最优参数组合,包括具体代码示例及注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景

大部分机器学习模型都会有很多参数,不同的参数组合会产生不同的效果 ,如果模型数据量不是很大,也就是说运行时间不是很长,可以考虑使用GridSearchCV这个工具包自动选择输入参数中的最优组合。注意:在实际应用中,可能会遇到很大数据量,模型运行特别费计算资源和时间,这个时候用GridSearchCV可能会成本太高,需要对模型了解深入一点或者积累更多的实战经验,最后进行手动调参。

代码

本人在用GridSearchCV和XGB的时候遇到过一些技术问题,譬如pipelineGridSearchCV的配合使用问题,直接贴代码:

# pipeline
XGB_pipeline = make_pipeline(SimpleImputer(), XGBRegressor())

# 要调参数
para_grid = {'xgbregressor__learning_rate': [0.01,0.1,0.5],'xgbregressor__n_estimators':[100,500,1000]}
grid = GridSearchCV(estimator=XGB_pipeline, param_grid = para_grid,cv=5)
grid.fit(X_train, y_train)

# 输出最佳参数组合
print (grid.best_params_)

输出:

{‘xgbregressor__learning_rate’: 0.01, ‘xgbregressor__n_estimators’: 1000}

注意:
1、要调参数为dict格式,参数名前需要加小写的XGBRegressor和双下划线也就是xgbregressor__
2、每次不要放太多参数,否则运行时间会很长,最好对所调参数有一定了解,甚至可以阅读相应已发表paper
3、GridSearchCV中的参数cv表示cross validation,cross validation对小数据量样本比适用,能充分利用所有的数据进行训练。相当于做了一次cross_val_score

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值