怎样做好特征工程?

一,特征工程

如何充分利用数据进行预测建模就是特征工程要解决的问题!

“实际上,所有机器学习算法的成功取决于您如何呈现数据。”

1,特征工程的重要性

2,什么是特征工程

特征工程是将原始数据转换为能够更好地表示预测模型的底层问题的特征的过程,从而提高对不可见数据的模型预测精度。

“feature engineering is manually designing what the input x’s should be.”
“you have to turn your inputs into things the algorithm can understand.”

3,特征工程的子问题

  • Feature:An attribute useful for your modeling task.
    并不是所有的属性都可以看做特征,区分它们的关键在于看这个属性对解决这个问题有没有影响!
  • Feature Importance:An estimate of the usefulness of a feature.
    它可以作为特征选择的一个先验知识。
    如果一个特征与因变量(被预测的事物)高度相关,那么这个特征可能很重要。 相关系数和其他单变量(每个属性被独立考虑)方法是常用的方法。
    更复杂的预测建模算法在构建模型时在内部执行特征重要性和选择。 例如MARS、随机森林和GBDT。
  • Feature Extraction: The automatic construction of new features from raw data.
  • Feature Selection: From many features to a few that are useful
  • Feature Construction: The manual construction of new features from raw data.
    它和Feature Extraction最大的不同就是它是手动构建的,但它也许是更重要的,因为特征工程是无法做到完全自动化的,一些重要的特征还是需要人脑想出来的!
  • Feature Learning: The automatic identification and use of features in raw data.
    也可以称为表示学习,例如深度学习中的自编码器、受限玻尔兹曼机。

二,特征工程的过程

特征工程的迭代过程如下:

三,特征工程的一些例子

1,分解类别特征

对于一个特征item_color有‘red’、‘green’、‘unknown’三个取值,那么可以创造一些新的特征例如:

  • 二值特征has_color: 1知道具体颜色,0表示不知道。这个可以替换item_color特征用到更简单的线性模型中。
  • 三个二值特征is_red、is_green和is_unknown。这个可以添加到原有特征中用到决策树模型中。

2,分解Datatime

3,重构数值量

  • 单位转换
  • 整数部分与小数部分分离
  • 构造范围二值特征
  • 构造阶段性的统计特征
  • 构造其他二值特征
  • 等等

最有效的还是需要从实践中学习!

猜你喜欢

转载自blog.csdn.net/h2026966427/article/details/80219097
今日推荐