提示:本人代码运行在Python3的环境下
- 1、程序清单9-1:
应改为:
list(map(float, curLine))
解释:map()返回结果是一个Iterator,Iterator是惰性序列,因此通过list()函数让它把整个序列都计算出来并返回一个list。
应改为:
def binSplitDataSet(dataSet, feature, value):
mat0 = dataSet[nonzero(dataSet[:, feature] > value)[0], :]
mat1 = dataSet[nonzero(dataSet[:, feature] <= value)[0], :]
return mat0, mat1
解释:加[0]表示返回的是矩阵的第一行
- 2、程序清单9-2:
此处会报错:TypeError: unhashable type: ‘matrix’
应改为:
set(dataSet[:, featIndex].flatten().tolist()[0])
或者
set(dataSet[:, featIndex].T.tolist()[0])