>>> myTree =trees.createTree(myDat,label)
Traceback (most recent call last):
File "<pyshell#6>", line 1, in <module>
myTree =trees.createTree(myDat,label)
File "E:\AI\FirstPythonProj\trees.py", line 86, in createTree
myTree[bestFeatLabel][value] = createTree(splitDataSet(dataSet, bestFeat, value), subLabels)
File "E:\AI\FirstPythonProj\trees.py", line 73, in createTree
if classList.count(classList[0]) == len(classList):#类别完全相同,则停止继续划分
Traceback (most recent call last):
File "<pyshell#6>", line 1, in <module>
myTree =trees.createTree(myDat,label)
File "E:\AI\FirstPythonProj\trees.py", line 86, in createTree
myTree[bestFeatLabel][value] = createTree(splitDataSet(dataSet, bestFeat, value), subLabels)
File "E:\AI\FirstPythonProj\trees.py", line 73, in createTree
if classList.count(classList[0]) == len(classList):#类别完全相同,则停止继续划分
IndexError: list index out of range
《机器学习实战》,程序清单3-4 函数调用时报错。
函数中调用的函数splitDataSet(dataSet, bestFeat, value) 没有返回值,导致错误。
注意:函数调用时,被调用函数的返回结果会直接影响相应函数的运行。
20180401 Ken