Practice makes perfect

[MachineLearning] k-최근접 이웃(k-Nearest Neighbor, kNN) 본문

Anaconda/MachineLearning

[MachineLearning] k-최근접 이웃(k-Nearest Neighbor, kNN)

kerpect 2020. 11. 20. 23:37

k-최근접 이웃(k-Nearest Neighbor, kNN)

: 특정 공간 내에서 입력과 제일 근접한 k개의 요소를 찾아, 더 많이 일치하는 것으로 분류 하는 알고리즘 입니다. 

 

k - 최근접 이웃 특징 

① 데이터 분류에 사용되는 아주 간단한 지도학습 알고리즘 
- 지도학습 : 머신러닝 학습 시 데이터와 함께 데이터에 대한 레이블(정답)을 함께 부여하는 학습 방식.
- 데이터 분류 : 새로운 데이터를 기존 데이터의 레이블 중 하나로 분류하는 작업.

② 유사한 특성을 가진 데이터들끼리는 거리가 가깝고, 거리 공식을 사용하여 데이터 사이의 거리를 구함 
③ 분류기의 효과를 높이기 위해 파라미터를 조정 
④ K-Nearest Neighbors의 경우 k 값을 변경 
⑤ 분류기가 부적절하게 학습되면 overfitting 또는 underfitting이 나타날 수 있음 
⑥ K-Nearest Neighbors의 경우 너무 작은 k는 overfitting, 너무 큰 k는 underfitting을 보임

 

 

k-최근접 이웃(k-Nearest Neighbor, kNN)의 장단점

장점 단점
구현이 쉽다. 예측 속도가 느리다.
알고리즘을 이해하기 쉽다.   메모리를 많이 쓴다.
별도의 모델 학습이 필요 없다.  노이즈 데이터에 예민하다. 
하이퍼 파라미터가 적다 - 이웃의 개수(k)  

 

 

농구 선수의 경기 기록을 바탕으로, 그 선수의 포지션을 예측해보기!

 

데이터 전처리 

 

 

데이터 시각화 

 

`

 

 

k-최근접 이웃 적용 

 

 

 

 

 

 

 

 

'