Python数据建模与模型优化实战 【课程目标】 本课程主要面向专业人士的大数据建模竞赛辅导需求(假定学员已经完成Python建模及优化--回归篇/分类篇的学习)。 通过本课程的学习,达到如下目的: 1、 熟悉大赛常用集成模型 2、 掌握模型优化常用措施,掌握超参优化策略 3、 掌握特征工程处理,以及对模型质量的影响 4、 掌握建模工程管道类(Pipeline, ColumnTransformer)的使用 【授课时间】 2-3天时间,大致内容安排(会根据需求和学员水平调整进度) 时间 | | | | | | | 常用建模步骤,构建通用common模型,完成模型训练、评估等的封装 | | | | 1、 理解异常数据对模型的影响 2、 缺失值常用的填充方式(固定值、分类填充、拉格朗日、预测填充) 3、 不同填充对模型的影响 | | | 特征选择模式 (Filter/Wrapper/Embedded) | 1、 特征选择的封装实现 2、 优缺点及应用场景 (SelectKBest,REF,SelectFromModel) | | | | 1、 变量降维PCA/FA 2、 掌握管道处理技能 (Pipeline, FeatureUnion, ColumnsTransformer等) | | | | 1、 利用探索性分析,指导变量派生 2、 不同标准化对模型的影响 3、 特征处理的不同顺序对模型效果的影响 | | | 超参优化方法 欠拟合优化 过拟合优化 其它优化(性能、样本均衡处理) | 1、 不同超参的作用(欠拟合/过拟合) 2、 超参优化方法 3、 超参优化策略 4、 Stacking集成 |
【授课对象】 参加大数据建模大赛的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、 主成份分析(PrincipalComponent 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模型欠拟合优化措施 Ø 增维,派生新特征 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、 直销响应模型 结束:课程总结与问题答疑。
|