我有一组数据,包含单维度和类别标签。我想在这组数据上运行KNN算法。
我的数据长这个样子:
feature Label
0.70436073 1
0.91564351 1
0.9931506 1
2.26418779 0
我做了以下操作,但出现了错误。从错误信息中我理解到train的数据类型无法识别,但我不知道如何修复它。请帮忙。
>>> 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
>>> train = [[0.7043607250604991], [0.9156435124135893], [0.9931506043228762], [2.264187785208016]]
>>> label = [1,1,1,0]
>>> from sklearn.neighbors import KNeighborsClassifier
>>> knn = KNeighborsClassifier()
>>> knn.fit(train, label)
KNeighborsClassifier(algorithm='auto', leaf_size=30, n_neighbors=5, p=2, warn_on_equidistant=True, weights='uniform')
但是我们在哪里指定算法使用的距离度量呢? - user1946217