纠正下关于机器学习实战书中51页代码的错误

最近在看这本书,发现书中有些错误还是会对新手产生比较郁闷的影响的,也许是因为书中的代码比较老,要不就是官方网站更新了数据格式,无论哪种情况,这里就不做猜测了,我们先将数据提出来:

1  1  1  1  1  3
2  1  1  1  2  2
3  1  1  2  1  3
4  1  1  2  2  1
5  1  2  1  1  3
6  1  2  1  2  2
7  1  2  2  1  3
8  1  2  2  2  1
9  2  1  1  1  3
10 2  1  1  2  2
11 2  1  2  1  3
12 2  1  2  2  1
13 2  2  1  1  3
14 2  2  1  2  2
15 2  2  2  1  3
16 2  2  2  2  3
17 3  1  1  1  3
18 3  1  1  2  3
19 3  1  2  1  3
20 3  1  2  2  1
21 3  2  1  1  3
22 3  2  1  2  2
23 3  2  2  1  3
24 3  2  2  2  3

上面是官网给出的数据,网址是: http://archive.ics.uci.edu/ml/machine-learning-databases/lenses/lenses.data;无法打开连接的童鞋可以使用我给出的数据做实验不影响实验的结果,不过这里提示仔细提示下大家代码错误的位置:

import trees
import treeShow
fr = open('kk.txt')

lenses = [inst.strip().split()[1:6] for inst in fr.readlines()]

print(lenses)

lensesLabels = ['age', 'prescript', 'astigmatic', 'tearRate']
lensesTree = trees.createTree(lenses, lensesLabels)
print (lensesTree)

treeShow.createPlot(lensesTree)
错误位置我用红色的标记给大家标记出来,这样程序就运行出类似书中图片的结果,当然有些英文单词还是数字,这个就是将数据和英文对应的一个过程了,相信大家可以自己完成。本来不想写这篇文章的,主要是由于书中错误让我感到很诧异,于是决定为他纠正一下。同样的附上截图:

大家一定对我使用的编辑器感到很好奇,推荐给大家eric5,很好用的python编辑器以及调试IDE。本来不该有这篇文章的,但是由于不忍心,看着那么多像我一样的初学者有那么多的疑惑,所以决定写出来。最后贴一个关于书中测试数据的东西:

http://archive.ics.uci.edu/ml/machine-learning-databases/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值