BAT面试题4:简单聊聊特征工程

接下来,每天推送一道BAT的面试题,一般问到的这些知识点都是很重要的,所以知道的就再复习一下,不知道的希望这篇可以帮助到你。日积月累,你会在不知不觉中就步入机器学习的大门,并且越走越远。同时,还能助你顺利拿到OFFER.

【问】简单聊聊特征工程?

好的。随着大数据时代的到来,特征工程发挥着越来越重要的作用。那么什么是特征工程呢,简单说,就是发现对因变量y有明显影响作用的特征,通常称自变量x为特征,特征工程的目的是发现重要特征。

一般来说,特征工程大体上可以分为三个方面,一是特征构造,二是特征选择,,三是特征生成。三个方面当中,最重要的是特征选择,我们先简单说一下,特征构造和特征生成,后面再说特征选择。当然一个特征工程当中并不一定涉及到这三个方面。那么接下来,先说特征构造。

顾名思义,特征构造就是构造出来新的特征,一般都是通过对原有的特征进行四则运算产生新的特征。比如原来的特征是x1和x2,那么x1+x2就是一个新的特征,或者当x1大于某个数c的时候,就产生一个新的变量x3,并且x3=1,当x1小于c的时候,x3=0,所以这样看来呢,可以按照这种方法构造出很多特征,这个就是构造。

我们再来说说特征生成,特征生成和特征构造有些相似,但是还是存在一些区别的,特征生成的话,比如主成分分析或者因子分析,都可以对原有数据进行特征生成,比如卷积神经网络的卷积层就是一个特征生成的过程,一张图片,经过卷积的不断扫描,就会把原始图片里边的好多特征逐步提取出来,这个就是特征生成。再如通过主成分分析对原始数据进行降维,那么降维后,每个主成分其实就代表一个新的特征,同样因子分析也具有这方面的功能,通过因子分析可以把潜在变量后面的潜在因子找出来。

通过这几个例子,大家可以逐渐感觉到特征构造和特征生成会有一些区别,但是也有一定的联系。实际上,主成分分析本身就是初始变量的线性组合。这样来看,也属于特征构造的,但是一般特征构造就是简单的四则运算。

上面呢就是简单说了一下,特征生成和特征构造,其实就是想尽各种办法产生个新的特征。下面呢,我们重点要说特征选择了,特征选择是非常重要的,如果特征选择失败,那么前面的工作都是徒劳的,大家试想一下,比如我们构造出了100多个特征,但是呢,却不知道哪个特征最重要,那不是还是没有解决问题吗,所以特征选择就显的尤为重要。

我们首先对特征选择的方法进行一个分类,从机器学习和统计方面进行一个分类,看看各自有哪些常用的算法。

我们先从统计的角度看一下,统计方面呢,我们最先想到的就是回归,回归是可以进行特征选择的,比如自变量x的回归系数如果是不显著的,那么我们就认为它不是一个好的特征。除了看显著性呢,还有常用的手段就是,先把所有的变量一起和y做一个回归,在逐渐去掉某些x,观察模型的deviance如何变化,这类方法其实叫 Wrapper Methods。

但是呢,如果因变量y是离散的,那么我们的回归对应的就是广义线性回归模型了,那么这个时候还可以通过其他方法进行特征选择了,一般做法是单独将每个x和y做一个回归,完后再计算这个模型对应的基尼系数,通过观察基尼系数确定哪个方程对应的特征是最好的,但是呢,这种方法存在缺点,一个是每一个变量都需要单独和y做回归,比较麻烦。第二个是按照这种方法选出来的特征,其实效果不行,也就是在测试集上面表现并不好。那么呢,难道统计学方面就没有好一点方法吗,有呢,就是lasso回归,lasso回归本来就是统计学大师搞出来的,现在已经发展出好多lasso回归的模型了。那么大家一看lasso这个单词是套索的意思。就是套着马脖子,主要是控制马的装置,那么在回归当中呢,主要是套回归系数的,意思是把回归系数控制住,不让它太大,本质上是一种正则化的手段,但是呢,不叫它太大,那数学的语言刻画方式有很多种了,但是lasso回归就选择了很巧妙的一种刻画方式,按照这种套路来,不仅可以约束系数,而且可以在模型最优的时候把不重要的系数约束为0.既然x的系数都成了0了,那我们也不用看显著性了,直接做到了特征选择,或者变量选择。目前看,这个方法是效果是非常好的,而且非常实用与高维数据分析。说的官方一些,这类方法叫Embedded Methods,后面我们会专门讲lasso。

