网格搜索GridSearchCV中的坑

在这里插入图片描述
我们常用的调参函数GridSearchCV有一个叫greater_is_better的属性,默认为True,这个属性是什么意思呢,就是评分越大的参数是越好的,听上去好像没什么问题,但是有些评分策略是评分越小越好,比如我们常用的MSE,当你在使用MSE来评分时,如果选择了greater_is_better=True,那么就会选择MSE分数高的参数,也就是选择了不好的参数,跟我们想要的结果恰恰相反。如果是R2,Accuracy这种分数越高越好的评分策略那选True当然没问题啦。真的是深坑啊!!现在才知道有这个属性

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
支持向量机回归(SVR)是一种非常有效的机器学习算法,可以用于预测连续型变量。然而,SVR模型的性能高度依赖于超参数的选择。因此,我们需要对超参数进行调优以得到最佳的模型。网格搜索是一种常用的调优方法,通过指定一组超参数的取值范围,GridSearchCV会自动遍历所有可能的超参数组合,并返回使得模型性能最优的超参数组合。 下面是使用GridSearchCV进行SVR参数调优的步骤: 1. 导入必要的库和数据集: ```python from sklearn.model_selection import GridSearchCV from sklearn.svm import SVR from sklearn.datasets import load_boston boston = load_boston() X = boston.data y = boston.target ``` 2. 定义超参数的取值范围: ```python param_grid = {'C': [0.1, 1, 10, 100], 'gamma': [0.1, 1, 10, 100], 'kernel': ['rbf', 'linear']} ``` 我们定义了3个超参数C、gamma和kernel的取值范围。其C表示正则化强度,gamma表示核函数系数,kernel表示核函数类型。 3. 实例化一个SVR模型对象: ```python svr = SVR() ``` 4. 使用GridSearchCV进行参数搜索: ```python grid_search = GridSearchCV(svr, param_grid, cv=5, scoring='neg_mean_squared_error') grid_search.fit(X, y) ``` 我们将SVR模型对象和超参数取值范围作为参数传递给GridSearchCVcv参数表示使用5折交叉验证,scoring参数指定了评估指标,这里使用的是均方误差(MSE)的相反数。 5. 输出最优的模型参数: ```python print(grid_search.best_params_) ``` 通过打印出来的最优参数,我们就可以使用这组参数来训练一个最优的SVR模型。 总之,使用GridSearchCV方法可以帮助我们在一定程度上避免手动调参的过程,从而得到更加优秀的模型。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值