《机器学习实战》第九章
来源:互联网 发布:移动网络测速器在线测网速 编辑:程序博客网 时间:2024/05/19 17:52
在学习《Machine Learning in Active》的第九章时,由于自己使用的是python3所以在测试代码时出现了不少错误,下面就做一下整合,并给出解决方法
1.NameError: name 'errType' is not defined
最开始提示NameError: name 'errType' is not defined错误,所以我就把函数createTree()和chooseBestSplit()的声明改了一下。
原来的是:
def createTree(dataSet, leafType = regLeaf, errType = regErr, ops = (1, 4)):
和
def chooseBestSplit(dataSet, leafType = regLeaf, errType = regErr, ops = (1, 4)):
我的改法:
def createTree(dataSet, ops = (1, 4)):
和
def createTree(dataSet, ops = (1, 4)):
但是要记住要把两个函数中出现的所有leafType换成regLeaf,所有errType换成regErr,一定要注意,改了之后还要注意createTree()函数是一个迭代函数,函数里面的迭代语句里的四个参数也要改成2个,还有就是之后的算法中会修改leafType和errType的值,因为我们把它去掉了,所以要修改算法中的每一个leafType和errType
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
注意:后来发现,一定要把regLeaf和regErr放在createTree函数之前就可以编译通过了,这样就不用一直去修改函数名了
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
2.TypeError: unhashable type: 'matrix'
然后就出现了这个错误TypeError: unhashable type: 'matrix',错误出现在for splitVal in set(dataSet[:,featIndex]):这一条语句上,问题出现在set()函数的使用上,代码上边有这样一条语句:if len(set(dataSet[:,-1].T.tolist()[0])) == 1:
所以很容易就可以把原语句改成
for splitVal in set(dataSet[:,featIndex].T.tolist()[0]):
3.IndexError: index 0 is out of bounds for axis 0 with size 0
这个错误没啥可说的,直接把函数binSplitDataSet()里的mat0和mat1赋值语句的最后的[0]去掉就可以了
4.TypeError: unsupported operand type(s) for /: 'map' and 'int'
这个错误困扰我很久,最后才想到它的错误不在提示的那一行,而是在最开始文件导入的函数loadDataSet()里,将
fltLine = map(float, curLine)
改成
fltLine = list(map(float, curLine))
就可以了
- 《机器学习实战》第九章
- 机器学习实战 第九章 源码勘误
- 机器学习实战 第九章 树回归 学习笔记
- 机器学习实战——第九章:树回归
- [完]机器学习实战 第九章 树回归
- 【机器学习实战 第九章】树回归 CART算法的原理与实现
- 【机器学习实战 第九章】树回归 CART算法的原理与实现
- 机器学习实战第九章ValueError: Masked arrays must be 1-D
- 机器学习实战 第九章回归树错误
- 机器学习(周志华) 参考答案 第九章 聚类
- 机器学习实战-第二章
- 《机器学习实战》第十章
- 《机器学习实战》学习
- 《机器学习》--周志华 (第九章学习笔记)
- 机器学习实战教程(第二章 机器学习基本理论)
- 【机器学习实战】第1章 机器学习基础
- 机器学习实战(第1章 机器学习基础)
- 【机器学习实战】第1章 机器学习基础
- jquery 数据校验,input只能输入浮点数
- 仿复选框样式
- input:-webkit-autofill
- 利用MariaDB Auditing Plugin实现社区版MySQL的审计功能
- 制作新闻列表前的序号
- 《机器学习实战》第九章
- zookeeper集群
- spriteFrameCache和textureCache
- mac下idea的使用之常用快捷键篇
- 【Java面试题】spring IOC和AOP的原理?
- 图文讲解QuickSort快速排序算法
- String
- 【PAT】【Advanced Level】1127. ZigZagging on a Tree (30)
- Docker 操作命令