5行代码使Scikit-Learn参数学习速度提高5倍

本文介绍了tune-sklearn库,它可以替代Scikit-Learn的GridSearchCV和RandomizedSearchCV,利用贝叶斯优化、早期停止和分布式执行等先进技术,显著提高超参数调整的速度。通过简单的代码修改,用户可以在Scikit Learn脚本中使用tune-sklearn,并在不同规模的硬件上实现性能提升。
摘要由CSDN通过智能技术生成

作者|Michael Chau 编译|VK 来源|Towards Data Science

大家都知道Scikit-Learn——它是数据科学家基本都知道的产品,提供了几十种易于使用的机器学习算法。它还提供了两种现成的技术来解决超参数调整问题:网格搜索(GridSearchCV)和随机搜索(RandomizedSearchCV)。

这两种技术都是找到正确的超参数配置的强力方法,但是这是一个昂贵和耗时的过程!

如果想加快这个过程呢

在这篇博客文章中,我们介绍了tune-sklearn(https://github.com/ray-project/tune-sklearn),它使得在使用Scikit-Learn API的同时更容易利用这些新算法。

Tune sklearn是Scikit Learn模型选择模块的一个替代品,采用了先进的超参数调整技术(贝叶斯优化、早期停止、分布式执行)——这些技术比网格搜索和随机搜索提供了显著的加速!

以下是tune sklearn提供的功能:

  • 与Scikit Learn API的一致性:tune sklearn是GridSearchCV和RandomizedSearchCV的一个替换,因此你只需要在标准Scikit Learn脚本中更改不到5行即可使用API。

  • 现代超参数调整技术:tune-sklearn允许你通过简单地切换几个参数,就可以轻松地利用贝叶斯优化、超空间和其他优化技术。

  • 框架支持:tune-sklearn主要用于调优Scikit-Learn模型,但它也支持并为许多其他具有Scikit-Learn框架提供示例,例如Skorch (Pytorch)、KerasClassifiers(Keras)和XGBoostClassifiers(XGBoost)。

  • 分布式:Tune sklearn利用Ray Tune,一个分布式超参数调优库,高效透明地并行化多核甚至多台机器上的交叉验证。

Tune sklearn也很快。为了看到这一点,我们在标准的超参数扫描上,将tune sklearn(启用早期停止)与本机Scikit Learn进行基准测试。在我们的基准测试中,我们可以看到普通笔记本电脑和4

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值