← 문제 목록/KNN 회귀
문제 해설

KNN 회귀

회귀 · easy

preview

KNN 회귀

KNN 분류(16번)회귀 버전. 가장 가까운 k 개 이웃의 라벨을 다수결 로 뽑는 대신, 평균 을 내면 회귀가 됩니다:

y^(x)=1kiNk(x)yi\hat{y}(\mathbf{x}) = \frac{1}{k} \sum_{i \in N_k(\mathbf{x})} y_i

여기서 Nk(x)N_k(x)xx 에서 가장 가까운 kk 개 훈련점의 인덱스 집합.

특징

  • 비모수적(nonparametric): 가중치 파라미터를 학습하지 않음.
  • 데이터 전체를 기억 (메모리 많이 사용).
  • 거리 기반 → 스케일 민감 (표준화 필요).
  • k=1 이면 노이즈에 과적합, 너무 크면 평균치로 평탄.

과제

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

  • X_train (N, D), y_train (N,) 실수, X_test (M, D).
  • 반환: (M,) 실수 배열 — 각 테스트 점의 예측값.
  • 힌트: 쌍별 거리 → argsort(axis=1)[:, :k] → y_train[idx].mean(axis=1).

테스트 케이스

#이름검증
1shape (M,)
2k=1, X_test=X_train정답 = y_train
3간단한 예제손으로 계산 가능한 값
4sklearn KNeighborsRegressor 일치
코드 작성
Loading...
실행 결과

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