特征选择
- 选择合适的特征
1.1. 根据特征的发散性和相关性指标对各个特征进行评分(比如方差、卡方检验、相关系数、互信息等)
1.2. 选择部分特征,查看预测评分
1.3. 使用某些机器学习算法,得到各个特征的权值系数,根据权值系数从大到小选择特征 - 寻找高级特征
2.1. 拿到已有的特征之后,可以据此得到更多的高级特征,二级三级四级等等
2.2. 在第一次建立模型的时候,可以先不寻找高级特征,得到基准模型后,再寻找高级特征进行优化 - 原则
3.1. 尽量不错过一个可能有用的特征,但是也不滥用太多的特征。
特征表达:如何对某一个特征的具体表现形式做处理
- 缺失值处理
1.1. 连续值:用平均值或中位数填充
1.2. 离散值:用出现频率最大的值填充 - 特殊的特征处理
2.1. 时间特征:差值法、聚类法、权重法
2.2. 地理特征:按区域划分为离散值,按经纬度处理为连续值 - 离散特征连续化
3.1. 独热编码 (one hot coding)
3.2. 特征嵌入(embedding),一般用于深度学习 - 离散特征离散化
4.1. 独热编码 (one hot coding)
4.2. 虚拟编码(dummy coding) - 连续特征离散化
5.1. 根据阈值进行分组
5.2. GBDT
特征预处理
- 标准化和归一化
1.1. z-score 标准化:最常见的特征处理方式,基本所有的线性模型在拟合时都会做 z-score 标准化。方式是,使用 (x-mean) / std 代替元特征,这样特征就变成均值为0,方差为1了。
1.2. max-min 标准化:也称为离差标准化。方法是,用 (x-min) / (max - min) 代替原特征,特征值被映射到了 [0,1]之间。