赛题理解部分
一、赛题理解
1.赛题理解
1.1了解赛题类型:回归、分类、其他
1.2赛题背景:是否包含异常值、确实、漂移;是否包含多种情况,需要注意模型的繁华性;高效性、工序流程的差异性,模型运行时间、系统鲁棒性
2.数据理解
2.1字段含义
2.1.1明确的特征:分类、连续、变量间的交互
2.1.2匿名特征处理:四则运算、取log、统计指标等
2.2数据量:观察数据量以了解需要电脑配置的情况
2.3评测标准
2.31回归常用标准:MAE/MSE/R^2
2.3.2线下验证的时候魔性评价指标和线上保持一致
2.3.3不同指标带来的差异效果是不一样的。eg.MSE会极大地放大偏差
2.4结果提交:关注细节;是否需要列名等
3.分析赛题
3.1经验:数据比赛一般常用模型:XGB/LGBM;sklearn是入门数据比赛非常好的一个包,可重点学习
3.2回归问题:数据分析、特征的构建、选用好的模型
3.3代码分析:pandas读取数据、各类指标可以用sklearn/metrics包创建
4.baseline讲解
4.1大佬比赛流程
1)先写一个baseline提交
2)在baseline基础上做优化:数据处理、特征处理、模型调参
3)模型融合
4.2读取数据、数据统计信息:info(),head(),describe()统计信息;
对比train和test的情况:是否统计信息相近?若相近:分布较为一致,模型效果较稳定;若不一致,可能需要对train做一些采样处理是两者分布接近
4.3特征类型:数值型、分类型
4.4标签的分布:原理上来说,train和test的概率分布应该是一致的
4.5模型的构建:
1)XGB,LGB函数;
2)param_grid网格调参
3)切分数据集: train:validation=7:3/4:1
4)对比不同模型的结果解读:均值、方差;将预测结果与train data对比,看是否统计指标接近?是否有特殊的点需要关注处理?结合实际含义
5)不同模型的结果加权
EDA部分
一、EDA
1.EDA用途:
数据表达了什么
挖掘数据结构:结构化、图像等
初步分理处一些重要特征
挖掘离群数据和异常数据
初步确定可以用哪些模型
2.绘图方法
时序图:变化规律
直方图:分布
密度曲线:分布
箱型图:查看数据异常状况;不同数据间分布的对比
小提琴图:进阶版箱型图,看某个值附近的概率分布
3.量化方法
3.1相关性分析:定类变量,性别;定序变量,教育程度;定距变量,价格
3.2独立性分析:变量间无线性相关性,还可能存在非线性关联;MVtest独立性检验——去大佬github看,有复现的python包
二、Q&A
问:EDA通常会进行异常值分析,一般为了模型效果,会剔除掉异常值。那如果测试集或带预测的数据本身就包含异常值的情况呢?这种情况该如何处理?
答:可以自己构造一些规则去应用到test数据集中
三、代码实战
普通回归模型要求考虑多重共线性问题,XGB、随机森林等不需要;
pairplot图的效果比相关系数热力图效果好