learn_fe

特征工程方法集合

李家翔 2020-01-15

learn_fe

  1. 次方项构建非线性组合,借鉴 Ramsey’s RESET test,见 reset-test
    1. 这样的方法减少了自由度的损失,
    2. 可以避免直接平方的效果,主要拟合非线性关系,并且在原生自变量多的情况下,大大减少数据量的计算。 相关可以参考phv
  2. 根据原特征变量,使用无监督方法,产生聚集类后的结果,作为解释变量,进行交叉项目,参考 github
    1. 如果是树模型,直接放入模型做一个x变量,自动进行交叉即可
  3. 根据 t-SNE,无监督学习产生新的特征变量,效果见 DataCamp
  4. 根据 GLRM,无监督学习产生新的特征变量,效果见 DataCamp
  5. Stacking 对于 Tests for Nonnested Models 的问题,在 Ghosh (2015) 的讲义中,发现这是一种类似于 机器学习中 stacking 的思想。 其实是使用一个模型的预测值 (\hat y) 作为回归因子放入另外一个回归中,也就是常接触到的 Davidson & MacKinnon Test (Wooldridge 2012)。
  6. GBDT + LR,参考 jiaxiangbu
    1. 开启了特征工程模型化、自动化的新阶段
    2. 这种组合产生的结果优于单纯的GBDT,我进行了实验发现,LightGBM替换GBDT后,这种提升也能保持
  7. 类似于用 PCA 合成指标,autoencoders、t-SNE 的降维后损失的信息更少
  8. QQ号特征变量 [1-9]([0-9]{5,11}) 这是正则化,因此取首位数字和qq号位数

Embedding 思路

参考发布的 Python 包 data-science-bowl-2019

  1. 处理序列特征 word2vec
  2. 处理网络特征 node2vec

避免特征被重复使用

8.问:就是你说准入规则,pre-A, 反欺诈规则反欺诈引擎,还有风控模型,一般都不会选用相同的特征?因为客户群体会越来越少,这个我有点不理解。。。 (???) 答:这个问题不只有一个同学问过我。也是不单单我们这个场景才有的。基本上每个机器学习模型或多或少都会遇到我们这种问题。我们一般是不会用相同的特征做重复筛选的。这样会导致样本偏移更严重。就是说,被拒绝的人,是由于某些特征表现差,被拒绝的,那随着时间推移,下次建模的样本里面,就没有这些人了…这些这些特征上的样本分布就变了 。 (???)

例如 stacking 的情况,样本被训练不能重复。这里不同模型的独立,也不能选用相同的特征。 特别地,当模型是串联的时候,Y=1的下次建模的时候,没有这些人了,因此这些特征的分布都会变了,很可能效果也变差了。


**Code of Conduct**

Please note that the `learn_fe` project is released with a [Contributor Code of Conduct](https://github.com/JiaxiangBU/learn_fe/blob/master/CODE_OF_CONDUCT.md).
By contributing to this project, you agree to abide by its terms.

**License**

CC0 © [Jiaxiang Li](https://github.com/JiaxiangBU/learn_fe/blob/master/LICENSE.md)
Ghosh, Damayanti. 2015. “Validity of a Regression Study.”
Wooldridge, Jeffrey M. 2012. *Introductory Econometrics: A Modern Approach*. 5th ed. South-Western College Pub.