K-Nearest Neighbors (K-최근접 이웃 알고리즘)
K-Nearest Neighbors (K-NN, K-최근접 이웃 알고리즘)
머신러닝에서 지도 학습의 한 종류로 거리 기반 분류 분석 모델로
새로운 데이터가 주어졌을 때, 이 데이터에 대한 답을 예측하는 것이라고 할 수 있다.
데이터 간의 거리 측정에 의존하고 유클리디안 거리 계산법을 사용하여
주변의 가까운 데이터 K 개를 지정해서 다수를 차지하는 것을 정답으로 한다.
-> 그렇기에 K의 값에 따라 분류가 달라질 수 있다.
예시를 통해 살펴보자.
(이미지 출처: Wikipedia)
검은 선으로 이루어진 원이 범위로 지정되었다면 의문의 데이터인 초록색 원은 다수인 빨간색 삼각형으로 예측될 것이고
점선으로 이루어진 원이 범위로 지정되었다면 파란색 사각형으로 예측될 것이다.
모델의 정규화 과정 (데이터 편향을 해결하기 위해)
- 최소- 최대 정규화(min-max normalization)
- z-점수 표준화(z-score standardization)
최소- 최대 정규화(min-max normalization)
변수 x의 범위를 0%에서 100%까지로 나타낸다. (즉 정규화된 값이 0과 1 사이로 변환된다는 것을 의미)
-> 이렇게 함으로써 특정 데이터값이 어느 위치에 있는지 직관적으로 알기 쉽다.
모든 특성을 같은 범위로 스케일링하므로, 데이터의 분포를 그대로 유지하면서
거리 계산의 영향을 균등하게 한다.
z-점수 표준화(z-score standardization)
변수의 범위를 정규분포화하여 평균을 0, 표준편차가 1이 되도록 한다.
(미리 정의된 최솟값과 최댓값이 없음) 데이터 포인트가 평균에서 얼마나 떨어져 있는지를 측정하는 데 유용하다.
데이터 간의 상대적인 위치 파악 가능 -> 데이터 범위가 달라져도 적용 가능하다.
Leave a comment