一、数据归一化
原因:样本有多个维度时,量纲的不同会影响特征的重要程度,如果将数据进行归一化处理可以消除量纲对特征的影响
常用的归一化方式有两种:
最值归一化: Xs =(X – Xmin)/(Xmax – Xmin) 适用于特征有明显边界的情况
均值方差归一化:Xs = (X – Xmean)/ S 适用于特征有极端值的情况
二、数据离散化(分箱)
将数值型数据转化成类别型数据。连续值的取值空间可能是无穷的,为了便于表示和在模型中处理,需要对连续值特征进行离散化处理。
无监督: 自定义分箱:根据自己需求或经验进行分箱
等距分箱:从最小值到最大值均分为n份
等频分箱:将数据分为n份,每份样本个数相同
聚类分箱:根据k均值聚类分为n份,前一份观测值小于后一份
二值化:转化为bool类型
有监督:卡方分箱:具有最小卡方值的区间合并在一起
最小熵法分箱:根据熵的大小确定最优分箱
三、缺失值处理
目前常用的三类处理方法:
1. 用平均值、中值、分位数、众数、随机值等替代。效果一般,因为等于人为增加了噪声。
2. 先根据欧式距离或Pearson相似度,来确定和缺失数据样本最近的K个样本,将这K个样本的相关feature加权平均来估计该样本的缺失数据。
3. 将变量映射到高维空间
a.对于离散型变量:男、女或缺失的情况,采用One-hot编码,映射成三个变量,是否男、是否女、是否缺失;
b.对于连续型变量,首先对连续变量进行变量分箱,采用一定的数据平滑方式(平均值/中值/箱边界)进行离散化,然后增加是否缺失这种维度。
四、编码与哑变量
One-hot编码
one-hot编码,又称独热编码、一位有效编码。其方法是使用N位状态寄存器来对N个状态进行编码,每个状态都有它独立的寄存器位,并且在任意时候,其中只有一位有效。one hot在特征提取上属于词袋模型(bag of words)
优点:一是解决了分类器不好处理离散数据的问题,二是在一定程度上也起到了扩充特征的作用(上面样本特征数从3扩展到了9)
缺点:在文本特征表示上有些缺点就非常突出了。首先,它是一个词袋模型,不考虑词与词之间的顺序(文本中词的顺序信息也是很重要的);其次,它假设词与词相互独立(在大多数情况下,词与词是相互影响的);最后,它得到的特征是离散稀疏的。
dummy 编码
哑变量编码直观的解释就是任意的将一个状态位去除。将one-hot简化,比如用所有状态位为0来表示新的状态