2013-03-31 2 views
1

단일 차원과 클래스 레이블을 포함하는 데이터가 있습니다. 나는 KNN을 실행하고 싶다.K- 가장 가까운 파이썬에서 이웃

내 데이터 내가 아래했고, 오류가 결국이

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 

답변

3

음 오류 메시지, 당신은 그 사람을 꽤 쓰레기 메일을해야한다 도움을 수정하도록 요청하지만, 어쨌든 ... http://scikit-learn.org/stable/modules/generated/sklearn.neighbors.KNeighborsClassifier.html#sklearn.neighbors.KNeighborsClassifier의 예는 매우 분명하다 바랍니다 : 첫 번째 인수가 맞게()한다 목록의 목록이지 숫자 목록이 아닙니다. 또한 두 번째 인수는 "정수 값 배열"이어야하지만 문자열 배열을 작성했습니다.

+0

덕분에, 지금이 ...'>>> 기차를 얻을 = [[0.7043607250604991], [0.9156435124135893], [0.9931506043228762], [2.264187785208016]' '>>> 라벨 = [1,1,1, 0] ''>>> sklearn.neighbors로부터 가져 KNeighborsClassifier' '>>> KNN KNeighborsClassifier =()'' >>> knn.fit (기차, 라벨)'' KNeighborsClassifier (알고리즘 = '자동' leaf_size = 30, n_neighbors = 5, p = 2, warn_on_equidistant = True, weights = 'uniform')'알고리즘에서 사용할 거리 메트릭은 어디에서 지정해야합니까? – user1946217

+0

알고리즘에 익숙하지 않아서 무슨 뜻인지 모르겠지만 내가 링크 된 문서를 읽었습니까? 먼 거리에 대해서 이야기하고 있습니다 ... 문서가 아니라면 소스 코드를 읽는 것이 좋습니다. https://github.com/scikit-learn/scikit-learn/tree/master/sklearn/neighbors – boxed

관련 문제