\ [머신러닝][사이킷런]k-최근접 알고리즘 KNeighborsClassifier :: Something New
728x90
반응형

머신러닝에서의 모델

머신러닝 알고리즘을 구현한 프로그램 또는 알고리즘을 수식 등으로 구체화하여 표현한 것을 모델이라고 부름.

 

특성

데이터를 표현하는 하나의 성질

ex) 분류할 대상의 무게나 길이

 

정확도

정확한 답을 몇 개 맞혔는지 백분율로 나타낸 값

사이킷런에서는 0~1사이의 값으로 출력

정확도 = 정확히 맞힌 개수/전체 데이터 개수

 

k-최근접 알고리즘이란

가장 간단한 머신러닝 알고리즘 중 하나로

어떤 규칙을 찾기보다는 전체 데이터를 메모리에 가지고 있는 것이 전부인 알고리즘

 

KNeighborsClassifier()는 k-최근접 이웃 분류 모델을 만드는 사이킷런 클래스

n_neighbors 매개변수로 이웃의 개수를 지정

기본값은 5

 

p매개변수로 거리를 재는 방법을 지정하고

1이면 맨해튼 거리를 사용하고 2일 경우 유클리디안 거리를 사용한다.

기본값은 2

 

n_jobs 매개변수로 사용할 CPU코어를 지정가능

-1로 설정하면 모든 CPU코어를 사용

 

이웃 간의 거리 계산 속도를 높일 수 있지만 fit() 메서드에는 영향이 없음

기본값은 1

import sklearn
model = sklearn.neighbor.KNeighborsClassifier()

 

fit()

훈련(Training)할 때 사용하는 메서드

처음 두 매개변수로 훈련에 사용할 특성과 정답 데이터를 전달

모델에 데이터를 전달하여 규칙을 학습하는 과정

 

predict()

사이킷런 모델을 훈련하고 예측할 때 사용하는 메서드

특성 데이터 하나만 매개변수로 받음

 

score()

훈련된 사이킷런 모델의 성능을 측정

처음 두 매개변수로 특성과 정답 데이터를 전달

이 메서드는 먼저 predict() 메서드로 예측을 수행한 다음 분류 모델일 경우 정답과 비교하여 올바르게 예측한 개수를 비율로 반환

 

 

 

 

 

728x90

+ Recent posts