在初学机器学习实战一书的kNN算法时,导入提前编辑好的kNN.py模块时出现如下错误:
ValueError Traceback (most recent call last)
<ipython-input-2-fe68f4fbf6a1> in <module>
----> 1 group,labels = kNN.createDataSet()
~\kNN.py in createDataSet()
11
12 def createDataSet():
---> 13 group = array([1.0,1.1],[1.0,1.0],[0,0],[0,0.1])
14 labels = ['A','A','B','B']
15 return group, labels
ValueError: only 2 non-keyword arguments accepted
错因:一般是由于程序中某个数组在定义时少敲了中括号
解决方法:
1.打开kNN.py文件将代码修改如下:
def createDataSet():
group = array([[1.0,1.1],[1.0,1.0],[0,0],[0,0.1]])
labels = ['A','A','B','B']
return group, labels
2.ctrl+s保存修改后的kNN.py文件
3.再次输入import kNN命令重新导入文件即可解决问题,结果如下图: