本学习笔记为阿里云天池龙珠计划金融风控训练营的学习内容,学习链接为:https://tianchi.aliyun.com/specials/activity/promotion/aicampdocker
一、学习知识点概要
本节主要了解建模过程中重要的一个环节:建模和调参。涉及到相关模型、性能评估的方法和准则以及模型调参的方法。
二、学习内容
相关模型及评估
1 逻辑回归
基本思想:将输出的结果映射为限定范围内可以判断的结果,如将输出为连续值的结果映射成在(0,1)范围内的概率值。可以通过sigmoid函数实现。
操作时注意:需要预处理缺失值和异常值;准确率不高。
2 决策树
可用ID3算法实现;可以直接调用sklearn.tree模块提供的决策树模型解决回归和分类问题。
操作时注意:容易过拟合,泛化能力不强,局部最优。
3 GBDT模型、XGBoost模型、LightGBM模型、Catboost模型
GBDT模型是集成模型,基模型是CART回归树;
CatBoost和XGBoost、LightGBM并称为GBDT的三大主流神器,都是在GBDT算法框架下的一种改进实现。
CatBoost模型算法准确率有优势,XGBoost模型广泛应用于工业界,LightGBM模型提高了计算效率。
4 集成模型集成方法
思想:将多个弱学习器组合成一个强分类器。
主要方法:Bagging→随机森林
Boosting→Adaboost、GBDT、XgBoost、LightGBM
Bagging方法的训练集每轮相互独立,从原始集中有放回的选取;均匀取样,每个样本的权重相等;所有预测函数的权重相等;各个预测函数可以并行生成;
Boosting方法的训练集每轮都相同,只是每个样本的权重根据上一轮的分类结果(错误率)进行调整,错误率越大权重越大;每个弱分类器都有相应的权重,分类误差小的分类器会有更大的权重;各个预测函数按顺序生成。
5 模型评估
数据集:训练集(训练数据)、测试集(评估模型对新样本的判别能力)
划分数据集:
- 注意:训练集和测试集要保证是从样本真实分布中独立同分布采样取得;两者要互斥
- 方法:留出法、交叉验证法、自助法
- 留出法:分层采样,一般2/3~4/5的样本作为训练集,其余作为测试集;
- (k折)交叉验证法:分层抽样,将数据集分为k份,k-1份作为训练集,剩余一份作为测试集,进行k次训练。通常k取10.
- 自助法:有放回重复采样,取到的样本作为训练集,其余的作为训练集。
6 模型评价标准:AUC
AUC越大,模型的性能越优。
标准解析见https://blog.csdn.net/weixin_45731258/article/details/116021707?spm=1001.2014.3001.5502。
7 模型调参
贪心调参:首先将对模型影响最大的参数进行调优,接着是影响次之的,以此类推。
网格搜索:将参数导入方法中即可,适用于小数据集
from sklearn.model_selection import GridSearchCV
贝叶斯调参:给定优化的目标函数,通过不断地添加样本点来更新目标函数的后验分布。
pip install bayesian-optimization
三、学习问题与解答
本节的相关模型太多,我没有完全学习,只是大概了解了一下。我有好奇在建立模型的时候是否每一种模型都要尝试一遍,进而对建立的模型做评估。
四、学习思考与总结
通过本节的内容,我认为建成一个最优的模型真是一项耗费精力的工程。核心就是在建模过程中通过划分数据集的方法对模型性能按AUC的标准进行评估,然后可以通过三种方式调整参数,推荐使用贝叶斯调参。