사이킷런 KNN 분류기 활용

40 P
QUESTION 04 #350
Scikit-learn을 사용하여 K-최근접 이웃 분류 모델을 만들고 학습시키는 코드를 완성하세요.
main.py
from sklearn.neighbors import KNeighborsClassifier
import numpy as np

X = np.array([[1, 2], [2, 3], [10, 11], [11, 12]])
y = np.array([0, 0, 1, 1]) # 0: 초보자, 1: 전문가

# 이웃의 개수(K)를 3으로 설정하여 모델 생성
knn = (n_neighbors=3)

# 학습 및 예측
knn.fit(X, y)
result = knn.([[9, 10]])

print(f"판단 결과: {result[0]}") # 전문가(1)로 예측될 확률이 높음
실행 결과 예시
KNeighborsClassifier, predict
INTERACTIVE SHELL Shift + Enter 로 즉시 실행

⚙️ K값 설정의 마법

KNN 모델에서 K(n_neighbors)를 몇으로 정하느냐에 따라 AI의 판단이 달라집니다.

  • K가 너무 작으면(1): 데이터 하나의 노이즈에 너무 민감하게 반응합니다(과적합).
  • K가 너무 크면: 데이터의 세밀한 특징을 무시하고 단순히 많은 쪽으로만 쏠립니다(과소적합).

일반적으로 K는 홀수로 설정하여 동점이 나오는 상황을 방지하는 것이 실무적인 팁입니다.