龙空技术网

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

AI公园 2066

前言:

当前小伙伴们对“决策树算法例题经典”大致比较重视,我们都想要分析一些“决策树算法例题经典”的相关资讯。那么小编也在网摘上汇集了一些关于“决策树算法例题经典””的相关内容,希望咱们能喜欢,看官们一起来了解一下吧!

作者:ANKIT GUPTA编译:ronghuaiyang导读

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

介绍

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

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

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

问题和答案

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

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

A) 1

B) 2

C) 1 和 2

D) 都不对

答案:C

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

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

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

A) 1

B) 2

C) 1 和 2

D) 都不对

答案: B

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

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

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

A) 1

B) 2

C) 3

D) 4

E) 1 和4

答案: E

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

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

每棵树是通过数据集的子集和特征的子集构建的每棵树是通过所有的特征构建的每棵树是通过所有数据的子集构建的每棵树是通过所有的数据构建的

A) 1 和 3

B) 1 和 4

C) 2 和 3

D) 2 和 4

答案: A

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

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

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

A) 1 和 3

B) 1 和 4

C) 2 和 3

D) 2 和 4

答案: A

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

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

梯度提升Extra TreesAdaBoost随机森林

A) 1 和 3

B) 1 和 4

C) 2 和 3

D) 2 和 4

Solution: D

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

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

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

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的算法,比如随机森林来构建模型,下面说法正确的是?

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

A) 1

B) 2

C) 1 和 2

D) 都不对

答案: A

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

12-15题

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

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

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

A) 大于70%

B) 大于等于%

C) 可以小于70%

D) 都不对

答案: C

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

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

A) Outlook

B) Humidity

C) Windy

D) Temperature

答案: A

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

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

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

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” ,构建梯度提升模型时花费的时间的排序是?

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

树的数量 = 100树的数量 = 500树的数量 = 1000

A) 1~2~3

B) 1<2<3

C) 1>2>3

D) 都不对

答案: B

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

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

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

学习率 = 1学习率 = 2学习率 = 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) 当你使用提升算法时,你会考虑弱学习器,以下哪项是使用弱学习器的主要原因?

防止过拟合防止欠拟合

A) 1

B) 2

C) 1 和 2

D) 都不对

答案: A

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

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

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

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

A) 1

B) 2

C) 3

D) 4

答案: B

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

总得分的分布

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

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

原文链接:

更多文章,请关注微信公众号:AI公园

标签: #决策树算法例题经典