- K-최근접 이웃 (K-nearest Neighbors)
- 거리를 이용해 분류(Classification) 또는 회귀(Regression)를 수행하는 알고리즘
- 주어진 개체에 대하여 근처의 K개의 개체들의 클래스들 중에서 가장 많은 클래스로 주어진 개체의 클래스를 지정하는 방법
- n차원 공간에서 두 점 (X, Y) 사이의 거리는 유클리디안 거리 이용
- dist(X, Y) = 루트 (x1-y1)^2 + (x2- y2)^2 + … + (xk-yk)^2
- 지도학습, 사례기반 학습
- 예시
- 남녀 구분(머리카락 길이, 키, 몸무게 등)
- 토마토는 채소인지 과일인지 구분할 수 있는 변수(features)로 sweetness, crunchiness를 선정
- K-최근접 이웃 분류
- train_data, train_target, test_data, test_target의 분리
- 모형의 평가를 위해 데이터를 훈련 데이터와 테스트 데이터로 분리한다.
- 모형의 일반화를 위해 훈련 데이터를 New 훈련 데이터와 검증 데이터로 다시 분리한다.
- K-최근접 이웃 회귀(KNN regressor)
- 과소적합인 경우 n_neighbor 수 감수
- 과대적합인 경우 n_neighbor 수 증가