Task4-模型调参

关于模型介绍,网上已经有许多,这里不再复制。不过目前来看,使用XGB算法,足够得到相当出色的模型效果了,因此也推荐大家直接学习xgb,然后是lightboost和catboost。

这一部分代码主要是对lgb进行调参,以获得模型效果最佳。

  • 随缘调参
    说好听点也是靠经验,可以通过训练集、验证集的结果对比,了解特定参数的效果,然后心中默默祈祷奇迹,不行就换一组参数。工作中使用xgb比较多,一般都是调整gamma参数和采样率,控制模型不过拟合。
  • 贝叶斯调参
    贝叶斯调参有一定理论依据,效果也常常比手动调参好一些,比较推荐这个方法,也需要消耗一定时间。网格调参并不是很推荐,主要太费时间,最终效果也不一定好。

附上LGB的参数相关说明,详细信息可以见:https://lightgbm.apachecn.org/#/docs/6,以下是常用到的几个,必须清楚含义和调参原理。

  • objective: default=regression(回归),binary(二分类),根据任务自行选择
  • num_iterations:最大迭代次数(树的个数),前期可以先选小一点,一般树过深也没什么必要。
  • learning_rate, default=0.1,学习率,0.01~0.1之间
  • num_leaves, default=31
  • max_depth 树深
  • min_data_in_leaf, default=20 ,一个叶子上数据的最小数量.,用来控制过拟合
  • feature_fraction, default=1.0,每棵树的特征采样率
  • bagging_fraction, default=1.0,每棵树的样本采样率
  • bagging_freq, bagging 的频率, 0 意味着禁用 bagging. k 意味着每 k 次迭代执行bagging
  • early_stopping_round 早停控制
  • lambda_l1, default=0 重要的参数,用于控制过拟合
  • lambda_l2, default=0 重要的参数,用于控制过拟合
  • min_split_gain, default=0 重要的参数,用于控制过拟合

下面是简单的调参结果(特征工程没做好,效果不如baseline,太尴尬了)

一、未调参之前

参数设置如下:


image.png

验证集结果如下:


image.png

二、贝叶斯调参

跑2个小时得到的参数:


image.png

效果确实好不少,这2个小时是值得的!!


image.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。