← 문제 목록/K-최근접 이웃 회귀
문제 해설

K-최근접 이웃 회귀

회귀 · easy

preview

KNN 회귀

16번 KNN 분류 의 응용. 알고리즘은 같지만 마지막 단계만 다름:

  • 분류: k 이웃의 다수결
  • 회귀: k 이웃의 평균

y^(x)=1kitop-k(x)yi\hat{y}(\mathbf{x}) = \frac{1}{k} \sum_{i \in \text{top-}k(\mathbf{x})} y_i

학습 없음 — X_train, y_train 을 저장만 하고 예측 시 거리 계산 + 평균.

특성

  • 비모수적: 함수 형태 가정 없음. 어떤 모양이든 잡아냄.
  • 부드러움 ↔ 들쑥날쑥: k 작으면 국소적 (노이즈 민감), k 크면 부드러움 (과소적합 위험).
  • 거리 계산이 느림 — 데이터 양이 많으면 KD-tree 같은 자료구조 필요.

과제

함수 knn_regress(X_train, y_train, X_test, k) 를 완성하세요.

  • X_train (N, D), y_train (N,) 연속값, X_test (M, D).
  • 반환: (M,) float 배열 — 예측값.
  • 유클리드 거리로 최근접 k 개 찾고 → 평균.

테스트 케이스

#이름검증
1shape(M,)
2k=1 + 같은 점 → 자기 자신X_test == X_train
3상수 타겟 → 상수 예측모든 y 가 같으면 예측도 같음
4선형 함수 근사y = 2x 데이터에서 예측이 선형과 비슷
5k 클수록 부드러움variance 가 줄어듦
코드 작성
Loading...
실행 결과

코드를 작성하고 Run 을 눌러보세요.