步骤
- 收集数据:提供的文本文件。
- 准备数据:解析tab键分隔的数据行。
- 分析数据:快速检查数据,确保正确的解析数据内容,使用createPlot()函数绘制最终的树形图。
- 训练算法:使用上节的createTree()函数
- 测试算法:编写测试函数验证决策树可以正确分类给定的数据实例。
- 使用算法:存储树的数据结构,以便下次使用时无需重新构造树。
创建forecast_type_of_glass.py文件,并在其中添加以下代码:
#-×-coding=utf-8 -×-
import trees
import treePlotter
fr = open('lenses.txt')
lenses = [inst.strip().split('\t') for inst in fr.readlines()]
lensesLabels = ['age','prescript','astigmatic','tearRate']
lensesTree = trees.createTree(lenses,lensesLabels)
print lensesTree
treePlotter.createPlot(lensesTree)
由于线上的注释比较多,水平放置会出现重叠现象,所以在treePlotter.py这个文件的 plotMidText()函数中,将最后一行的代码改为
createPlot.ax1.text(xMid,yMid,txtString,va = 'center',ha = 'center', rotation=30) #设置文本的位置为中心,旋转角度为30度