文章目录

  • 模型相关原理
    • 1.逻辑回归
    • 2.决策树模型
    • 3.集成模型集成方法
  • 模型评估方法
    • 1.留出法
    • 2.交叉验证法
    • 3. 自助法
    • 4.数据集划分总结
  • 模型评价标准
  • 模型调参
    • 1.贪心调参
    • 2.网格搜索
    • 3.贝叶斯调参

模型相关原理

1.逻辑回归

  • 优点

    • 训练速度较快,分类的时候,计算量仅仅只和特征的数目相关;
    • 简单易理解,模型的可解释性非常好,从特征的权重可以看到不同的特征对最后结果的影响;
    • 适合二分类问题,不需要缩放输入特征;
    • 内存资源占用小,只需要存储各个维度的特征值;
  • 缺点
    • 逻辑回归需要预先处理缺失值和异常值【可参考task3特征工程】;
    • 不能用Logistic回归去解决非线性问题,因为Logistic的决策面是线性的;
    • 对多重共线性数据较为敏感,且很难处理数据不平衡的问题;
    • 准确率并不是很高,因为形式非常简单,很难去拟合数据的真实分布;

2.决策树模型

  • 优点

    • 简单直观,生成的决策树可以可视化展示
    • 数据不需要预处理,不需要归一化,不需要处理缺失数据
    • 既可以处理离散值,也可以处理连续值
  • 缺点
    • 决策树算法非常容易过拟合,导致泛化能力不强(可进行适当的剪枝)
    • 采用的是贪心算法,容易得到局部最优解

3.集成模型集成方法

通过组合多个学习器来完成学习任务,通过集成方法,可以将多个弱学习器组合成一个强分类器,因此集成学习的泛化能力一般比单一分类器要好。

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

Baggin和Boosting的区别总结如下:

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

模型评估方法

将已有的数据集划分为训练集和测试集两部分,其中训练集用来训练模型,而测试集则是用来评估模型对于新样本的判别能力。数据集的划分有三种方法:留出法,交叉验证法和自助法

1.留出法

留出法是直接将数据集D划分为两个互斥的集合,其中一个集合作为训练集S,另一个作为测试集T。需要注意的是在划分的时候要尽可能保证数据分布的一致性,即避免因数据划分过程引入额外的偏差而对最终结果产生影响。为了保证数据分布的一致性,通常我们采用分层采样的方式来对数据进行采样。

Tips: 通常,会将数据集D中大约2/3~4/5的样本作为训练集,其余的作为测试集。

2.交叉验证法

k折交叉验证通常将数据集D分为k份,其中k-1份作为训练集,剩余的一份作为测试集,这样就可以获得k组训练/测试集,可以进行k次训练与测试,最终返回的是k个测试结果的均值。交叉验证中数据集的划分依然是依据分层采样的方式来进行。

对于交叉验证法,其k值的选取往往决定了评估结果的稳定性和保真性,通常k值选取10。

当k=1的时候,我们称之为留一法

3. 自助法

我们每次从数据集D中取一个样本作为训练集中的元素,然后把该样本放回,重复该行为m次,这样我们就可以得到大小为m的训练集,在这里面有的样本重复出现,有的样本则没有出现过,我们把那些没有出现过的样本作为测试集。

进行这样采样的原因是因为在D中约有36.8%的数据没有在训练集中出现过。留出法与交叉验证法都是使用分层采样的方式进行数据采样与划分,而自助法则是使用有放回重复采样的方式进行数据采样

4.数据集划分总结

  • 对于数据量充足的时候,通常采用留出法或者k折交叉验证法来进行训练/测试集的划分;
  • 对于数据集小且难以有效划分训练/测试集时使用自助法;
  • 对于数据集小且可有效划分的时候最好使用留一法来进行划分,因为这种方法最为准确

模型评价标准

