반응형
🧠 Machine Learning 전체 프로세스 (실무 완결판)
0️⃣ 비즈니스 문제 정의 (Problem Definition) - [추가됨]
코딩을 켜기 전에 "우리가 왜 이 인공지능을 만드는가?"를 정의하는 0순위 단계입니다.
- 목표 설정: 매출 예측(회귀)인가, 불량품 탐지(분류)인가?
- 성능 지표 합의: "정확도 90%면 서비스에 바로 적용할 수 있는가?" 기준 마련.
💡 [꼭 기억할 점]
- 머신러닝은 마법이 아닙니다. 엑셀이나 간단한 수식으로 풀 수 있는 문제라면 굳이 복잡한 AI를 도입할 필요가 없습니다. "정말 AI가 필요한 문제인가?"를 먼저 질문해야 합니다.
1️⃣ 데이터 수집 및 탐색 (Data Collection & EDA)
- 데이터 수집: SQL, 크롤링, 사내 DB.
- EDA (탐색적 데이터 분석): Pandas와 시각화를 통해 데이터의 분포, 결측치, 이상치, 힌트 간의 관계(상관관계)를 파악합니다.
💡 [꼭 기억할 점]
- Garbage In, Garbage Out (GIGO): 쓰레기를 넣으면 쓰레기가 나옵니다. 모델 튜닝에 10시간을 쓰는 것보다, EDA를 통해 좋은 데이터 1개를 더 찾아내는 것이 성능 향상에 100배 더 효과적입니다.
2️⃣ 데이터셋 분리 (Data Split)
- Train(학습) / Validation(검증) / Test(최종 평가) 3분할.
💡 [꼭 기억할 점]
- 데이터 누수(Data Leakage) 절대 주의: 도화지를 자르기 전에 전체 데이터로 평균을 내거나 스케일링을 하면, 미래(Test)의 정보가 과거(Train)에 유출됩니다. 반드시 가장 먼저 데이터를 쪼개야 합니다.
3️⃣ 데이터 전처리 및 특성 공학 (Preprocessing & Feature Engineering)
- 결측치/이상치 처리 및 인코딩: 빈 값 채우기, 문자를 숫자로 변환.
- 특성 공학: 기존 힌트를 조합해 새로운 강력한 힌트 창조.
- 스케일링: 데이터의 체급 맞추기 (StandardScaler 등).
- [추가] 데이터 불균형 처리 (Imbalanced Data): 사기 거래(0.1%)와 정상 거래(99.9%)처럼 비율이 붕괴된 데이터를 SMOTE 같은 기법으로 가짜 데이터를 만들어 비율을 맞춰줍니다.
💡 [꼭 기억할 점]
- fit_transform vs transform: Train 데이터에는 fit_transform()(기준 세우고 변환)을, Validation과 Test 데이터에는 오직 transform()(세워진 기준에 맞추기만 함)만 써야 합니다!
4️⃣ ⚙️ 공장 자동화 및 최적화 (Pipeline & Tuning)
- Pipeline: 전처리와 모델 학습을 한 줄의 컨베이어 벨트로 묶습니다.
- Cross Validation (교차 검증): 데이터를 K등분 하여 돌아가며 깐깐하게 모의고사를 봅니다.
- GridSearchCV: 컴퓨터가 모든 하이퍼파라미터 조합을 자동 탐색하여 1등을 찾습니다.
💡 [꼭 기억할 점]
- 파이프라인은 선택이 아닌 필수: 특히 교차 검증(CV)을 할 때 파이프라인을 쓰지 않으면, 폴드(Fold)가 나뉠 때마다 미세하게 데이터 누수가 발생합니다. 실무 코드의 뼈대는 무조건 파이프라인입니다.
5️⃣ 학습 원리와 평가 방법 (Optimization & Metrics)
- 경사하강법: 오차를 최소화하는 방향으로 가중치 업데이트.
- 분류 평가지표: Accuracy, Precision, Recall, F1-Score, ROC-AUC.
- 회귀 평가지표: MSE, RMSE, R² Score.
💡 [꼭 기억할 점]
- 정확도(Accuracy)의 역설: 암 환자가 1%인 데이터에서 AI가 무조건 "100% 정상입니다"라고 찍어도 정확도는 99%가 나옵니다. 데이터 불균형이 있을 때는 절대 정확도를 믿지 말고 F1-Score나 ROC-AUC를 봐야 합니다.
6️⃣ 알고리즘 무기고 (Models)
- 회귀: 선형 회귀, 다항 회귀, 규제 모델(Ridge, Lasso).
- 분류: 로지스틱 회귀, SVM, KNN, 결정 트리.
- 앙상블: 랜덤 포레스트(Bagging), XGBoost/LightGBM(Boosting).
- 비지도학습: Clustering (K-Means), 차원 축소 (PCA).
💡 [꼭 기억할 점]
- 트리 모델은 스케일링이 필요 없다: 결정 트리, 랜덤 포레스트 등 트리 기반 모델은 데이터를 '크기'가 아니라 '비율/조건'으로 나누기 때문에 스케일링(체급 맞추기)을 안 해도 됩니다. 반면 선형 회귀, 로지스틱 회귀, KNN, SVM은 거리를 계산하므로 스케일링이 필수입니다.
7️⃣ 모델 배포 및 모니터링 (Deployment & MLOps) - [추가됨]
- 배포: 학습된 뇌(모델)를 Pickle로 저장하여 웹사이트(API)에 올립니다.
- 모니터링 (Concept Drift): 시간이 지나면 사람들의 행동 패턴이 변하므로 AI의 성능이 점점 떨어집니다. 이를 감지하고 모델을 재학습시킵니다.
💡 [꼭 기억할 점]
- AI는 살아있는 생물이다: 모델을 한 번 배포했다고 끝이 아닙니다. 코로나19가 터지면 이전의 마스크 수요 예측 AI는 완전히 바보가 됩니다. 세상이 변하면(Concept Drift), 데이터도 변하므로 주기적으로 최신 데이터로 다시 학습시켜야 합니다.
반응형
'두두 IT > 머신런닝(ML)' 카테고리의 다른 글
| scikit-learn으로 선형회귀(linear regression) 모델 머신러닝 트레이닝 수행 (1) | 2026.05.17 |
|---|---|
| scikit-learn으로 트레이닝 데이터와 테스트 데이터 분할 (0) | 2026.05.17 |
| 중복데이터와 결측값(missing value) 처리 (0) | 2026.05.17 |
| Pandas DataFrame 컬럼(column) 분할(split)과 삭제(remove) (0) | 2026.05.17 |
| Pandas DataFrame으로 CSV 파일 읽고 쓰기 (0) | 2026.05.17 |