小游戏:参与游戏的一方在脑海里想某个事物,其他参与者向他提问题,只允许提20个问题,问题的答案也只能用对或错回答。问问题的人通过推断分解,逐步缩小待猜测事物的范围。
决策树的工作原理与此类似,用户输入一系列数据,然后给出游戏的答案。决策树流行的一个很重要的原因是不需要了解机器学习的知识,就能搞明白决策树是如何工作的。
理解决策树的实例:
决策树的伪代码:
from math import log
import operator
def calcShannonEnt(dataSet):
"""
计算频率来当做类别的概率;计算香农熵
labelCounts是一个字典,键是label名称,对应的值是该label的数量
创建labelCounts的目的是计算每个label的频率,以此来代替概率
"""
numEntries = len(dataSet)