专栏名称: 大数据挖掘DT数据分析
实战数据资源提供。数据实力派社区,手把手带你玩各种数据分析,涵盖数据分析工具使用,数据挖掘算法原理与案例,机器学习,R语言,Python编程,爬虫。如需发布广告请联系: hai299014
目录
相关文章推荐
数据派THU  ·  CUDA重大更新:原生Python可直接编写 ... ·  昨天  
CDA数据分析师  ·  《CDA二级教材》电子版上线CDA网校,助你 ... ·  4 天前  
51好读  ›  专栏  ›  大数据挖掘DT数据分析

python训练模型调参神器hyperopt

大数据挖掘DT数据分析  · 公众号  · 大数据  · 2018-05-13 21:30

主要观点总结

本文介绍了向AI转型的程序员们关注的公众号大数据挖掘DT数据分析。重点介绍了Hyperopt库的使用,包括安装、说明、四个重要因素、参数空间的设置以及简单例子和xgboost参数优化的例子。文中详细解释了Hyperopt如何进行优化,并提供了相关的示例代码和链接。

关键观点总结

关键观点1: Hyperopt库的使用

介绍了如何安装Hyperopt库,以及它如何提供一个优化接口来接受评估函数和参数空间。强调了四个重要因素:目标函数、搜索空间、数据集(可选)和搜索算法(可选)。

关键观点2: 参数空间的设置

详细解释了如何设置参数空间,包括不同的参数分布方式,如hp.uniform、hp.choice、hp.pchoice等。还提供了关于如何构建搜索空间的示例。

关键观点3: Hyperopt的简单例子

通过一个简单的例子演示了如何使用Hyperopt进行优化,包括定义一个目标函数、设置参数空间、使用fmin函数进行优化的过程。

关键观点4: xgboost的参数优化

介绍了如何使用Hyperopt对xgboost的参数进行优化,包括将xgboost的代码写成一个函数,然后传入fmin中进行参数优化,并以交叉验证的auc作为优化目标。


正文

请到「今天看啥」查看全文


pip install hyperopt

二、说明

Hyperopt提供了一个优化接口,这个接口接受一个评估函数和参数空间,能计算出参数空间内的一个点的损失函数值。用户还要指定空间内参数的分布情况。
Hyheropt四个重要的因素:指定需要最小化的函数,搜索的空间,采样的数据集(trails database)(可选),搜索的算法(可选)。


首先,定义一个目标函数,接受一个变量,计算后返回一个函数的损失值,比如要最小化函数q(x,y) = x**2 + y**2


指定搜索的算法,算法也就是hyperopt的fmin函数的algo参数的取值。当前支持的算法由随机搜索(对应是hyperopt.rand.suggest),模拟退火(对应是hyperopt.anneal.suggest),TPE算法。


关于参数空间的设置,比如优化函数q,输入fmin(q,space=hp.uniform(‘a’,0,1)).hp.uniform函数的第一个参数是标签,每个超参数在参数空间内必须具有独一无二的标签。hp.uniform指定了参数的分布。其他的参数分布比如


hp.choice返回一个选项,选项可以是list或者tuple.options可以是嵌套的表达式,用于组成条件参数。


hp.pchoice(label,p_options)以一定的概率返回一个p_options的一个选项。这个选项使得函数在搜索过程中对每个选项的可能性不均匀。







请到「今天看啥」查看全文