任务描述 本关任务:根据本节课所学知识完成本关所设置的选择题。 相关知识 为了完成本关任务,你需要掌握决策树的相关基础知识。 引例 在炎热的夏天,没有什么比冰镇后的西瓜更能令人感到心旷神怡的了。现在我要去水果店买西瓜,但什么样的西瓜能入我法眼呢?那根据我的个人习惯,在挑西瓜时可能就有这样的脑回路。   假设现在水果店里有 3 个西瓜,它们的属性如下: 编号 瓤是否够红 够不够冰 是否便宜 是否有籽   1 是 否 是 否  2 是 是 否 是  3 否 是 是 否   那么根据我的脑回路我会买 1 和 2 号西瓜。 其实我的脑回路可以看成一颗树,并且这颗树能够帮助我对买不买西瓜这件事做决策,所以它就是一颗决策树。 决策树的相关概念 决策树是一种可以用于分类与回归的机器学习算法,但主要用于分类。用于分类的决策树是一种描述对实例进行分类的树形结构。决策树由结点和边组成,其中结点分为内部结点和叶子结点,内部结点表示一个特征或者属性,叶子结点表示标签(脑回路图中黄色的是内部结点,蓝色的是叶子结点)。 从代码角度来看,决策树其实可以看成是一堆 if-else 语句的集合,例如引例中的决策树完全可以看成是如下代码: 1. if isRed: 2.     if isCold: 3.         if hasSeed: 4.             print("buy") 5.         else: 6.             print("don't buy") 7.     else: 8.         if isCheap: 9.             print("buy") 10.         else: 11.             print("don't buy") 12. else: 13.     print("don't buy")  因此决策树的一个非常大的优势就是模型的可理解性非常高,甚至可以用来挖掘数据中比较重要的信息。 那么如何构造出一颗好的决策树呢?其实构造决策树时会遵循一个指标,有的是按照信息增益来构建,这种叫ID3算法,有的是信息增益比来构建,这种叫C4.5算法,有的是按照基尼系数来构建的,这种叫CART算法。但不管是使用哪种构建算法,决策树的构建过程通常都是一个递归选择最优特征,并根据特征对训练集进行分割,使得对各个子数据集有一个最好的分类的过程。 这一过程对应着对特征空间的划分,也对应着决策树的构建。一开始,构建决策树的根结点,将所有训练数据都放在根结点。选择一个最优特征,并按照这一特征将训练数据集分割成子集,使得各个子集有一个在当前条件下最好的分类。如果这些子集已经能够被基本正确分类,那么构建叶子结点,并将这些子集分到所对应的叶结点中去;如果还有子集不能被基本正确分类,那么就怼这些子集选择新的最优特征,继续对其进行分割,并构建相应的结点。如此递归进行下去,直至所有训练数据子集被基本正确分类,或者没有合适的特征为止。最后每个子集都被分到叶子结点上,即都有了明确的类别。这就构建出了一棵决策树。 任务要求 根据本关所学习到的知识,完成所有选择题。   开始你的任务吧,祝你成功!

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