特征工程怎么做

在工业应用中,feature 比算法重要,数据比 feature 重要,有很多 kaggle 参赛者分享经验时也是说 feature engineering 很重要,今天来写一写特征工程相关的。

本文结构

  1. Feature Engineering 是什么
  2. 有什么用
  3. 怎么用
  4. 实际应用

1. 是什么

参考

先用例子来直观地了解一下

例如要分析声音,直接拿来数据,是什么都学不到的,需要进行 fourier 变换

Paste_Image.png

例如分析图片,判断这个图片是不是苹果,可以选择 形状,颜色分布,边 来作为feature

Paste_Image.png

特征工程就是选择一些表示典型特征的数据,来替代原始数据作为模型的输入,进而得到比较好的输出效果。

2. 有什么用

特征越好,模型的性能越好,而且可以不用很复杂的数学模型也能达到不错的效果

3. 怎么做

参考

特征工程是个过程,包括三个子模块:特征构建->特征提取->特征选择

特征构建:根据原始数据构建新的特征,需要找出一些具有物理意义的特征。

特征提取:自动地构建新的特征,将原始特征转换为一组具有明显物理意义或者统计意义或核的特征。例如 Gabor、几何特征、纹理等。

常用的方法有:

  • PCA (Principal component analysis,主成分分析)
  • ICA (Independent component analysis,独立成分分析)
  • LDA (Linear Discriminant Analysis,线性判别分析)

特征选择:从特征集合中挑选一组最具统计意义的特征子集,把无关的特征删掉,从而达到降维的效果

常用的方法:

  • filter(刷选器)方法:Pearson相关系数,Gini-index(基尼指数),IG(信息增益)等

  • wrapper(封装器):有逐步回归(Stepwise regression)、向前选择(Forward selection)和向后选择(Backward selection)等

  • Embeded(集成方法):Regularization,或者使用决策树思想,Random Forest和Gradient boosting等

这篇文章《使用sklearn做特征工程》, 使用sklearn中的IRIS(鸢尾花)数据集来对特征处理的过程进行了说明,包括包的使用,数据预处理,还有上面提到的一些特征选择方法的 python 代码和应用例子:

特征选择部分:

  • Filter:方差选择,相关系数法,卡方检验,互信息法
  • Wrapper:递归特征消除法
  • Embedded:基于L1,L2惩罚项的特征选择法,基于树模型GBDT的特征选择法

特征提取部分:

降维:主成分分析法(PCA),线性判别分析法(LDA)

图片来源:

对于上面提到的方法,还需要学习一下各自的含义原理和应用场景。

这是 CS 294: Practical Machine Learning的一个课件,讲了 feature engineer 主要方法的原理和应用结果

此外,scikit learn 有关于 Feature extraction 的讲解和代码例子,可以学习学习

4. 实际应用

伯乐在线上的一篇文章 关于推荐系统中的特征工程, 以个性化推荐系统为例,介绍了特征工程在实际的问题里是怎么做的。

下面是Quora上对‘What are some best practices in Feature Engineering?’这个问题的一个回答,讲了一些实际的经验,应用时可以作为一点启发:

  1. 理解数据

    1. 特征是连续的还是离散
    2. 特征数据的分布如何
    3. 分布依赖的因素
    4. 是否有数据缺失,重复,交叉
    5. 特征的来源
    6. 数据是实时的吗
  2. 头脑风暴更多的特征
    好的特征具有下面特点

    1. 能够直观地解释
    2. 可以被计算
    3. 是很好地观察数据的方式
      例如:用户是否成为网站的注册用户?过去一周花费多少时间在这个网站上?在所有注册用户花费时间的分布中,这个用户处于什么位置?
  3. 检验你的猜测
    建模完成后要检验,数据分割,交叉检验等。

  4. 围绕你的目标思考
    无论是做回归,分类,还是聚类问题,你的猜想和建模都是为了解决这个问题服务的。

  5. 坚持 RFMVT 原则

    • Recency. Signals how old certain event is.
    • Frequency. Signals how often does certain events occur.
    • Monetary. Any numerical representation of direct of indirect business value of an example.
    • Variety. How many distinct items are found for certain type of an example.
    • Tenure. How much time has elapsed since the first appearance of certain example or of an example of certain type.
  6. 不要过于工程化
    快速迭代,最有效的方式就是提出正确的问题。


我是 不会停的蜗牛 Alice
85后全职主妇
喜欢人工智能,行动派
创造力,思考力,学习力提升修炼进行中
欢迎您的喜欢,关注和评论!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,560评论 4 361
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,104评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,297评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,869评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,275评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,563评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,833评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,543评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,245评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,512评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,011评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,359评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,006评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,062评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,825评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,590评论 2 273
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,501评论 2 268

推荐阅读更多精彩内容