在逻辑回归里面,对于正负例的界定,通常会设一个阈值,大于阈值的为正类,小于阈值为负类。如果我们减小这个阀值,更多的样本会被识别为正类,提高正类的识别率,但同时也会使得更多的负类被错误识别为正类。为了直观表示这一现象,引入ROC。

根据分类结果计算得到ROC空间中相应的点,连接这些点就形成ROC curve,横坐标为False Positive Rate(FPR:假正率),纵坐标为True Positive Rate(TPR:真正率)。

ROC曲线中的四个点:

点(0,1):即FPR=0, TPR=1,意味着FN=0且FP=0,将所有的样本都正确分类;
点(1,0):即FPR=1,TPR=0,最差分类器,避开了所有正确答案;
点(0,0):即FPR=TPR=0,FP=TP=0,分类器把每个实例都预测为负类;
点(1,1):分类器把每个实例都预测为正类

总之:ROC曲线越接近左上角,该分类器的性能越好,其泛化性能就越好。而且一般来说,如果ROC是光滑的,那么基本可以判断没有太大的overfitting。

但是对于两个模型,我们如何判断哪个模型的泛化性能更优呢?这里我们有主要以下两种方法:

如果模型A的ROC曲线完全包住了模型B的ROC曲线,那么我们就认为模型A要优于模型B;

如果两条曲线有交叉的话,我们就通过比较ROC与X,Y轴所围得曲线的面积来判断,面积越大,模型的性能就越优,这个面积我们称之为AUC(area under ROC curve)

模型调参

1.贪心调参

先使用当前对模型影响最大的参数进行调优,达到当前参数下的模型最优化,再使用对模型影响次之的参数进行调优,如此下去,直到所有的参数调整完毕。

这个方法的缺点就是可能会调到局部最优而不是全局最优,但是只需要一步一步的进行参数最优化调试即可,容易理解。

需要注意的是在树模型中参数调整的顺序,也就是各个参数对模型的影响程度

2.网格搜索

sklearn 提供GridSearchCV用于进行网格搜索,只需要把模型的参数输进去,就能给出最优化的结果和参数。相比起贪心调参,网格搜索的结果会更优,但是网格搜索只适合于小数据集,一旦数据的量级上去了,很难得出结果。

3.贝叶斯调参

在使用之前需要先安装包bayesian-optimization

贝叶斯调参的主要思想是:给定优化的目标函数(广义的函数,只需指定输入和输出即可,无需知道内部结构以及数学性质),通过不断地添加样本点来更新目标函数的后验分布(高斯过程,直到后验分布基本贴合于真实分布)。简单的说,就是考虑了上一次参数的信息,从而更好的调整当前的参数。

贝叶斯调参的步骤如下:

  • 定义优化函数(rf_cv)
  • 建立模型
  • 定义待优化的参数
  • 得到优化结果,并返回要优化的分数指标

