数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已。
0.示意图
1.特征类别
1.1.类别特征
- one-hot encoding
- hash encoding
- label encoding
- count encoding
- label-count encoding
- target encoding
- category embedding
- Nan encoding
- polynomial encoding
- expansion encoding
- consolidation encoding
1.2.数值特征
- rounding
- binning
- scaling
- imputation
- interactions
- no linear encoding
- row statistics
1.3.时间特征
1.4.空间特征
1.5.自然语言处理
1.6.深度学习/神经网络
1.7.图特征
1.7.Leakage
1.8.统计聚合
1.9.自动化特征工程
2.数据预处理
利用Sklearn的preprocessing库。
2.1.无量纲化方法
- 标准化:转换成标准正态分布 x ′ = x − X ‾ S x'=\frac{x-{\overline X}}{S} x′=Sx−X
from sklearn.preprocessing import StandardScaler
- 区间缩放法:
如: x ′ = x − m i n m a x − m i n x'=\frac{x-{min}}{max-min} x′=max−minx−min
from sklearn.preprocessing import MinMaxScaler
2.2.归一化
依照特征矩阵的行处理数据。
目的:将样本向量转化为单位向量。使样本向量在点乘运算或其他核函数计算相似性时,拥有统一的标准。
标准化是依照特征矩阵的列处理数据,其通过z-score的方法,将样本的特征值转换到同一量纲下。
规则为L2的归一化公式如下:
x ′ = x ∑ j m x j 2 x'=\frac{x}{\sqrt {\sum_j^mx_j^2}} x