甲乙小朋友的房子

甲乙小朋友很笨,但甲乙小朋友不会放弃

0%

机器学习实践-O2O优惠券预测-特征工程 机器学习实践-O2O优惠券预测-特征工程

特征工程

别人的例子

特征选择

特征选择,就是从多个特征中,挑选出一些对结果预测最有用的特征。因为原始的特征中可能会有冗余和噪声。 特征选择和降维有什么区别呢?前者只踢掉原本特征里和结果预测关系不大的, 后者做特征的计算组合构成新特征。

过滤型

  • 方法:  评估单个特征和结果值之间的相关程度, 排序留下Top相关的特征部分。
  • 评价方式:Pearson相关系数, 互信息, 距离相关度。
  • 缺点:只评估了单个特征对结果的影响,没有考虑到特征之间的关联作用, 可能把有用的关联特征误踢掉。因此工业界使用比较少。
  • python包:SelectKBest指定过滤个数、SelectPercentile指定过滤百分比。

包裹型

  • 方法:把特征选择看做一个特征子集搜索问题, 筛选各种特 征子集, 用模型评估效果。
  • 典型算法:“递归特征删除算法”。
  • 应用在逻辑回归的过程:用全量特征跑一个模型;根据线性模型的系数(体现相关性),删掉5-10%的弱特征,观察准确率/auc的变化;逐步进行, 直至准确率/auc出现大的下滑停止。
  • python包:RFE

嵌入型

  • 方法:根据模型来分析特征的重要性,最常见的方式为用正则化方式来做特征选择。
  • 举例:最早在电商用LR做CTR预估, 在3-5亿维的系数特征上用L1正则化的LR模型。上一篇介绍了L1正则化有截断作用,剩余2-3千万的feature, 意味着其他的feature重要度不够。
  • python包:feature_selection.SelectFromModel选出权重不为0的特征。

参考文献

  1. 四月机器学习算法班—特征工程笔记