数据挖掘实践(金融风控)——task4:建模调参相关推荐

  1. 【算法竞赛学习】二手车交易价格预测-Task4建模调参

    二手车交易价格预测-Task4 建模调参 四.建模与调参 Tip:此部分为零基础入门数据挖掘的 Task4 建模调参 部分,带你来了解各种模型以及模型的评价和调参策略,欢迎大家后续多多交流. 赛题:零 ...

  2. #数据挖掘--第3章:建模调参之支持向量机SVM初体验

    #数据挖掘--第3章:建模调参之支持向量机SVM初体验   序言:本系列博客面向初学者,只讲浅显易懂易操作的知识.   基础知识准备:   一.我们在进行训练之前,常常要对样本进行归一化.标准化或正则 ...

  3. Datawhale 零基础入门数据挖掘-Task4 建模调参

    本节内容为各种模型以及模型的评价和调参策略. 一.读取数据 import pandas as pd import numpy as np import warnings warnings.filter ...

  4. Task4 建模调参

    线性回归模型: 线性回归对于特征的要求: 处理长尾分布: 理解线性回归模型: 模型性能验证: 评价函数与目标函数: 交叉验证方法: 留一验证方法: 针对时间序列问题的验证: 绘制学习率曲线: 绘制验证 ...

  5. 「建模调参」之零基础入门数据挖掘

    Datawhale 作者:徐韬 ,Datawhale优秀学习者 摘要:对于数据挖掘项目,本文将学习如何建模调参?从简单的模型开始,如何去建立一个模型:如何进行交叉验证:如何调节参数优化等. 建模调参: ...

  6. 【数据挖掘】心跳信号分类预测 之 建模调参 —— 学习笔记(四)

    目录 四.建模调参 4.1 内容简介 4.2 模型原理与性质概述 4.2.1 分类模型 4.2.2 时间序列模型 4.2.3 推荐教材 4.3 模型对比与性能评估 4.3.1 逻辑回归 4.3.2 决 ...

  7. 【零基础入门数据挖掘】-建模调参

    Datawhale 作者:徐韬 ,Datawhale优秀学习者 摘要:对于数据挖掘项目,本文将学习如何建模调参?从简单的模型开始,如何去建立一个模型:如何进行交叉验证:如何调节参数优化等. 建模调参: ...

  8. 数据挖掘-二手车价格预测 Task04:建模调参

    数据挖掘-二手车价格预测 Task04:建模调参 模型调参部分 利用xgb进行五折交叉验证查看模型的参数效果 ## xgb-Model xgr = xgb.XGBRegressor(n_estimat ...

  9. 零基础入门数据挖掘之金融风控-贷款违约预测

    零基础入门数据挖掘之金融风控-贷款违约预测 摘要 1.数据概况 2.数据读取 3.分类指标评价计算 摘要 在实践中学,很高兴有这次机会,与志同道合的小伙伴一起学习,本次主要通过天池实际比赛项目学习数据 ...

最新文章

  1. 用Python分析你是否已经实现荔枝自由了?
  2. android token过期怎么跳转登录_用sa-token轻松解决网站权限验证
  3. windows 小技巧搜集(不定期更新)
  4. C# 系统应用之ListView控件 (二).加载选中节点文件夹下文件信息
  5. selenium并行_如何在不同的浏览器中设置Selenium网格以并行执行
  6. 《Python编程从入门到实践》记录之测试代码(unitttest模块)
  7. c++ double 只输出五位_C/C++编程笔记:C语言入门知识点(一),请收藏C语言最全笔记...
  8. linux进程通讯-纯文本文件1
  9. 帮你快速拿Offer!java基础入门课后答案第二版
  10. 微信内置浏览器音频直播
  11. Springboot使用J2Cache,整合ehcache和redis缓存框架,实现两级缓存
  12. [乐意黎原创]云南省红河州泸西县各乡镇及村委会区划代码和城乡划分代码
  13. 制作字幕(一般方法)
  14. 2021-05-23
  15. STM32f746gdiscovery 触摸屏 FT5336 驱动
  16. 如何抢功,甩锅,立于不败之地???
  17. AMD 3600+ X2 CPU配合昂达A69T主板超频教程
  18. 一次CSDN客户体验经历
  19. office365中word打开时显示“word无法启动转换器RECOVR32.CNV”的解决办法
  20. 一、Docker:Linux/Windows在线安装Docker与命令大全总结

热门文章

  1. 2018年区块链将如何发展?
  2. 除了人工智能,霍金还担心“游牧外星人”会摧毁人类
  3. 《Cisco IOS XR技术精要》一2.7 高可用架
  4. JDBC防止SQL注入
  5. Analysis-ik 中文分词安装
  6. 通过编译php为httpd的模块实现lamp
  7. [摘]iOS 通讯录操作
  8. matlab imadjust将暗图像分别在RGB与HSV域增加亮度
  9. linux 清空进程recv q,Linux中ss命令Recv-Q和Send-Q详解
  10. mysql 备库同步_MYSQL主从库同步配置过程