Machine Learning

[머신러닝][사이킷런]k-최근접 알고리즘 KNeighborsClassifier

Home-M 2021. 2. 12. 11:00
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