【课程目标】
本课程主要面向专业人士的大数据建模竞赛辅导需求(假定学员已经完成Python建模的学习),主要介绍建模优化思路和措施。
通过本课程的学习,达到如下目的:
1、 熟悉模型优化思路和方向,掌握模型优化措施
2、 理解超参优化的搜索策略和方法(网格/随机/贝叶斯搜索)
3、 掌握集成优化思路,理解Bagging/Boosting/Stacking的优劣势
4、 掌握特征优化各种措施,以及对模型质量的影响
5、 理解各种预测模型对特征工程的要求及影响
6、 掌握管道类(Pipeline, ColumnTransformer)的使用,简化代码编码,提升建模效率
【授课时间】
2天时间(会根据需求和学员水平调整进度)
|
时间 |
|
主题 |
主要内容 |
|
第三天 |
上午 |
超参优化方法 集成算法优化 |
网络/随机/贝叶斯搜索 集成优化思想 Bagging与随机森林 |
|
下午 |
集成算法优化 |
Boosting与GBDT/XGBoost/LightGBM Stacking:XGBoost+LR/SVR |
|
|
第四天 |
上午 |
特征工程优化
|
缺失值填充、样本均衡、 特征选择、因子合并、 标准化、变量派生 |
|
下午 |
管道技术实现 建模实战练习 |
Pipeline, columntransformer, FeatureUnion |
【授课对象】
参加大数据建模大赛的IT专业人士。
要求精通Python语言,熟悉sklearn机器学习库的基本使用等。
【授课方式】
理论框架 + 落地措施 + 实战训练
【课程大纲】
1、 模型优化的三大方向
2、 模型超参优化原理
3、 超参优化通用方法
Ø 网格搜索GridSearchCV(更具通用性)
Ø 随机搜索RandomizedSearchCV
Ø 贝叶斯超参优化BayesSearchCV
Ø 超参搜索空间的表示方式
4、 模型优化
Ø 优化模型:选择新模型/修改模型
Ø 优化数据:新增显著自变量
Ø 优化公式:采用新的计算公式
1、 模型集成思想
2、 模型集成的关键问题
Ø 如何得到基类模型
Ø 如何选择结合策略
3、 Bagging集成基本原理
Ø 有放回抽样
Ø 加权投票
4、 随机森林RandomForest
5、 Boosting集成基本原理
Ø 基于错分样本的基类模型
Ø 预测概率加权求和
6、 Boosting典型模型
Ø Adaboost
Ø GBDT梯度提升树
Ø XGBoost大赛利器
Ø XGBoost原理、早期停止、自定义损失函数
7、 Stacking集成基本原理
Ø XGBoost+SVM
1、 为什么要做特征工程
2、 特征工程内容
Ø 异常数据处理
Ø 变量变换
Ø 变量派生
Ø 类型转换
Ø 特征选择
Ø 因子合并
3、 缺失值对模型的影响
Ø 缺失值填充方式:固定值填充、两点插值法、拉格朗日插值、。。。
Ø 不同填充方式对模型效果的影响
案例:泰坦尼克号沉船幸存者预测
4、 预测离群值的识别与处理
5、 样本均衡的5种方式
6、 特征选择的:选择重要变量,剔除不重要变量
Ø Filter/Wrapper/Embedded
7、 基于变量本身的重要性筛选
Ø 缺失值所占比例过大
Ø 标准差/变异系数过小(VarianceThreshold)
Ø 类别值比值失衡严重
Ø 类别值与样本量比例过大
8、 Filter式(特征选择与模型分离)
Ø 常用评估指标(相关系数/显著性/互信息等)
Ø f_regression, f_classif, chi2,
Ø mutual_info_regression, mutual_info_classif
案例:客户流失预测的特征选择
9、 Wrapper式(利用模型结果进行特征选择)
Ø Sklearn实现(RFE/RFECV-Recursive Feature Elimination)
10、 Embedded式(模型自带特征选择功能)
Ø L1正则项(Lasso/ElasticNet)
Ø 信息增益(决策树)
Ø Sklearn实现(SelectFromModel)
11、 因子合并
Ø 因子分析原理及思想(FactorAnalysis)
Ø 载荷矩阵相关概念(变量共同度/方差贡献率)
Ø 如何确定降维的因子个数
Ø 主成份分析(Principal Component Analysis)原理
Ø PCA的几何意义
案例:汽车油效预测
12、 变量变换
Ø 为何需要变量变换
Ø 函数转换:中心化、对数变换、平方根变换…
Ø 标准化转换:min-max、mean、max absolution、Z-score…
Ø 正则化转换:将数据缩放到单位范式(L1/L2变换)
Ø 正态化转换:将变量转换成正态分布(Box-Cox、Yeo-Johnson)
Ø 因变量变换对模型质量的影响
案例:波士顿房价预测
13、 特征标准化
Ø 标准化的作用: 缩小,消除/统一量纲
Ø 常用标准化方法:MinMaxScaler, StandardScaler,…
Ø 不同模型对标准化的要求
Ø 不同标准化对模型的影响
案例:医院肿瘤预测
14、 其它变换:正态化、正则化
15、 变量派生:多项式等
1、 管道实现的价值
2、 常用管道实现类
3、 管道类Pipeline
4、 列转换类ColumnTransformer
5、 特征合并类FeatureUnion
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模型欠拟合优化措施
Ø 增维,派生新特征
a) 非线性检验
b) 相互作用检验
Ø 降噪,剔除噪声数据
a) 剔除不显著影响因素
b) 剔除预测离群值(仅回归)
c) 多重共线性检验(仅回归)
Ø 变量变换
a) 自变量标准化
b) 残差项检验与因变量变换
Ø 增加树的深度与复杂度
a) 增大max_depth
b) 减小min_child_weight, gamma等
Ø 禁止正则项生效
5、 特征重要性评估与自动特征选择
6、 超参优化策略:
Ø 分组调参:参数分组分别调优
Ø 分层调参:先粗调再细调
7、 XGBoost模型过拟合优化措施
Ø 降维,减少特征数量
Ø 限制树的深度和复杂度
a) 减小max_depth
b) 增大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、 直销响应模型
结束:课程总结与问题答疑。