SHEIN算法工程师面试题7道|含解析

8本电子书免费送给大家,见文末。

1、数据处理的常用方法有哪些?

对于离群点

  • 当作缺失值进行处理
  • 删掉离群点所在的样本
  • 实用统计值进行填充

对于缺失值

  • 可以用均值或均位数进行填充
  • 可以用特定值,如-1
  • 可以用np.nan表示

对于类别特征

  • 编码方式:自然数编码、独热编码、count编码、目标编码
  • 统计方式:count、nunique(宽度)、ratio(偏好)

对于数值特征

  • 交叉统计:行交叉(均值、中位数、最大值、最小值)、业务交叉构造
  • 离散方式:分桶、二值化(0/1)

2、逻辑回归损失函数

LR的基本表达形式如下:

hθ(x)=g(θTx)=11+e−θTx

得到损失函数如下:

C=1n∑[yIn⁡hθ(x)+(1−y)In⁡(1−hθ(x))]

3、LR与SVM的区别

1)LR是参数模型,SVM是非参数模型。

2)从目标函数来看,区别在于逻辑回归采用的是logistical loss,SVM采用的是hinge loss,这两个损失函数的目的都是增加对分类影响较大的数据点的权重,减少与分类关系较小的数据点的权重。

3)逻辑回归相对来说模型更简单,好理解,特别是大规模线性分类时比较方便。而SVM的理解和优化相对来说复杂一些,SVM转化为对偶问题后,分类只需要计算与少数几个支持向量的距离,这个在进行复杂核函数计算时优势很明显,能够大大简化模型和计算。

4)SVM不直接依赖数据分布,而LR则依赖,因为SVM只与支持向量那几个点有关系,而LR和所有点都有关系。

5)SVM本身是结构风险最小化模型,而LR是经验风险最小化模型

关于两个模型的适用情况

1. 如果Feature的数量很大,跟样本数量差不多,这时候选用LR或者是Linear Kernel的SVM

2. 如果Feature的数量比较小,样本数量一般,不算大也不算小,选用SVM+Gaussian Kernel

3. 如果Feature的数量比较小,而样本数量很多,需要手工添加一些feature变成第一种情况

4、SVM核函数的作用

SVM核函数是用来解决数据线性不可分而提出的,把数据从源空间映射到目标空间(线性可分空间)。

SVM中核函数:线性核、多项式核、高斯核、Sigmoid核等。

5、降低方差,偏差的方法

偏差:描述的是预测值的期望与真实值之间的差距。偏差越大,越偏离真实数据。

方差:描述的是预测值的变化范围,离散程度,也就是离其期望值的距离。方差越大,数据的分布越分散。

降低方差

  • 增加训练数据
  • 正则化(L1、L2、Dropout)
  • 减少特征数量
  • 减少模型复杂度

降低偏差

  • 增加模型复杂度
  • 减小或消除正则化(L1、L2、Dropout)

6、LR,XGBoost与LightGBM的区别

LR是广义线性模型;

XGBooost和LightGBM都是树模型;

LightGBM对于Xgboost的改进如下:

模型精度:XGBoost和LightGBM相当。

训练速度:LightGBM远快于XGBoost。(快百倍以上,跟数据集有关系)

内存消耗:LightGBM远小于XGBoost。(大约是xgb的五分之一)

缺失值特征:XGBoost和LightGBM都可以自动处理特征缺失值。

分类特征:XGBoost不支持类别特征,需要OneHot编码预处理。LightGBM直接支持类别特征。

LightGBM在XGBoost上主要有3方面的优化。

1,Histogram算法:直方图算法。

2,GOSS算法:基于梯度的单边采样算法。

3,EFB算法:互斥特征捆绑算法。

7、随机森林和GBDT的区别

随机森林采用的bagging思想,而GBDT采用的boosting思想。这两种方法都是Bootstrap思想的应用,Bootstrap是一种有放回的抽样方法思想。虽然都是有放回的抽样,但二者的区别在于:Bagging采用有放回的均匀取样,而Boosting根据错误率来取样(Boosting初始化时对每一个训练样例赋相等的权重1/n,然后用该算法对训练集训练t轮,每次训练后,对训练失败的样例赋以较大的权重),因此Boosting的分类精度要优于Bagging。Bagging的训练集的选择是随机的,各训练集之间相互独立,弱分类器可并行,而Boosting的训练集的选择与前一轮的学习结果有关,是串行的。

组成随机森林的树可以是分类树,也可以是回归树;而GBDT只能由回归树组成。

组成随机森林的树可以并行生成;而GBDT只能是串行生成。对于最终的输出结果而言,随机森林采用多数投票等;而GBDT则是将所有结果累加起来,或者加权累加起来。

随机森林对异常值不敏感;GBDT对异常值非常敏感。

随机森林对训练集一视同仁;GBDT是基于权值的弱分类器的集成。随机森林是通过减少模型方差提高性能;GBDT是通过减少模型偏差提高性能。

↓ ↓ ↓以下8本书电子版免费领,直接送 ,想要哪本评论区说声,我小窗给你↓ ↓ ↓

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值