机器学习特征工程总结

一、前言

数据清洗:

  • 不可信的样本去除
  • 缺失值极多的字段考虑去除
  • 补齐缺失值

数据采样:很多情况下,正负样本是不均衡的,大多数模型对正负样本是敏感的(比如LR)

  • 正样本>>负样本,且量都挺大:下采样
  • 正样本>>负样本,量不大:
  1. 采集更多的数据
  2. oversampling
  3. 修改损失函数

二、特征处理

sklearn中preprocessing模块经常用来进行特征处理

1、数值型

  1. 归一化
  • 线性函数归一化:
    将结果映射到[0,1]区间内,实现对原数据的等比缩放
  • 零均值归一化:
    将结果映射到均值为0,方差为1的分布上

为什么要对数值型数据做归一化处理?

以梯度下降的优化算法来说明,假设 X 1 X_1 的取值范围为[0,1], X 2 X_2 的取值范围为[0,100],在学习速率相同的情况下, X 1 X_1 的更新速度会大于 X 2 X_2 ,需要较多的迭代才能找到最优解,如果归一化到相同的区间之后,两者的更新速度会变得一致,容易更快的通过梯度找到最优解。

  1. 对数变化
  2. 统计值(max,min,mean,std)
pd.value_counts() #类似于group计数
pd.describe() #可以查看mean、min、mean、std等信息
  1. 离散化
    等距切分、等频切分
  2. 转换成类别型

2、类别型

  1. 序号编码
  2. one-hot编码
pd.get_dummies(data['column_name'],prefix='column_name')
  1. 二进制编码
  2. 统计每个人类别下各个target比例,转成数值型
  3. hash与聚类处理
    hash技巧类似于LDA中“单词-主题”模型,即把一些特征转换到另一个特征用作统计,“词袋”模型中经常这样处理

3、时间型

时间可以看做连续值,也可以看做离散值,看需要选择

4、文本型

  • 词袋模型:将每篇文章看成一袋子词,以词为单位,去掉停用词,剩下的词映射成在词库中的稀疏向量,向量的每一维都是一个词。(忽略词的顺序)
from sklearn feature_extraction.text import CountVectorizer 
  • n-gram:将连续出现的n个词作为一个独立特征放到向量表中
  • tf-idf:直观的解释是,如果一个单词在很多文档中出现,那么我们认为它可能是一个比较通用的词汇,对于区分文档的贡献较小,因此对权重做一定的惩罚
    t f i d f ( t , d ) = t f ( t , d ) i d f ( t ) tf-idf(t,d) = tf(t,d)*idf(t)
    t f ( t , d ) tf(t,d) 为单词t在文档d中出现的频率, i d f ( t ) idf(t) 是文档逆频率
    i d f ( t ) = l o g N N t + 1 idf(t) = log \frac{N}{N_t+1}
    其中, N N 是文档总数, N t N_t 是包含单词 t t 的文档个数
  • word2vec:一般有两种网络结构,CBOW的目标是根据上下文来预测当前词的概率,而skip-gram是根据当前词来预测上下文出现的概率。

5、统计型

  • 加减平均
  • 分位线
  • 次序型
  • 比例

6、组合特征

  • 简单组合:拼接两到三个特征
  • 模型组合:可以利用决策树的方法来找组合特征,GBDT等

7、高维特征的处理

三、特征选择

原因:
冗余:部分特征相关度太高了
噪声:部分特征对预测结果有负影响

特征选择和特征降维

特征选择只是去掉了原本特征里和结果预测关系不大的特征,做特征的计算组合成新的特征
svd和pca是做了空间转换

1、过滤型

  • 评估单个特征和结果值之间的相关程度:pearson相关系数、互信息、距离、相关度、卡方检验、信息增益
  • 缺点:没有考虑特征之间的关联

2、包裹型

  • 把特征选择看做是一个特征子集搜索问题,筛选各特征子集,用模型评估效果
  • 递归特征删除算法:用全量特征跑一遍模型,根据线性模型特征的系数,删掉5%-10%的弱特征观察AUC/准确率的变化,逐步进行,直到准确率/AUC出现大的下滑为止

3、嵌入型

  • 根据模型来分析特征的重要性,和包裹型不同的是,包裹型是产生权重,嵌入型是让模型自动选择特征
  • 最常见的方式是使用正则化来做特征选择,还有决策树

猜你喜欢

转载自blog.csdn.net/weixin_40552085/article/details/83151243