1、数据可视化
查看异常点,查看数据分布,查看数据的规律,方便做数据预处理。
1.1数据分布图
汽车销量随月份的变化:1,12月份数据比较高,2月份数据比较低,从而构造特征
汽车上牌量随时间变化:有一个很高的波峰,由特殊原因造成的,是异常值不能拿到模型去训练,会带来很大的噪声,(判断异常值:正负三个方差之内,方差越大,对峰值的容忍程度越大)需要对峰值做平滑处理。
1.2散点图
能够反映x轴和y轴的两个变量之间的相关性有多大。如果散点图趋势是上升的,表示两个变量正相关。如果趋势是下降的,表示两个变量负相关。如果能基本上拟合一条线,表示两变量相关性大,如果不能拟合出一条线而是很分散,表示两个变量没有相关性。如果相关性很高,说明两变量具有红线性,那么后期做特征工程的时候要注意,看是否能只用其中更强的一个来表示特征,不需要同时引入两个特征。右下角的离群点需要剔除,避免噪声。也可以做特征与目标变量之间的散点图,得到一些强特(对目标预测能力非常强的特征),之后的特征工程,特征构造就在强特的基础上进行。
1.3核密度图
特征f12标签为0和1的分布,图中可以看成三个点的正态分布, 可以发现,f12值越大,标签为0的区域越大。说明该特征为强特。
1.4热力图
多组特征之间的相关性的大小,(也可以将不同的模型做热力图,选取相关性较小,差异性较大的模型进行融合)
2、数据预处理
异常值,重复值
**2.1.数据的重复性:**是否有重复的行列
2.2.字段的数据类型(类别型,连续型)和方差(方差较小的直接剔除)
**2.3.数据异常值处理:**一些缺失值蕴含了丰富的信息,例如风控模型中,有很多空值的会比较可疑
**2.4.数据的缺失值:**超过三个方差(不一定非要三个)后做平滑处理,如果异常的较少可以直接扔掉。
3、数据切分
将线下的训练集切分成训练集和验证集,以便验证线下模型的分数。
需要建立一个稳定的线下验证机制,分训练集和验证集。
3.1使用k折交叉验证来降低过拟合,同时保持精度。
3.2滑窗法
时序型数据,例如给定1~7月的销量要预测8月份的销量。
4、特征工程
根据业务的特性,分析数据,找到潜在的规律和特点,再根据业务构造具体的特征。
4.1文本型
词袋:词语出现次数
TF-IDF:词频逆文档率:词在一段话中出现的次数 / 词在整个文本(文件)出现的次数
Word2vec:词向量,把每个单词处理好后,放到神经网络训练。
4.2数值型
幅度调整/归一化:
统计值(总和,均值,中位数,最大值,最小值)
离散化(分箱)
4.3类别型
one-hot编码10, 01
label编码1, 0
4.4时间型
4.4.1连续型:
持续时间(单页浏览时长)
间隔时间(上次购买/点击离现在的时间)
4.4.2离散型:
一天中哪个时段
一周中星期几
一年中哪个星期
一年中哪个季度
工作日/周末
4.5统计型
加权平均
次序性
比例特征
5、模型
线性模型(GBDT),非线性模型
选择差异性比较大的几个模型,进行模型的融合,让每个模型从不同角度学到不一样的东西。
可以自己分占比,也可以stacki