티스토리 뷰

python/sklearn

scikit-learn KNN 사용 방법

hellownd 2019. 5. 28. 15:58

scikit-learn은 knn 분류기를 KNeighborsClassifier 클래스로 제공한다.

 

KNeighborsClassifier의 사용 예제

from sklearn.neighbors import KNeighborsClassifier

X = [[0], [1], [2], [3]]
y = [0, 0, 1, 1]

knn = KNeighborsClassifier(n_neighbors=1, weights="distance", metric="euclidean")
knn.fit(X, y)
knn.predict([[1.1]])
knn.predict_proba([[1.1]])
dist, index = knn.kneighbors([[1.1]])

KNeighborsClassifier 생성자 파라미터는 다음의 의미를 가진다.

  - n_neighobrs(default=5): 분류 시 고려할 인접 샘플 수

  - weights(default='uniform'): 'distance'로 설정하면, 분류할 때 인접한 샘플의 거리에 따라 다른 가중치 부여 (가까울수록 큰 가중치)

  - metric(default='minkowski'): 거리계산의 척도 (minkowski, euclidean, mahalanobis 등)

 

fit 함수: 모델 학습

  - X: shape=(sample 수, feature dimension)

  - y: shape=(sample 수), 0 ~ 클래스수-1의 값을 가짐

 

예측

  - predict: 예측한 클래스 번호를 반환

  - predict_proba: 클래스 별 확률 값을 반환

  - kneighbors: 인접한 k개의 sample에 대해 거리, index를 반환

 

 

참조

https://scikit-learn.org/stable/modules/generated/sklearn.neighbors.KNeighborsClassifier.html

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함