机器学习实战
数据预处理
One-Hot编码
One-Hot编码既独热编码,又称一位有效编码,其方法是使用n位状态寄存器来对n位状态进行编码,每个状态有他独立的寄存器位,并在任意时候,其中只有一位有效(为1),其余全为0.可以这样理解,对于每一个特征呢,如果他有m个可能值,经过独热编码后,就变成了m个二元特征。并且这些特征互斥,每次只有一个激活,因此,数据会变成稀疏的。
可用于解决分类模型对离散型变量处理效果差的问题,也可用于依据原始的离散数据,构建稀疏矩阵,对数据集进行升维。
数据缺失处理方法
删除法
方法名称 | 说明 |
---|---|
删除样本 | 将存在缺失数据的样本删除,这种方法最简单易行,在数据集有多个特征缺失值、被删除的含缺失值的对象与信息表中的数据量相比非常小的情况下是非常有效的。但是,在数据集中本来包含的样本很少的情况下,删除少量样本就足以严重影响数据的客观性和结果的正确性 |
删除特征 | 当某个特征缺失值较多,且对研究目标影响不大,可以将特征整体删除 |
改变权重 | 当删除缺失数据会改变数据结构时,通过对完整数据按照不同的权重进行加权,可以降低删除缺失数据带来的偏差 |
简单插补
均值插补
均值插补是在处理数据是可以把特征分为数值型和非数值型,对于非数值型的缺失数据,运用统计学的众数原理,用此变量在其他对象中取值频数最多的值来补齐缺失值;对于数值型的缺失值,则取此变量在其他所有样本的取值均值来补齐缺失值,此方法使得插补值集中在均值点上,在分布上容易形成尖峰,导致方差被低估。可根据一定的辅助变量,将样本分成多个部分,然后在每一部分上分别使用均值插补,称为局部均值插补
哑变量法
对缺失值创建一个指标,即设一个哑变量。1表示观测数据中存在缺失值,0表示不存在,对缺失数据进行特定值的插补(如均值插补)这样做的好处是在缺失值处理时使用了全部变量的信息,但这样会导致估计有偏。
K均值聚类法
利用辅助特性(即无缺失值的特征),定义样本间的距离函数,寻找与缺失值样本距离最近的无缺失值的n个样本,利用这n个样本的加权平均值来估计缺失数据。这种方法在模型中引入了自相关,容易给后续工作造成障碍。期望最大化(EM算法)
该算法的特点是通过数据扩张,将不完全数据的处理问题转化为对完全数据的处理问题,且通过假设隐变量的存在,简化似然方程,将比较复杂的似然函数极大似然估计问题转化为比较简单的极大似然估计问题。通过以下步骤实现:- 用估计值替代缺失值
- 参数估计
- 假定2中的参数估计值是正确的,再对缺失值进行估计;
- 在估计缺失值
基于模型的方法
一般对观测数据定义一个模型,然后在模型下根据适当的分布做推断。优势是灵活:回避特殊情况的方法,在模型假设基础上产生的方法可以进行推演和评价;以及考虑数据不完整性时方差分析的可用性。