DataWhale集成学习Task4--对模型超参数进行调优


摘要:在Task4中,我们对模型的优化都是通过对模型本身进行改进的,这很大程度上决定于经验,那么,有没有其他的办法找到最佳参数 λ \lambda λ呢?

参数与超参数的区别

参数

模型参数是模型内部的配置变量,其值可以根据数据进行估计。

  • 进行预测时需要参数。
  • 它参数定义了可使用的模型。
  • 参数是从数据估计或获悉的。
  • 参数通常不由编程者手动设置。
  • 参数通常被保存为学习模型的一部分。
  • 参数是机器学习算法的关键,它们通常由过去的训练数据中总结得出。

超参数

模型超参数是模型外部的配置,其值无法从数据中估计。

  • 超参数通常用于帮助估计模型参数。
  • 超参数通常由人工指定。
  • 超参数通常可以使用启发式设置。
  • 超参数经常被调整为给定的预测建模问题。

超参数调优的两个例子(sklearn)

在这里,我们使用支持向量机回归SVR,作为超参数调优的例子(这里结合了管道来调优)

# 引入相关科学计算包
import numpy as np
from sklearn import datasets
from sklearn.metrics import mean_squared_error
from lightgbm import LGBMRegressor
boston = datasets.load_boston()     # 返回一个类似于字典的类
X = boston.data
y = boston.target
boston_data.head()
CRIM ZN INDUS CHAS NOX RM AGE DIS RAD TAX PTRATIO B LSTAT Price
0 0.00632 18.0 2.31 0.0 0.538 6.575 65.2 4.0900 1.0 296.0 15.3 396.90 4.98 24.0
1 0.02731 0.0 7.07 0.0 0.469 6.421 78.9 4.9671 2.0 242.0 17.8 396.90 9.14 21.6
2 0.02729 0.0 7.07 0.0 0.469 7.185 61.1 4.9671 2.0 242.0 17.8 392.83 4.03 34.7
3 0.03237 0.0 2.18 0.0 0.458 6.998 45.8 6.0622 3.0 222.0 18.7 394.63 2.94 33.4
4 0.06905 0.0 2.18 0.0 0.458 7.147 54.2 6.0622 3.0 222.0 18.7 396.90 5.33 36.2

定义交叉验证分数:

from sklearn.model_selection import KFold, cross_val_score, GridSearchCV

def mse_cv(model=None,X_train=None,y_train=None):
    kf=KFold(n_splits=10,shuffle=
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值