我有包含一个维度和一个类标签的数据。我想在上面运行KNN。
我的数据是这样的
feature Label
0.70436073 1
0.91564351 1
0.9931506 1
2.26418779 0
我做了下面的事情,结果出错了。我从错误中了解到无法识别火车的数据类型,但是我不知道如何解决它。请帮忙
>>> train = [ 0.70436073, 0.91564351, 0.9931506, 2.26418779]
>>> train
[0.70436073, 0.91564351, 0.9931506, 2.26418779]
>>> label = ['1','1','1','0']
>>> from sklearn.neighbors import KNeighborsClassifier
>>> knn = KNeighborsClassifier()
>>> knn.fit(train, label)
Traceback (most recent call last):
File "<pyshell#26>", line 1, in <module>
knn.fit(train, label)
File "C:\Python27\lib\site-packages\sklearn\neighbors\base.py", line 586, in fit
return self._fit(X)
File "C:\Python27\lib\site-packages\sklearn\neighbors\base.py", line 126, in _fit
raise ValueError("data type not understood")
ValueError: data type not understood
最佳答案
好吧,错误消息很糟糕,您应该邮寄这些家伙并要求他们修复,但是无论如何... http://scikit-learn.org/stable/modules/generated/sklearn.neighbors.KNeighborsClassifier.html#sklearn.neighbors.KNeighborsClassifier上的示例非常清楚:fit()的第一个参数是列表列表,而不是数字列表。此外,第二个参数必须是“整数值数组”,但是您已经编写了一个字符串数组。
关于python-2.7 - Python中的K近邻,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15729269/