对于传统的机器学习、数据挖掘问题,在CV、NLP领域之外,一般而言特征工程是很重要的。

  对特征进行异常处理亦或是组合的时候往往需要考虑实际业务,但是在实际业务之外,也有那么一些常规的技巧可以遵循。

  特征中的一大类别——连续型特征如何处理?

  1、原始特征

      没错,来句废话……连续型特征的原始形态就可以作为模型的输入,无论是linearRegression、神经网络,还是LR、SVM,又或是GBDT、xgboost和lightGBM等这些算法模型都可以处理。

 2、Log转换与Box-Cox转换

     对于linearRegression这种非树类模型,输入值符合正态分布有时能提高一些预测的准确性。使用Log转换与Box-Cox转换就是为了达到这个目的。

    Log转换:Log转换很容易理解,对所有数值进取对数,这种操作可以使直方图中山峰偏左的数据转化为山峰处在中间、近似正态分布的数据。

   Box-Cox转换:

两个连续变量cox回归交互作用影响的分析怎么用r cox回归 连续变量_数据

,不止对左偏数据有用,右偏一般也好使。

 

3、分箱

    数据分箱是一种将连续型数据转换成为离散型数据的操作,一般而言是为了提升泛化能力。当然转变为离散型数据后还需要进行一些的离散型数据的处理。

  例如:1,2,2,3,4,5,6,7,8,9,10这样一组数值,按照(1-2,3-4,5-6,7-8,9-10)这样的分区规则分区,

             那么就会得到(1-2,1-2,1-2,3-4,3-4,5-6,5-6,7-8,7-8,9-10,9-10)这样的数据,直观理解就是10种变成了5种。

 

分相操作一般是等宽分箱(上面这种在将(1-10)这个范围等距切分成5份的),也有等量分箱(按照数据的数量划分,每个箱里面值的数量保持一致),还有按照需求自定义分箱。

 

4、多项式

   多项式也是特征组合的一种方式,即将

转换成

这种形式来增加特征。

  tips:多项式可能也只会对纯线性模型起到一点儿作用了,对神经网络和集成学习这些真的半点实际作用都没有……