- CART 决策树模型
每个节点可以选择的分界条件很多,比如 $^ { 4 \prime } \mathrm { X } 1 > 5 0 ^ { 9 \cdot 3 } \phantom { ^ { 4 } \mathrm { X } 2 > 3 } ^ { 4 } \mathrm { X } 3 = \mathrm { F a l s e } ^ { 9 }$ 等。我们需要从所有分界点中选择给我们带来信息收益增量最大的一个。下面通过一个应用案例(鸢尾花种类识别)来说明CART算法。
首先,读取iris数据,这里读取的是本地的CSV文件:
回顾一下,这个数据集包括花瓣长度(PetalLenthCm)、花茎长度(SepalLenthCm)、花瓣宽度(PetalWidthCm)和花茎宽度(SepalWidthCm)四个连续型特征,一个包括3种分类类别的目标变量(Species),如图6-25所示。
原始数据包括150个样本,我们将120个样本用于训练集,其余当作测试集:
构建决策树:
tree.DecisionTreeClassifier()是这个算法的核心模块。这里我们并没有在括号里向模型传递参数,所有参数均为默认值。DecisionTreeClassifier()可以接受以下arguments:
树的最大优点在于可视化的直观性。我们可以用graphviz程序包进行树模型的可视化。要使用这个工具,就要在控制台中安装 graphviz。以Anaconda prompt为例,打开Anaconda prompt,输入如下指令:
人工智能与大数据技术导论
180