← 문제 목록/K-최근접 이웃 (KNN)

K-최근접 이웃 (KNN)

분류 · easy

preview

K-최근접 이웃 (K-Nearest Neighbors)

학습 없음. 예측할 점이 오면, 훈련 데이터에서 가장 가까운 k를 찾고 다수결로 라벨을 정합니다.

알고리즘

  1. 훈련 저장: (Xtrain,ytrain)(X_\text{train}, y_\text{train})
  2. 예측할 점 x\mathbf{x} 에 대해 모든 훈련 점과의 거리를 계산
  3. 거리 오름차순으로 정렬 → 상위 k 개 선택
  4. k 개 라벨 중 가장 많은 것 을 반환

과제

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

  • X_train (N, D), y_train (N,) 정수 레이블, X_test (M, D).
  • 반환: (M,) 정수 배열 예측 레이블.
  • 힌트: np.argsort, np.bincount 가 유용.

테스트 케이스

#이름검증
1단순 2 클래스잘 분리된 데이터에서 정확도 ≥ 0.95
2shape(M,)
3k=1 은 자기자신X_test = X_train 이면 완벽
4다중 클래스3 클래스 데이터 처리
Loading...

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