Menu
CoddyTech

决策树

Coddy 机器学习入门 课程的第 17 课,共 19 课。

决策树是一种用于分类和回归任务的非线性模型。与其他算法相比,它更贴近人类的决策方式,因此既直观又擅长处理复杂的数据集。从本质上说,决策树会运用一系列简单规则将数据拆分为多个子集,这就像针对数据点的特征提出一系列是非问题。
 

来源:wikipedia

你可以把决策树想象成树状图,其中:

  • 每个内部节点表示对某个属性进行一次“测试”(例如,抛硬币的结果是正面还是反面), 
  • 每条分支表示测试的结果;
  • 每个叶节点表示一个类别标签(计算完所有属性后作出的决策)。

决策树的类型:

  • 分类树:用于预测结果为数据所属类别的情况。
  • 回归树:用于预测结果可以视为实数的情况(例如房价)。


 

quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

challenge icon

挑战

中等

创建一个名为 decide_outcome 的函数,它接收一个规则列表,格式如下:

rules = {
	rule1: {"type": "bigger", "value": 5},
	rule2: {"type": "smaller", "value": 7},

}

它还会接收一个规则,用于指定满足或不满足条件时要转到哪个规则:

outcome = {
	"rule1": {True: "rule2", False: "rule3"},
	"rule2": {True: "rule3", False: "rule4"},
	"rule3": {True: None, False: None}
	"rule4": {True: None, False: None}

}
data_point = {
	"rule1": 8,
	"rule2": 10,
}

输出应该是 rule4

  • 8 is bigger than 5 (True) → 从 "rule1": {True: "rule2", False: "rule3"}, 转到 rule2
  • 10 is smaller than 7 (False) → 从 "rule2": {True: "rule3", False: "rule4"}, 转到
  • rule4
  • 没有其他路径可以继续,因此输出是 rule4

始终从 <strong>rule1</strong> 开始

亲手试试

def decide_outcome(rules, outcome, point):
    current_rule = "rule1"
    # 在这里编写你的代码

机器学习入门中的所有课

自己练习: Python 在线编译器