看完决策树相关的30道面试题,再也不怕遇到相关的问题了

决策树是机器学习和数据科学中最受欢迎的算法之一

作者:ANKIT GUPTA

编译:ronghuaiyang

导读

决策树相关的算法是机器学习里非常常用,也非常有效的算法,梯度提升树更是Kaggle必备,同时也是面试的时候,面试官非常愿意问的问题,看完下面的30道题,相信你再遇到基于决策树的问题,心里就有底了!

介绍

决策树是机器学习和数据科学中最受欢迎的算法之一。它们是透明的、易于理解的、健壮的和广泛适用的。你可以看到算法在做什么,它执行了什么步骤来得到一个解。在需要解释决策时,这种特性在业务中尤其重要。

这个技能测试是专门为你测试决策树技术知识而设计的。超过750人报名参加了考试。如果你错过了这个技能测试,这里有一些问题和解决方案。

这里是参加测试的参与者的排行榜。

问题和答案

1) 下面关于bagging树的说法哪个是正确的?

  1. 在bagging树中,每棵树都是独立的
  2. Bagging是通过对弱学习器的结果进行综合来提升能力的方法

A) 1

B) 2

C) 1 和 2

D) 都不对

答案:C

两种说法都是正确的。在Bagging中,每棵树都是相互独立的,因为它们考虑了不同子集的特征和样本。

2) 下面关于提升树的说法哪个是正确的?

  1. 在提升树中,每个弱学习器是相互独立的
  2. 这是通过对弱学习器的结果进行综合来提升能力的方法

A) 1

B) 2

C) 1 和 2

D) 都不对

答案: B

在提升树中,每个弱学习器不是相互独立的,因为每棵树都纠正了前一棵树的结果。Bagging和Boosting都可以被认为是提高基础学习器能力的方法。

3) 下面关于随机森林和梯度提升集成方法的说法哪个是正确的?

  1. 这两种方法都可以用来做分类
  2. 随机森林用来做分类,梯度提升用来做回归
  3. 随机森林用来做回归,梯度提升用来做分类
  4. 两种方法都可以用来做回归

A) 1

B) 2

C) 3

D) 4

E) 1 和4

答案: E

两种方法既可以做分类又可以做回归。

4) 在随机森林里,你生成了几百颗树(T1, T2 …..Tn),然后对这些树的结果进行综合,下面关于随机森林中每颗树的说法正确的是?

  1. 每棵树是通过数据集的子集和特征的子集构建的
  2. 每棵树是通过所有的特征构建的
  3. 每棵树是通过所有数据的子集构建的
  4. 每棵树是通过所有的数据构建的

A) 1 和 3

B) 1 和 4

C) 2 和 3

D) 2 和 4

答案: A

随机森林是基于bagging的方法,是通过对数据和特征的采集来构建每一棵树。

5) 下面关于梯度提升中”max_depth”的超参数的说法正确的是?

  1. 对于相同的验证准确率,越低越好
  2. 对于相同的验证准确率,越高越好
  3. max_depth增加可能会导致过拟合
  4. max_depth增加可能会导致欠拟合

A) 1 和 3

B) 1 和 4

C) 2 和 3

D) 2 和 4

答案: A

增加树的深度可能会导致过拟合,对于两个深度值,如果验证准确率一样的话,我们偏向于选择小的深度的模型。

6) 下面的算法中哪个没有使用学习率作为超参数?

  1. 梯度提升
  2. Extra Trees
  3. AdaBoost
  4. 随机森林

A) 1 和 3

B) 1 和 4

C) 2 和 3

D) 2 和 4

Solution: D

随机森林和Extra Trees的超参数中没有学习率。

7) 下面的算法中,基于performance哪个你不会在最后的模型构建中使用?

假设你有了下面的图,显示了两个不同分类算法的ROC曲线,随机森林(红色)和逻辑回归(蓝色)。

看完决策树相关的30道面试题,再也不怕遇到相关的问题了

A) 随机森林

B) 逻辑回归

C) 两个都可以

D) 两个都不行

答案: A

随机森林的AUC大的多,所以选择随机森林。

8) 关于训练和测试误差哪个说法是正确的?

