Datawhale 零基础入门数据挖掘心跳信号分类学习反馈04

Detail 零基础入门数据挖掘 (心跳信号分类) 学习反馈TASK3

使用语言:python

Tas1 – Task5

Task4 建模与调参

本次学习的重点是贪心调参、网格搜索调参、贝叶斯调参共三种调参方法

模型对比与性能评估
  • 逻辑回归
  • 决策树
  • 集成模型集成:Bagging和Boosting
在个人使用中,常见的是前两个;故对第三种进行详细学习:

Bagging和Boosting都是将已有的分类或回归算法通过一定方式组合起来,形成一个更加强大的分类。两种方法都是把若干个分类器整合为一个分类器的方法,只是整合的方式不一样,最终得到不一样的效果。常见的基于Baggin思想的集成模型有:随机森林、基于Boosting思想的集成模型有:Adaboost、GBDT、XgBoost、LightGBM等。

Baggin和Boosting的区别总结如下:

  • 样本选择上: Bagging方法的训练集是从原始集中有放回的选取,所以从原始集中选出的各轮训练集之间是独立的;而Boosting方法需要每一轮的训练集不变,只是训练集中每个样本在分类器中的权重发生变化。而权值是根据上一轮的分类结果进行调整
  • 样例权重上: Bagging方法使用均匀取样,所以每个样本的权重相等;而Boosting方法根据错误率不断调整样本的权值,错误率越大则权重越大
  • 预测函数上: Bagging方法中所有预测函数的权重相等;而Boosting方法中每个弱分类器都有相应的权重,对于分类误差小的分类器会有更大的权重
  • 并行计算上: Bagging方法中各个预测函数可以并行生成;而Boosting方法各个预测函数只能顺序生成,因为后一个模型参数需要前一轮模型的结果。
模型评价方法:

数据划分
留出法,交叉验证法和自助法( 当k=1的时候,我们称之为留一法

  • 对于数据量充足的时候,通常采用留出法或者k折交叉验证法来进行训练/测试集的划分;
  • 对于数据集小且难以有效划分训练/测试集时使用自助法
  • 对于数据集小且可有效划分的时候最好使用留一法来进行划分,因为这种方法最为准确
    模型评价 f1-score、ks、auc
模型调参:
  • 1. 贪心调参
    • ①:max_depth、num_leaves
    • ②:min_data_in_leaf、min_child_weight
    • ③:bagging_fraction、 feature_fraction、bagging_freq
    • ④:reg_lambda、reg_alpha
    • ⑤:min_split_gain
  • 2. 网格搜索
  • GridSearchCV用于进行网格搜索,只需要把模型的参数输进去,就能给出最优化的结果和参数;只适用于小数据集。
  • 3.贝叶斯调参
    • 定义优化函数(rf_cv)
    • 建立模型
    • 定义待优化的参数
    • 得到优化结果,并返回要优化的分数指标
对于调参需要根据数据具体进行设置参数;同时需要考虑调用不同的API官方库的定义函数(集成模型中原生库和sklearn下的库部分参数不一致,需要注意,具体可以参考xgb和lgb的官方API);本次项目重点使用贝叶斯调参对本次项目进行简单优化。
未调参前

在这里插入图片描述

调参后

lgb_scotrainre_list:[0.9615056903324599, 0.9597829114711733, 0.9644760387635415, 0.9622009947666585, 0.9607941521618003]
lgb_score_mean:0.9617519574991267
lgb_score_std:0.0015797109890455313

个人收获:

MK文档撰写
具体参数调参

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值