代码:
def binSplitDataSet(dataSet, feature,value):#数据集合,待切分的特征,特征值,将数据集合切分得到两个子集 mat0 = dataSet[nonzero(dataSet[:,feature] > value)[0], :][0] mat1 = dataSet[nonzero(dataSet[:,feature] <= value)[0], :][0] return mat0, mat1
报错:
File "D:/AI/set_test.py", line 19, in binSplitDataSet mat0 = dataSet[nonzero(dataSet[:,feature] > value)[0], :][0] File "D:\python3.5.2\install\lib\site-packages\numpy\matrixlib\defmatrix.py", line 284, in __getitem__ out = N.ndarray.__getitem__(self, index) IndexError: index 0 is out of bounds for axis 0 with size 0
根据作者提供的测试数据ex00进行运行代码,运行到第41行数据,发现
dataSet[:,feature] > value,结果全部为false,所以
nonzero(dataSet[:,feature] > value)为[],因此
nonzero(dataSet[:,feature] > value)[0]报错
index 0 is out of bounds for axis 0 with size 0