【数据挖掘】【笔记】阅读之数据挖掘比赛基本流程
来源:互联网 发布:左右音箱测试软件 编辑:程序博客网 时间:2024/05/21 17:21
【干货】Kaggle 数据挖掘比赛经验分享
http://mp.weixin.qq.com/s/BE1mfmKJTsDSwWi16mllNA
数据分析,数据清洗,特征工程,模型训练和验证等四个大的模块
数据分析
- 特征变量的分布
- 连续值
- 长尾分布且考虑使用线型模型,进行幂变换或对数变换
- 离散值
- 将频次较低的特征值统一编码为其他
- 连续值
- 目标变量的分布
- 连续
- 值域范围大,考虑对数变换(结果需要逆变换)
- 一般进行BoxCox变换,变换为正态分布
- 离散值
- 不均衡
- 上采样/下采样
- 某个ID上面不平衡
- 划分训练集时考虑分层抽样
- 不均衡
- 连续
- 变量之间的分布和相关度,发现高相关和共线性的特征
数据清洗
预处理
- 特征缺失值的处理
- 连续值:
- 偏正态分布用均值代替,保持数据均值
- 长尾分布用中值代替,避免受outlier影响
- 离散
- 众数代替
- 文本数据
。。。
特征工程
特征决定了效果的上限。case by case
特征变换
主要针对一些长尾分布的特征,进行幂变换或对数变换,使得模型(LR or DNN)更好的优化。
树模型(RF, GBDT) 对单调的函数变换不敏感。原因在于树模型求解分裂点的时候只考虑排序分位点。
特征编码
离散的类别特征。常用LabelEncoder, OneHotEncoder
对于取值较多的类别特征,OneHotEncoder会导致特征矩阵巨大,影响效果:
- 统计取值在样本中的频率,取Top N的取值做编码,剩下的类别分到‘其他类’,N作为超参数需要调优。
- 统计每个ID特征的一些统计量代替为特征
- 参考word2vec,将每个类别特征的取值映射到一个连续的向量,对这个向量进行初始化,跟模型一起训练。训练结束后,可以同时得到每个ID的Embedding。具体的使用方式,可以参考 Rossmann 销量预估竞赛第三名的获奖方案,https://github.com/entron/entity-embedding-rossmann。
对于 Random Forest 和 GBDT 等模型,如果类别特征存在较多的取值,可以直接使用 LabelEncoder 后的结果作为特征。
- 【数据挖掘】【笔记】阅读之数据挖掘比赛基本流程
- 数据挖掘比赛
- 数据挖掘之标准流程
- 【数据挖掘】【笔记】阅读之机器学习竞赛进阶
- Kaggle(1):数据挖掘的基本流程
- 阿里数据挖掘比赛总结
- 学校数据挖掘比赛心得
- 一些数据挖掘比赛经验
- 数据挖掘比赛通用步骤
- SberbankRussianHousingMarket数据挖掘比赛总结
- kaggle数据挖掘比赛经验
- 数据挖掘的流程
- 数据挖掘流程
- 数据挖掘的流程
- 数据挖掘流程
- 数据挖掘标准流程
- 数据挖掘流程
- 数据挖掘-开发流程
- 【数据挖掘】【笔记】阅读之机器学习竞赛进阶
- Java序列化与反序列化
- Python数据分析基础(二)——NumPy基础
- 操作系统ucore lab8实验报告
- 流程变量
- 【数据挖掘】【笔记】阅读之数据挖掘比赛基本流程
- BJOI2014 大融合 并查集+线段树合并
- 树回归
- OkHttp框架的RetryAndFollowUpInterceptor请求重定向源码解析
- .求π的近似值
- tablayout布局之再探究
- Android 耳机事件传递流程
- STM32串口下载方法-USART BootLoader
- Android6.0以下判断手机录音和相机权限