PROGRESS
4 / 7
단원
데이터 구조화: AI 전처리 17
데이터의 규칙: 예측 로직 14
옷의 시너스: 판단 로직 1
예와 아니오: 판단 로직 6
닮은꼴 찾기: 관계 로직 7
최적의 경로: 강화 로직 7
층층이 지능: 신경망 로직 7
전체 목록
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)로 예측될 확률이 높음
HINT
KNN 분류 클래스명과 결과 예측 메서드명을 입력하세요.
실행 결과 예시
KNeighborsClassifier, predict
INTERACTIVE SHELL
Shift + Enter 로 즉시 실행
⚙️ K값 설정의 마법
KNN 모델에서 K(n_neighbors)를 몇으로 정하느냐에 따라 AI의 판단이 달라집니다.
- K가 너무 작으면(1): 데이터 하나의 노이즈에 너무 민감하게 반응합니다(과적합).
- K가 너무 크면: 데이터의 세밀한 특징을 무시하고 단순히 많은 쪽으로만 쏠립니다(과소적합).
일반적으로 K는 홀수로 설정하여 동점이 나오는 상황을 방지하는 것이 실무적인 팁입니다.