simple numbers
scale:不改变feature的原始分布
smooth function of models:k-means, 最近邻,rbf等使用欧几里得距离的模型对输入数据的scale敏感,需要normalize to expected scale。
lr model,logistic model,以及任何用到了matrix的model都对number scale 敏感。
logical function is not sensitive to number scales: tree, space partition tree, 随机森林,gbdt。
-
Min-Max scaling
x~=x−min(x)max(x)−min(x) \tilde{x}=\frac{x-\min (x)}{\max (x)-\min (x)} x~=max(x)−min(x)x−min(x) -
standardization:variance scaling:mean=0,variance=1
x~=x−mean(x)sqrt(var(x)) \tilde{x}=\frac{x-\operatorname{mean}(x)}{\operatorname{sqrt}(\operatorname{var}(x))} x~=sqrt(var(x))x−mean(x)
注意:这两种变换可以导致稀疏向量(0多)变为稠密,增加计算负担。 -
l2 normalization:将原始数据投射到半径为一的单位圆(data space),但是不改变单一feature的概率分布。
L2 norm:衡量vector在坐标空间的长度x~=x∥x∥2 \tilde{x}=\frac{x}{\|x\|_{2}} x~=∥x∥2x
∥x∥2=x12+x22+…+xm2 \|x\|_{2}=\sqrt{x_{1}^{2}+x_{2}^{2}+\ldots+x_{m}^{2}} ∥x∥2=x12+x22+…+xm2
distribution
lr model assume the predict error to be Gaussian distributed.
- 处理方式:
binarization;quantization or bin;
log transform:
压缩large scale numbers,扩展samll scale numbers;处理非负长尾数据,将长尾压缩,短尾扩张;但不一定对所有模型都有效,(数据可视化的重要性)
power trans:(variance stabling)
方差稳定性:power trans 改变原始数据的分布,使得一些方差依赖均值(泊松)的分布变化之后不再依赖。
box-cox trans:
x~={xλ−1λ if λ≠0ln(x) if λ=0 \tilde{x}=\left\{\begin{array}{ll}{\frac{x^{\lambda}-1}{\lambda}} & {\text { if } \lambda \neq 0} \\ {\ln (x)} & {\text { if } \lambda=0}\end{array}\right. x~={λxλ−1ln(x) if λ̸=0 if λ=0
interaction features
expensive to use;
feature selection
- filtering:计算相关系数,互信息量;没有考虑model;cheap;可能会误删有用的feature
- wrapped method:expensive,但是不会误删有用的features
- embedded method:特征选择是train的一部分