假设你想对数据集D使用AdaBoost算法,数据集D有T个观测值。一半数据用于训练,一半数据用于测试。现在你想增加数据点的数量来训练T1,T2…Tn其中T1 < T2 ….Tn-1 < Tn。

A) 数据点变多,训练误差和测试误差的差别变大

B) 数据点变多,训练误差和测试误差的差别变小

C) 数据点变多,训练误差和测试误差的差别不变

D) 都不对

答案: B

我们有了更多的数据,训练误差会变大,测试误差会变小,两者都会向真实的误差收敛。

9) 在随机森林或梯度提升算法中,特征可以是任何类型。例如,它可以是连续特征,也可以是类别特征。当你考虑这些类型的特性时,下列哪个选项是正确的?

A) 只有随机森林在处理实数值特征的时候会进行离散化

B) 只有梯度提升算法在处理实数值特征的时候会进行离散化

C) 两个算法都会在处理实数值特征的时候会进行离散化

答案: C

两者都可以处理实数值特征。

10) 下面哪个算法不是集成学习算法的例子?

A) 随机森林

B) Adaboost

C) Extra Trees

D) 梯度提升

E) 决策树

答案: E

决策树并没有综合多颗树的结果,所以不是集成算法。

11) 假设你要用基于bagging的算法,比如随机森林来构建模型,下面说法正确的是?

  1. 树的数量越多越好
  2. 使用随机森林具备可解释性

A) 1

B) 2

C) 1 和 2

D) 都不对

答案: A

随机森林组合弱学习器的结果,如果可能的话,树的数量越多越好,随机森林是一个黑盒子模型,不具备可解释性。

12-15题

为了回答下面几个问题,我们来看看下面这个图。在图中,X1和X2是两个特征,数据点用点表示(-1为负类,+1为正类)。首先根据特征X1对数据进行分割(假设分割点为x11),如图中用垂线表示。每一个小于x11的值将被预测为正类,而大于x11的值将被预测为负类。

看完决策树相关的30道面试题,再也不怕遇到相关的问题了

12) 上面的图中,有多少数据点被错误分类?

A) 1

B) 2

C) 3

D) 4

答案: A

没什么可说的。

13) 在x1特征上哪个分割点可以对数据正确分类?

A) 比x11大

B) 比x11小

C) 等于x11

D)上面都不对

答案: D

在x1维度上,没有哪个点可以100%的正确分类。

14) 如果使用x2特征进行分割,可以在x2特征上完美分类正负样本吗?

A) 可以

B) 不行

答案: B

也没什么可说的。

15) 现在在两个特征上都使用一个点(一个x1上,1个x2上),可以把所有的点都分正确吗?

A) 可以

B) 不行

答案: B

16-17题

假如你正在处理一个包含3个输入特性的二分类问题。你选择对这些数据使用bagging算法(X),你选择max_features = 2和n_estimators =3。现在,假设每个估计器都有70%的准确率。

注:算法X是基于最大投票对单个估计量的结果进行聚合

16) 你可以得到的最大准确率是多少?

A) 70%

B) 80%

C) 90%

D) 100%

答案: D

参考下面的表,由M1,M2得到M3

看完决策树相关的30道面试题,再也不怕遇到相关的问题了

17)你能得到的最小准确率?

A) 大于70%

B) 大于等于%

C) 可以小于70%

D) 都不对

答案: C

参考下面的表,由M1,M2得到M3

看完决策树相关的30道面试题,再也不怕遇到相关的问题了

18) 假设你构建一个随机森林模型,在一个特征节点上进行分割,具有最高的信息增益。下面的图中,哪个是具有最高的信息增益的特征?

看完决策树相关的30道面试题,再也不怕遇到相关的问题了

A) Outlook

B) Humidity

C) Windy

D) Temperature

答案: A

信息增益随着子集的平均纯度的增加而增加,所以说A是正确答案。

19) 关于梯度提升树,下面说法正确的是?

  1. 在每一个步骤,使用一个新的回归树来补偿已有模型的缺点
  2. 我们可以使用梯度下降的方法来最小化损失函数

A) 1

B) 2

C) 1 和 2

D) 都不对

答案: C

20) 对还是错: bagging适用于高的方差低偏差的模型?

