라벨이 과대적합인 게시물 표시

[머신러닝] K-최근접 이웃 회귀 개념과 예제

이미지
K-최근접 이웃 회귀 개념과 예제 K-최근접 이웃 알고리즘 지도 학습 알고리즘은 분류 와 회귀 로 나뉜다. K-최근접 이웃 분류(K-NN Classification) K-최근접 이웃 분류는 새로운 샘플(초록색 원)이 주어졌을 때 가장 가까운 K개의 샘플들을 보고 샘플이 속하는 클래스를 판단하는 알고리즘이다. K-최근접 이웃 회귀(K-NN Regression) K-최근접 이웃 회귀는 새로운 데이터를 클래스 중 하나로 분류하는 것이 아닌 임의의 수치를 예측하는 알고리즘이다. 회귀 : 두 변수 사이의 상관관계 를 분석하는 방법 아래 그래프를 보자. 분류와 같이 예측 하려는 샘플에 가장 가까운 K개의 샘플을 선택한다. 하지만 회귀 이므로 주변의 샘플들은 어떤 클래스(그룹)가 아닌 임의의 수치다. 따라서 새로운 샘플(주황색 별)을 예측 할 때는 주변의 수치들의 평균을 구하면 된다.  주황색 별 = (30 + 30 + 2) / 3  계산에 따라 새로운 샘플의 예측 타깃값은 26.6666  이 된다. 데이터 준비하기 이제부터 파이썬에서 K-최근접 이웃 회귀 알고리즘을 사용해 모델을 훈련 시켜 보자. 우선 데이터를 준비 하자. height를 보고 weight를 예측 하도록 해야 하므로 height가 특성이 되고 weight가 타깃이 된다. import numpy as np height = np.array([ 10.0 , 11.0 , 12.0 , 13.0 , 14.0 , 15.0 , 16.0 , 17.0 , 18.0 , 19.0 , 20.5 , 21.0 , 22.0 , 23.0 , 24.0 , 25.0 , 26.0 , 27.5 , 28.0 , 29.0 , 30.0 , 31.0 , 32.0 , 33.0 , 34.0 , 35.0 , 36.0 , 37.0 , 37.5 , 38.0 , ...