机器学习面试题——特征工程

机器学习面试题——特征工程

提示:互联网大厂常考的面试题目,笔试题目


题目

特征工程有哪些
遇到缺值的情况,有哪些处理方式
样本不均衡的处理办法
训练时样本不平衡问题如何解决;小样本问题如何解决
常见的筛选特征的方法有哪些?
数据怎么清洗,缺失值怎么填充
出现Nan的原因
特征筛选,怎么找出相似性高的特征并去掉
对于不同场景机器学习和深度学习你怎么选择,你更习惯机器学习还是深度学习?
包含百万、上亿特征的数据在深度学习中怎么处理
类别型数据你是如何处理的?比如游戏品类,地域,设备
计算特征之间的相关性方法有哪些?


特征工程系列教程 :https://blog.csdn.net/lc013/article/details/87898873 (写得很好,强烈推荐)

特征工程有哪些

数据预处理【数据怎么清洗】

处理缺失值、图片数据扩充、处理异常值、处理类别不平衡问题

特征缩放

归一化、正则化

特征编码

序号编码(Ordinal Encoding)、独热编码(One-hot Encoding)、二进制编码(Binary Encoding)、离散化

特征选择

过滤式(filter)、包裹式(wrapper)、嵌入式(embedding)

特征提取

降维、图像特征提取、文本特征提取

特征构建

遇到缺值的情况,有哪些处理方式

(1)直接使用含有缺失值的特征:当仅有少量样本缺失该特征的时候可以尝试使用;
(2)删除含有缺失值的特征:这个方法一般适用于大多数样本都缺少该特征,且仅包含少量有效值是有效的;
(3)插值补全缺失值:均值、众数、中位数、固定值、手动、最邻近补全、最值;建模预测:回归、决策树(二次处理);高维映射、压缩感知;多种方法插补;

样本不均衡的处理办法【也是数据长尾分布问题】

在这里插入图片描述

(1)扩充数据集:数据增强数据增广
(2)尝试其他评价指标
(3)对数据集进行重采样
——对小类的数据样本进行采样来增加小类的数据样本个数,即过采样(over-sampling ,采样的个数大于该类样本的个数)【缺点是容易使小类过拟合】
——对大类的数据样本进行采样来减少该类数据样本的个数,即欠采样(under-sampling,采样的次数少于该类样本的个素)【缺点是大类欠拟合】
(4)尝试不同分类算法:如决策树往往在类别不均衡数据上表现不错。
(5)尝试对模型进行权重调整惩罚:比如你的分类任务是识别那些小类,那么可以对分类器的小类样本数据增加权值,降低大类样本的权值(这种方法其实是产生了新的数据分布,即产生了新的数据集),从而使得分类器将重点集中在小类样本身上。如focal loss

训练时样本不平衡问题如何解决;小样本问题如何解决

(1)扩充数据集,增加小类样本的数量。
(2)针对小类样本进行过采样
上面那题一模一样

常见的筛选特征的方法有哪些?

筛选特征的方法:过滤式(filter)、包裹式(wrapper)、嵌入式(embedding)
(1)过滤式(filter)【用统计特征来过滤信息】:先对数据集进行特征选择,其过程与后续学习器无关,即设计一些统计量来过滤特征,并不考虑后续学习器问题。如方差选择、卡方检验、互信息
(2)包裹式(wrapper):实际上就是一个分类器,如Las Vagas 算法;包裹式特征选择直接把最终将要使用的学习器的性能作为特征子集的评价原则。其目的就是为给定学习器选择最有利于其性能、量身定做的特征子集。
(3)嵌入式(embedding):实际上是学习器自主选择特征。如基于惩罚项的选择、基于树的选择GBDT;嵌入式特征选择是将特征选择与学习器训练过程融为一体,两者在同一个优化过程中完成的。即学习器训练过程中自动进行了特征选择。

出现Nan的原因,哪些数据认定为nan

(1)原因:NaN的含义是没有意义的数,not a number,一般有这几种情况:0/0,Inf/Inf,Inf-Inf,Inf*0等,都会导致结果不确定,所以会得到NaN
(2)数据处理时,在实际工程中经常数据的缺失或者不完整,此时我们可以将那些缺失设置为nan
(3)读取数据时,某个字符不是数据,那么我们将它认为nan处理。

特征筛选,怎么找出相似性高的特征并去掉

特征选择—过滤法(特征相关性分析找到相似性高的特征):可以采用方差选择法相关系数法。 相关系数高的废掉!

对于不同场景机器学习和深度学习你怎么选择,你更习惯机器学习还是深度学习?

(1)当数据量小时,深度学习算法表现不佳 。可采用机器学习算法
(2)深度学习依赖于高端设备,而传统学习依赖于低端设备。如果成本限制严格,可采用机器学习算法。
(3)如果对时间要求苛刻,可采用机器学习算法
(4)针对特定领域,如图像、视频流,深度学习在精度上更优异,可采用深度学习的方法。

包含百万、上亿特征的数据在深度学习中怎么处理

这么多的特征,肯定不能直接拿去训练,特征多,数据少,很容易导致模型过拟合。
(1)特征降维:PCA或LDA
(2)使用正则化,L1或L2
引入 L_1 范数除了降低过拟合风险之外,还有一个好处:它求得的 w 会有较多的分量为零。即:它更容易获得稀疏解。
(3)样本扩充:数据增强
(4)特征选择:去掉不重要的特征

类别型数据你是如何处理的?比如游戏品类,地域,设备

序号编码、one-hot编码、多热编码,二进制编码,搞成嵌入向量

计算特征之间的相关性方法有哪些?

(1)pearson系数PLCC,对定距连续变量的数据进行计算。是介于-1和1之间的值
(2)Spearman秩相关系数SRCC:是度量两个变量之间的统计相关性的指标,用来评估当前单调函数来描述俩个变量之间的关系有多好。【吗,美学评价一致性】
(3)Kendall(肯德尔等级)相关系数:肯德尔相关系数是一个用来测量两个随机变量相关性的统计值。


总结

提示:重要经验:

1)这些很基础的东西,要了解
2)有事没事看看机器学习深度学习相关的知识,有用的

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

冰露可乐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值