这一版笔记,是进一步阅读特征工程相关博客时补充记录的,继篇号为017的博客。该笔记的记录具有针对性,记录的只是部分知识,一是弥补自己的空白,二是记录常用常见的方法,不是基于知识体系的全面覆盖而记录。
一、数据预处理
下面列出了对结构性数据的处理方法。
(非结构性数据:如文本数据、图像数据、声音数据。)
1.缺失值处理
1.1 多项式插值
已知n+1个互异的点,由此可得到最高项不超过n次的多项式方程。
公式:Y=AX,A=X^(-1) * Y
其中A为系数矩阵,X为特征的多次项矩阵,Y为目标值矩阵。
如果test_x 也存在空值,一般在缺失值的前几个或者后几个值当中,挑出一个作为参考值,将其值代入到插值模型之中,学习出一个值作为缺失值的填充值。
优点:易理解,方便实现
缺点:数据改变,多项式需要重新计算,这一点稍繁琐;多项式次数过高时函数值可能不稳定。
1.2 lagrange插值(拉格朗日)
lagrange插值是一种多项式插值。
lagrange插值多项式:
拉格朗日基本多项式的特点是在x(j)上取值为1,在其它的点上取值为0。
1.3 预测填充
(可以理解为内套机器学习吗。。)
把需要填充缺失值的某一列特征作为新的标签,通过机器学习,建模评估,预测测试集,从而填充缺失值。
1.4 具体分析
根据数据的环境、明显特点、任务背景等因素进行分析。
比如,1.有些时候,属性值缺失并不意味数据缺失而无用;2.根据数据场景选择思考合适的填充值(如行为时间点填充众数)
2.离群值处理
2.1 标准差法
1.假设一组检测数据只含有随机误差,对其进行计算处理得到标准偏差,按一定概率确定一个区间,认为凡超过这个区间的误差,就不属于随机误差而是粗大误差,应予以剔除。
2.假设有近似服从正态分布的离散数据。
用μ±nσ来衡量因子与平均值的距离
2.2 绝对值差中位数法(MAD)
这是一种先需计算所有因子与中位数之间的距离总和来检测离群值的方法,适用大样本数据。
2.3 其他
如箱型图法、图像分析法等。
3.数据变换
一般指特征构造,在后面会展开说明。
4.无量纲化
5.连续变量离散化
有些时候我们需要对数据进行粗粒度、细粒度划分,以便模型更好的学习到特征的信息。离散化有很多的好处,比如能够使我们的模型更加的简单、高效且低耗内存等优点。
离散化通用流程:对特征高效排序——候选断点——断点是否满足衡量尺度——若该离散算法存在停止准则,当满足时则不再进行离散化
粗粒度划分(连续数据离散化):也称为二值化或离散化或分桶法。
细粒度划分:在文本挖掘中,往往将段落或句子细分具体到一个词语或者字。
特征二值化
设定一个划分的阈值,当数值大于设定的阈值时,就赋值为1,;反之赋值为0。(当然不一定0/1,可根据情况自定义设定赋值)
无监督离散化
分箱
-
等宽分箱:
基于属性/特征值大小区间来划分,按照相同宽度将数据分成几等份。