每天写500字数据科学家书房就是我的全世界

《百面机器学习》笔记-特征工程相关面试题

2019-05-13  本文已影响119人  不会停的蜗牛

1. 什么是特征工程

对数据进行一系列处理构成特征输入给模型

例如,我们想让机器识别这个图片是不是苹果,可以选择 形状,颜色分布,边 来作为feature:

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

特征工程的目的

怎么做特征工程?

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

常用的方法有:

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(基于L1,L2惩罚项的特征选择法),或者使用决策树思想,Random Forest和Gradient boosting等


2. 两种常用的数据类型

即每一行数据表示一个样本,每列都有清晰的定义

有数值型、类别型两种基本类型

主要包括文本、图像、音频、视频数据

无法用一个简单的数值表示,每条数据的大小各不相同


3. 为什么需要对数值类型的特征做归一化?

什么是特征归一化?

将所有的特征都统一到一个大致相同的数值区间内。

如何进行归一化?

为什么要进行归一化?

例如,身高特征会在 1.6~1.8m 范围,体重特征会在 50~100kg 的范围,体重特征会对问题有更大的影响

理论上看

因为特征的数值范围不同的话,会影响梯度下降的速率

如果将目标函数的等值图画出来,数值范围大的特征,那个方向会需要更多次的迭代才能找到最优解。

如果将每个特征的范围转化成一致的,那么等值图的图形会是一个圆形,梯度下降在各个方向的速率是一样的,可以更快地找到最优解。

什么时候需要进行归一化?


4. 类别型特征

什么是类别型特征?

例如:性别(男、女)、血型(A、B、AB、O)

通常是字符串形式,需要转化成数值型,传递给模型

如何处理类别型特征?

上一篇 下一篇

猜你喜欢

热点阅读