sklearn中warm_start参数的作用详解

warm_start参数用在模型训练过程中,默认是False,从字面上理解就是“从温暖的地方开始”训练模型。

sklearn官网定义:

使用方法:

1、如果warm_start=True就表示就是在模型训练的过程中,在前一阶段的训练结果上继续训练

2、如果warm_start=False就表示从头开始训练模型


在Boosting类的集成算法中,往往通过集成不同数量n_estimators的弱模型来选择最优模型。那么当训练好了一个n_estimators=100的集成模型后,想再次训练一个n_estimators=200的模型,则可以设置warm_start=True,在n_estimators=100模型的基础上接着再训练100个弱模型。如果设置warm_start=False,则表示从头重新训练200个弱模型。设置warm_start可以降低计算量,加速模型训练。下面以训练Gradient Boosting模型为例,展示warm_start参数的用法:

1、模拟训练数据

使用二次函数生成10000个数据点。

2、使用warm_start=True分别设置n_estimator=[100, 110, 120, 130, 140, 150, 160, 170, 180, 190]十个集成模型

可以看到在训练n_estimators=100模型是,用时是0.151,之后的模型虽然n_estimators在增加,但是训练耗时都非常小,使用最后一个模型在训练集上的MSE是26.23.

3、使用warm_start=False分别设置n_estimator=[100, 110, 120, 130, 140, 150, 160, 170, 180, 190]十个集成模型

可以看到随着n_estimators数量的增加,模型训练耗时逐渐增加,使用最后一个模型在训练集上的MSE也是26.23.


结论:

warm_start参数在模型训练过程中起作用,当warm_start=True时,模型训练可以在前一阶段的训练结果上进行,而不同从头开始重新训练,可以提升模型的训练速度,且训练结果保持一致。

  • 5
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值