Default

1. 数据清洗

缺失值处理:1)缺失。2)填充0、均值、中位数 无效值:1)只有一个取值。2)无区分度。

2. 特征构建

2.1 单特征处理

分类特征:label encoder,oneHot encoder,target encoder

特征衍生:绝对值、平方、对数。对树模型作用不大。

特征分箱:等频、等距、卡方

时间:年、月、日、时、分;

2.2 特征组合

统计特征:计数、最大、最小、均值、求和、方差、中位数

多项式特征:特征组合,组合的特征数量随 degree 指数增长,可参考 sklearn.preprocessing.PolynomialFeatures

N-to-N:核函数,比如直角坐标转极坐标

时序特征:密度、连续上升/下降次数

文本特征:NLP

图像特征:CV

特征扩散:引入拓扑关系

2.3 不同的特征工程方法在不同模型上的表现

本文对比了不同模型构造不同特征的能力。

模型:DNN, SVR, RF, GBM

特征:计数、求和、标准差、剪发、分布、log、max、多项式、指数、二元方式根的距离、r_diff、r_poly、比例、平方根、欧式距离。

四种模型构造 r_diff 特征的能力都最弱

$$

y=\frac{x_1-x_2}{x_3-x_4} $$ 表现最好的是DNN,学习能力最差的依次是 r_diff, max, dev

SVR表现最差,但适合跟DNN搭配。

RF和GBM表现非常类似

3. 特征选择

过滤法:单特征看区分度,IV值

包装法:不断加入/删除特征,看模型指标的变化

嵌入法:看特征权重,可以考虑引入正则。

模型相关:数模型看分裂增益

稳定性:直接影响模型稳定性,考虑以正则的方式加入模型

解释性

Exploratory Data Analysis

特征相关性:主成分分析;相似度;聚类

4. 参考

DONE

特征工程的10个案例:https://www.kdnuggets.com/2018/12/feature-engineering-explained.html

polynomial feature:https://machinelearningmastery.com/ polynomial-features-transforms-for-machine-learning/

spark 特征工程:提供了一些特征分桶、特征标准化的一些接口

featuretools:特征扩展包,通过名字描述特征勾走Exploratory

Data Analysis

autogluon:自动机器学习库

神秘网友:https://hg95.github.io/sklearn-notes/Chapter5/%E8%BF%87%E6%BB%A4%E6%B3%95%E6%80%BB%E7%BB%93.html

TODO

潮汐实验室:https://chengzhaoxi.xyz/19ff6f0a.html