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

来源:wikipedia
你可以把决策树想象成树状图,其中:
- 每个内部节点表示对某个属性进行一次“测试”(例如,抛硬币的结果是正面还是反面),
- 每条分支表示测试的结果;
- 每个叶节点表示一个类别标签(计算完所有属性后作出的决策)。
决策树的类型:
- 分类树:用于预测结果为数据所属类别的情况。
- 回归树:用于预测结果可以视为实数的情况(例如房价)。
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
挑战
中等创建一个名为 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"},转到rule210 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 在线编译器