반응형
[02_첫번째 머신러닝 분석]과 [03_데이터셋 나누기]를 묶어서 진행하겠습니다. 코드를 다 외울 필요는 없습니다. 뼈대만 이해하고 TODO를 채워보세요.
🗺️ [복습 1단계] 머신러닝 뼈대 세우기 (데이터 분리와 학습)
머신러닝의 가장 기본이 되는 전체 흐름(데이터 로드 ➡️ 분리 ➡️ 학습 ➡️ 예측 ➡️ 평가)을 직접 구현하는 단계입니다.
"머신러닝 모델을 만드는 건 학생이 수능 시험을 준비하는 과정과 똑같아. 우리가 가진 전체 데이터(문제집)를 몽땅 공부용(Train)으로 써버리면, 이 학생이 진짜 실력이 좋은 건지 기출문제만 달달 외운 건지 알 수가 없지? 그래서 문제집의 70~80%만 찢어서 공부(Train) 시키고, 나머지 20~30%는 학생이 한 번도 본 적 없는 **수능 시험지(Test)**로 남겨뒀다가 마지막에 채점하는 거야."
💻 핵심 코드 해설
1. 데이터 분리하기 (train_test_split)
Python
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(
X, # 문제지 (Feature)
y, # 정답지 (Label/Target)
test_size=0.2, # 전체 데이터 중 Test(시험용) 비율을 20%로 설정
random_state=42, # 데이터를 섞을 때 항상 똑같이 섞이도록 기준점(seed) 고정
stratify=y # (분류 문제 필수) Train과 Test의 정답 비율을 원본과 동일하게 맞춰줌
)
- 주의할 점: 반환되는 변수 순서는 무조건 X_train, X_test, y_train, y_test 순서입니다. (문제-문제, 정답-정답)
2. 모델 학습과 예측 (fit, predict)
Python
# 1. AI 학생 소환 (모델 객체 생성)
model = DecisionTreeClassifier()
# 2. 공부시키기 (Train 데이터만 사용!)
model.fit(X_train, y_train)
# 3. 시험 보기 (Test 데이터 문제만 줌, 정답은 숨김)
pred = model.predict(X_test)
3. 채점하기 (accuracy_score)
Python
from sklearn.metrics import accuracy_score
# 실제 정답(y_test)과 AI가 제출한 답안지(pred)를 비교
acc = accuracy_score(y_test, pred)
📝 TODO 실습 문제: 유방암 진단 모델 만들기
위의 코드 설명을 참고하여, 제공된 뼈대 코드의 빈칸(___)을 채워 완벽한 머신러닝 파이프라인을 완성해 보세요.
Python
from sklearn.datasets import load_breast_cancer
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier
from sklearn.metrics import accuracy_score
# 1. 데이터 로드
cancer = load_breast_cancer()
X = cancer.data
y = cancer.target
# 2. 데이터 분리 (Test 사이즈 30%, random_state는 0, 비율 유지 옵션 켜기)
X_train, X_test, y_train, y_test = train_test_split(
___,
___,
test_size=___,
random_state=___,
stratify=___
)
# 3. 모델 객체 생성
model = ___()
# 4. 모델 학습 (공부용 데이터 사용)
model.___(X_train, y_train)
# 5. 예측 수행 (시험용 문제 데이터 사용)
pred = model.___(X_test)
# 6. 정확도 평가 (실제 시험 정답과 예측한 정답 비교)
acc = accuracy_score(___, ___)
print(f"모델 정확도: {acc:.4f}")
반응형
'두두 IT > 머신런닝(ML)' 카테고리의 다른 글
| TODO와 함께하는 복습 - 3 (파이프라인) (0) | 2026.05.25 |
|---|---|
| TODO와 함께하는 복습 - 2 (데이터 전처리) (0) | 2026.05.25 |
| [ML-12] 선형모델_선형회귀 (0) | 2026.05.20 |
| 모델의 정확도 평가(accuracy evaluating) (0) | 2026.05.17 |
| 머신러닝 모델 테스트 (0) | 2026.05.17 |