Feature engineering
本文开始之前,着重强调“特征工程的重要性:数据决定算法的上限”。
(图片与本文无关,好看点个赞?)
何为特征工程
-
特征使用方案
1)要实现我们的目标需要哪些数据
2)可行性评估:获取难度,覆盖率,准确率
-
特征获取方案
1)如何获取这些特征?
2)如何存储,什么样的形式存储
-
特征清洗
1)特征清洗,异常样本的清晰
2)采样数据均衡问题
-
特征预处理
1)对于单个特征:归一化,标准化,离散化,dummy coding,缺失值填充,数据变换(log,指数)
2)对于多个特征:
降维(PCA,LDA)
特征选择:Filter(相关系数,卡方检验,互信息)、wrapper创建新的特征
不同类型数据的特征处理
数值型:
-
进行归一化的操作;连续值离散化(分区间)
类别型:
-
编码,dummy coding或者叫 one hot 。0 0 1 ,1 0 0,0 1 0 。
时间类:
-
间隔型,为一个区间的哪个阶段,如“早,中,晚”。“放假前”,“放假后”。
文本型:
-
词频,词向量。
统计型:
-
和业务场景很接近,描述数据所处的位置。
异常数据常用处理方法
缺失值:
-
当缺失值很多,这个特征可以不要,当缺失值相对多,可以把是否缺失做一个特征,当缺失值比较少可以选择众数或者平均值。还可以通过机器学习的方法来填充缺失值,比如根据相似性进行填充K邻近。
特征数值分布长尾:
-
离散化数据,分区间处理。
有偏度的特征:
-
使用log,倒数,使数据尽可能的呈现正太分布。
异常点:
-
判断异常点是采集的错误,还是不具有普适性数据。
数据缩放的手段
标准化:
用原始数据减去均值,再处以标准差。
归一化:
原始数据减去最小值,除以最大值与最小值的差。
"用同一把尺子量数据"。
-end-