Python数据建模培训
【课程目标】
本课程主要面向专业人士的大数据建模竞赛辅导需求(假定学员已经完成Python建模及优化--回归篇/分类篇的学习)。
通过本课程的学习,达到如下目的:
1、 熟悉大赛常用集成模型
2、 掌握模型优化常用措施,掌握超参优化策略
3、 掌握特征工程处理,以及对模型质量的影响
4、 掌握建模工程管道类(Pipeline, ColumnTransformer)的使用
【授课对象】
参加大数据建模大赛的IT专业人士。
要求精通Python语言,熟悉sklearn库的基本使用等。
【课程大纲】
第一部分: 预测建模过程
1、 数据建模六步法
选择模型:基于业务选择恰当的数据模型
属性筛选:选择对目标变量有显著影响的属性来建模
训练模型:采用合适的算法,寻找到最合适的模型参数
评估模型:进行评估模型的质量,判断模型是否可用
优化模型:如果评估结果不理想,则需要对模型进行优化
应用模型:如果评估结果满足要求,则可应用模型于业务场景
2、 数据挖掘常用的模型
数值预测模型:回归预测、时序预测等
分类预测模型:逻辑回归、决策树、神经网络、支持向量机等
市场细分:聚类、RFM、PCA等
产品推荐:关联分析、协同过滤等
产品优化:回归、随机效用等
产品定价:定价策略/最优定价等
3、 属性筛选/特征选择/变量降维
基于变量本身特征
基于相关性判断
因子合并(PCA等)
IV值筛选(评分卡使用)
基于信息增益判断(决策树使用)
4、 训练模型及实现算法
模型原理
算法实现
5、 模型评估
评估指标
评估方法
过拟合评估
6、 模型优化
优化模型:选择新模型/修改模型
优化数据:新增显著自变量
优化公式:采用新的计算公式
7、 模型应用
模型解读
模型部署
模型应用
8、 好模型是优化出来的
第二部分: 常用集成模型
问题:数据建模的基本步骤是什么?每一步要重点考虑哪些知识和技能?
1、 常用模型类
线性模型、树模型、概率模型
常见模型的优缺点
2、 模型优化常见思路
集成优化:多个弱模型组成一个强模型
优化模型:改善模型实现方式
a) 修改模型算法实现,提升效率及模型质量
b) 设置最优超参,提升模型质量(超参优化)
c) 最优模型选择
优化数据:空值填充、特征选择、特征合并、变量变换
3、 模型集成思想
Bagging
Boosting
Stacking
4、 竞赛常用的集成模型
RandomForest
Adaboosting/GBDT/XGBoost
5、 各模型的原理及适用场景
第三部分: 数据清洗技巧
1、 数据清洗处理
重复值、错误值、离群值、缺失值
异常数据的常见处理方式
2、 缺失值填充的常见方式
固定值填充
同类别均值填充
相邻值填充(向下/向上填充)
两点插值(相邻值均值填充)
拉格朗日插值
预测方法填充
3、 不同填充方式对模型效果的影响
案例:泰坦尼克号沉船幸存者预测
第四部分: 特征选择模式
1、 降维的两大方式:特征选择与因子合并
2、 特征选择的三种模式
3、 基于变量本身的重要性筛选
缺失值所占比例过大
标准差/变异系数过小(VarianceThreshold)
类别值比值失衡严重
类别值与样本量比例过大
4、 Filter式(特征选择与模型分离)
常用评估指标(相关系数/显著性/互信息等)
f_regression, f_classif, chi2,
mutual_info_regression, mutual_info_classif
案例:客户流失预测的特征选择
5、 Wrapper式(利用模型结果进行特征选择)
Sklearn实现(RFE/RFECV-Recursive Feature Elimination)
6、 embedded式(模型自带特征选择功能)
L1正则项(Lasso/ElasticNet)
信息增益(决策树)
Sklearn实现(SelectFromModel)
7、 不同模式的优缺点及应用场景
8、 特征选择的变量个数
第五部分: 特征合并方法
1、 特征合并与特征选择
2、 因子分析(FactorAnalysis)
FA原理及思想
载荷矩阵相关概念(变量共同度/方差贡献率)
如何确定降维的因子个数
3、 主成份分析(Principal Component Analysis)
PCA原理
PCA的几何意义
案例:汽车油效预测
第六部分: 变量变换影响
1、 为何需要变量变换
假设条件需求,可比性需要,同权重需要
2、 因变量变换对模型质量的影响
案例:波士顿房价预测
3、 特征标准化
标准化的作用: 缩小,消除/统一量纲
常用标准化方法:MinMaxScaler, StandardScaler,…
不同模型对标准化的要求
不同标准化对模型的影响
案例:医院肿瘤预测
4、 其它变换:正态化、正则化
5、 变量派生:多项式等
案例:用户收入预测
6、 管道实现,简化代码
管道类Pipeline
列转换类ColumnTransformer
特征合并类FeatureUnion
第七部分: XGBoost模型详解及优化
1、 基本参数配置
框架基本参数: n_estimators, objective
性能相关参数: learning_rate
模型复杂度参数:max_depth,min_child_weight,gamma
生长策略参数: grow_policy, tree_method, max_bin
随机性参数:subsample,colsample_bytree
正则项参数:reg_alpha,reg_lambda
样本不均衡参数: scale_pos_weight
2、 早期停止与基类个数优化(n_estimators、early_stopping_rounds)
3、 样本不平衡处理
欠抽样与过抽样
scale_pos_weight= neg_num/pos_num
4、 XGBoost模型欠拟合优化措施
增维,派生新特征
d) 非线性检验
e) 相互作用检验
降噪,剔除噪声数据
f) 剔除不显著影响因素
g) 剔除预测离群值(仅回归)
h) 多重共线性检验(仅回归)
变量变换
i) 自变量标准化
j) 残差项检验与因变量变换
增加树的深度与复杂度
k) 增大max_depth
l) 减小min_child_weight, gamma等
禁止正则项生效
5、 特征重要性评估与自动特征选择
6、 超参优化策略:
分组调参:参数分组分别调优
分层调参:先粗调再细调
7、 XGBoost模型过拟合优化措施
降维,减少特征数量
限制树的深度和复杂度
m) 减小max_depth
n) 增大min_child_weight,gamma等
采用dart模型来控制过拟合(引入dropout技术)
启用正则项惩罚:reg_alpha,reg_lambda等
启用随机采样:subsample,colsample_bytree等
8、 Stacking模式:XGBoost+LR、XGBoost+RF等
9、 XGBoost的优化模型:LightGBM
第八部分: 实战训练篇
1、 互联网广告判断模型
2、 客户流失预测模型
3、 直销响应模型
结束:课程总结与问题答疑。
Python数据建模培训