上面就是统计学角度的变量选择。

下面呢,我们就从机器学习角度看看,有没有相关的方法,当然是有的,我们最容易想到的就是回归数,或者叫决策树。这个方法好,主要是模型本身可解释性很强。它是按照x的值,对y进行了划分,划分的好坏依据是啥呢,主要是纯度,一个划分块里,纯度高,就说明划分的好,也就说明了这个划分变量选择的好。变量的重要性也就不言而喻了。当然这里是个简单的介绍,后面会详细地解读。实际上除了决策树,随机深林(random forest),bagging,boosting,gradient booting, 已经xgboost都有特征选择的功能,特别是xgboost,这个算法很厉害,和BGM其实比较相似,后面我们会进行对比。除了基于树的模型呢,还有其他模型,比如神经网络,支持向量机也都有变量选择的功能。

引用自: https://blog.csdn.net/hfutxiaoguozhi/article/details/78756138?utm_source=copy

附特征工程完整任务图:

引用自:

https://www.julyedu.com/question/big/kp_id/23/ques_id/1058

原文发布于微信公众号 - Python与机器学习算法频道(alg-channel)

原文发表时间:2018-10-12

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏AI科技大本营的专栏

算法工程师养成记(附精选面试题)

通往机器学习算法工程师的进阶之路是崎岖险阻的。《线性代数》《统计学习方法》《机器学习》《模式识别》《深度学习》,以及《颈椎病康复指南》,这些书籍将长久地伴随着你...

2343
来自专栏大数据挖掘DT机器学习

机器学习算法的R语言实现:朴素贝叶斯分类器

1、引子 朴素贝叶斯方法是一种使用先验概率去计算后验概率的方法,其中 朴素 的意思实际上指的是一个假设条件,后面在举例中说明。本人以为,纯粹的数学推导固然有其...

2989
来自专栏机器之心

深度 | 一文概览图卷积网络基本结构和最新进展

选自tkipf.github 作者:Thomas Kipf 机器之心编译 参与:李诗萌、刘晓坤 本文介绍了图卷积网络的基本结构,和最新的研究进展,并指出了当前...

4219
来自专栏CVer

[计算机视觉论文速递] 2018-06-08

这篇文章有4篇论文速递信息,涉及胶囊网络、迁移学习、优化CNN和手指检测等方向(含一篇NIPS 2017、一篇ICMR 2018和一篇 VCIP 2017)。

1503
来自专栏CDA数据分析师

【干货】数据挖掘的10大分析方法

1.C4.5 C4.5算法是机器学习算法中的一种分类决策树算法,其核心算法是ID3算法.C4.5算法继承了ID3算法的优点,并在以下几方面对ID3算法进行了改进...

2348
来自专栏AI科技评论

图片里的人在干嘛?让深度学习来告诉你 |谷歌CVPR2016论文详解

明确对象描述的生成与解读 摘要 本文提出了一个可以生成针对图片中特定目标或区域明确描述(指代表达)的方法,这个方法也能理解或解释这一指代表达,进而推断出正确的被...

3056
来自专栏企鹅号快讯

人工智能开发者必须知道的十种深度学习方法!

源| AI 科技评论文| Camel 不管是AI也好,其他学科也好,学习、研究的过程中不断反思学科的历史,总结学科的发展现状,找出最重要的理念,总能让人能“吾道...

39113
来自专栏计算机视觉战队

ECCV-2018最佼佼者的目标检测算法

转眼间,离上次9月3日已有9天的时间,好久没有将最新最好的“干货”分享给大家,让大家一起在学习群里讨论最新技术,那今天我给大家带来ECCV-2018年最优pap...

1.5K3
来自专栏SnailTyan

Going Deeper with Convolutions——GoogLeNet论文翻译——中文版

Going Deeper with Convolutions 摘要 我们在ImageNet大规模视觉识别挑战赛2014(ILSVRC14)上提出了一种代号为In...

5080
来自专栏机器之心

学界 | Bengio等人提出图注意网络架构GAT,可处理复杂结构图

3298

扫码关注云+社区