零. 常见
TypeError: 'range' object doesn't support item deletion
- 注:3.x中range()要改为list(rang()),因为python3中range不返回数组对象,而是返回range对象
AttributeError: 'dict' object has no attribute 'iteritems'
- iteritems()要改为items()
二. kNN
- 报错:
NameError: name 'reload' is not defined
- 在前面加入命令(个人推荐直接写在mian函数里面简单快捷)
from imp import reload
四. 朴素贝叶斯
- 报错:
UnicodeDecodeError: 'gbk' codec can't decode byte 0xae in position 199: illegal multibyte sequence
- 那是因为书上的下面这两行代码有点问题:
wordList = textParse(open('email/spam/%d.txt' % i).read()
wordList = textParse(open('email/ham/%d.txt' % i).read()
需要将上面的代码更为下面这两行:
wordList = textParse(open('email/spam/%d.txt' % i, "rb").read().decode('GBK','ignore') )
wordList = textParse(open('email/ham/%d.txt' % i, "rb").read().decode('GBK','ignore') )
因为有可能文件中存在类似“�”非法字符。
- 报错:
TypeError: 'range' object doesn't support item deletion
AttributeError: 'dict' object has no attribute 'iteritems'
- 参考常见错误
五. Logistic回归
- 报错:
TypeError: 'numpy.float64' object cannot be interpreted as an integer
这里是因为numpy版本问题,更改版本解决
pip install -U numpy==1.11.0
- 报错:
TypeError: 'range' object doesn't support item deletion
参考常见错误
报错:
AttributeError: 'numpy.ndarray' object has no attribute 'getA'
- 注释掉plotBestFit()的矩阵转为数组,因为在输入时已经转换为数组了
plotBestFit(weights)
'''
# 矩阵变为数组,使用gradAscent时加入
weights = wei.getA()
'''