A) 对

B) 错

答案: A

bagging适用于高的方差低偏差的模型,或者说复杂的模型

21) 当你选择观测样本的比例来构建基本的基于树的学习器的时候,下面哪个是正确?

A) 减小样本的比例来构建基础学习器可以降低方差

B) 减小样本的比例来构建基础学习器可以提高方差

C) 增大样本的比例来构建基础学习器可以降低方差

D) 增大样本的比例来构建基础学习器可以提高方差

答案: A

22-23题

假如,你构建一个梯度提升模型,数据集有几百万个数据,1000多个特征,构建模型之前,考虑到时间,你需要考虑一下不同的参数设置。

22) 考虑超参数 “number of trees” ,构建梯度提升模型时花费的时间的排序是?

注: 其他的超参数是一样的

  1. 树的数量 = 100
  2. 树的数量 = 500
  3. 树的数量 = 1000

A) 1~2~3

B) 1<2<3

C) 1>2>3

D) 都不对

答案: B

1000棵树花的时间最多,100棵树最少。

23) 现在,考虑学习率超参数,构建梯度提升模型,每个超参数花的时间排序是?

注: 其他的超参数是一样的

  1. 学习率 = 1
  2. 学习率 = 2
  3. 学习率 = 3

A) 1~2~3

B) 1<2<3

C) 1>2>3

D) 都不对

答案: A

学习率并不影响时间,所以所有的学习率花的时间是一样的。

24) 在梯度提升中,利用学习率来获得最优输出是非常重要的,在选择学习速率时,下列哪个选项是正确的

A) 学习率越高越好

B) 学习率越低越好

C) 学习率应该低一点但是不能太低

D) 学习率应该高一点但是不能太高

答案: C

学习率应该低一点,但不应该很低,否则算法需要很长时间才能完成训练,因为你需要增加树的数量。

25) [对还是错] 交叉验证可用于选择提升中的迭代次数;这个过程可以帮助减少过拟合

A) 对

B) 错

答案: A

26) 当你使用提升算法时,你会考虑弱学习器,以下哪项是使用弱学习器的主要原因?

  1. 防止过拟合
  2. 防止欠拟合

A) 1

B) 2

C) 1 和 2

D) 都不对

答案: A

为了防止过拟合,在提升算法的每个步骤中,模型的复杂度都在提升,从弱学习器开始意味着最终的分类器过拟合的可能性会小。

27) 在回归树上使用bagging方法,下面的说法正确的是?

  1. 我们在N个又放回采用的样本上构建N个回归器
  2. 我们使用N个回归树
  3. 每一棵树具有高的方差低的偏差

A) 1 和 2

B) 2 和3

C) 1 和 3

D) 1,2 和 3

答案: D

28) 如何为基于树的模型选择最佳超参数?

A) 在训练数据上度量perfermance

B) 在验证数据上度量perfermance

C) 两个都对

D) 两个都不对

答案: B

我们使用验证集的结果来进行对比。

29) 在以下哪种情况下,增益比比信息增益更可取?

A) 当类别变量具有非常大的类别数量的时候

B) 当类别变量具有非常小的类别数量的时候

C) 和类别数量无关

答案: A

30) 假设已经给出了以下场景下梯度提升的训练和验证错误,在这种情况下,您会选择以下哪个超参数?

看完决策树相关的30道面试题,再也不怕遇到相关的问题了

A) 1

B) 2

C) 3

D) 4

答案: B

场景2和场景4具有相同的验证精度,但是我们将选择2,因为深度越低越好。

总得分的分布

下面是所有参与者的得分的分布:

看完决策树相关的30道面试题,再也不怕遇到相关的问题了

您可以这里访问分数。350多人参加了技能测试,最高得分为28分。

原文链接:https://www.analyticsvidhya.com/blog/2017/09/30-questions-test-tree-based-models/

本文为专栏文章,来自:AI公园,内容观点不代表本站立场,如若转载请联系专栏作者,本文链接:https://www.afenxi.com/76134.html 。

(1)
上一篇 2019-10-14 07:33
下一篇 2019-11-18 09:00

相关文章

关注我们
关注我们
分享本页
返回顶部