作者: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 Trees
- AdaBoost
- 随机森林
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分。
原文链接:https://www.analyticsvidhya.com/blog/2017/09/30-questions-test-tree-based-models/
本文为专栏文章,来自:AI公园,内容观点不代表本站立场,如若转载请联系专栏作者,本文链接:https://www.afenxi.com/76134.html 。