머신은 실제로 데이터에서 어떻게 학습하는가?
Source: Dev.to
🎯 올바른 순서 (초보자‑최적)
다음 내용을 이해하기 전에 scikit‑learn을 완전히 배우면 안 됩니다:
- 모델이 무엇인지
- 손실(loss)이 무엇인지
- 학습(training)이 의미하는 바
- 과적합(overfitting)이 무엇인지
그렇지 않으면 scikit‑learn은 블랙 박스가 됩니다.
🧠 scikit‑learn을 이렇게 생각하세요
개념 → 왜 동작하는가
scikit‑learn → 어떻게 빠르게 적용할까
이 순서를 뒤바꾸면:
from sklearn.linear_model import LinearRegression
model = LinearRegression()
model.fit(X, y)
코드는 실행되지만 무슨 일이 일어났는지 실제로 알 수 없습니다.
✅ 대신 해야 할 일 (최선의 접근법)
Step 1️⃣ – 학습 개념을 배우기 (scikit‑learn은 아직 사용 안 함)
기본에 집중하세요:
- 지도 학습
- 회귀 vs. 분류
- 모델 = 함수
- 손실 함수
- 과적합 vs. 과소적합
- 학습 데이터와 테스트 데이터의 동작
이는 수학 직관 + NumPy 로 충분히 할 수 있습니다.
Step 2️⃣ – Linear Regression을 직접 구현하기
다음만 사용:
- NumPy
- 몇 줄의 수학식
- 머신러닝 라이브러리 금지
이렇게 하면 질문에 답할 수 있습니다: “모델은 실제로 어떻게 학습하나요?”
Step 3️⃣ – 그 다음에 scikit‑learn 도입 (가볍게)
개념이 확실히 잡히면 scikit‑learn은:
- 깔끔하고
- 논리적이며
- 쉬워집니다
즉시 이해하게 됩니다:
.fit().predict().score()
❌ 하지 말아야 할 것 (초보자 흔한 실수)
- scikit‑learn API를 깊게 파고들기
- 분류기와 파라미터를 외우기
- 너무 일찍 고급 모델로 뛰어들기
이러한 습관은 얇은 이해를 만들게 합니다.
🧭 최소한의 scikit‑learn 살펴보기 (선택)
다음 유틸리티는 알아두기만 해도 괜찮습니다 (아직 마스터할 필요는 없음):
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
(이전 프로젝트에서 사용했을 가능성이 높습니다.)
전체 모델을 배우기 시작하기 전까지는 앞 단계들을 확실히 다져두세요.