2025-01-27 - 사이킷런 소개와 머신러닝 분류 예측 모델 개요
📅 오늘의 학습 목표
- 사이킷런 라이브러리 이해하기
- 머신러닝 분류 예측 모델 개념 파악하기
- MLOps 학습을 위한 머신러닝 기초 다지기
🔍 주요 학습 내용
사이킷런(Scikit-learn) 핵심 정리
- 가장 인상 깊었던 점: 사이킷런이 단순히 라이브러리가 아니라 전체 머신러닝 생태계의 중심이라는 것
- 특징: 일관된 API 구조로 다양한 알고리즘을 동일한 방식으로 사용 가능
- 왜 중요한가: MLOps 파이프라인 구축 시 모델 개발 단계에서 핵심 역할
분류 vs 회귀 개념 정리
분류(Classification)
- 카테고리 예측 (이산적)
- 예: 스팸/햄, 개/고양이
- 평가: 정확도, 정밀도, 재현율
회귀(Regression)
- 수치 예측 (연속적)
- 예: 가격, 온도, 확률
- 평가: MSE, MAE, R²
분류 문제 유형별 이해
- 이진 분류: 가장 기본적인 형태, 이해하기 쉬움
- 다중 클래스: 실제 현실 문제에서 가장 많이 봄
- 다중 레이블: 복잡하지만 실무에서 유용할 것 같음
- 불균형 분류: 실제 데이터에서 자주 마주칠 문제
💡 개인적인 깨달음
이해한 것들
- 사이킷런이 NumPy, SciPy, matplotlib 위에 구축되어 있다는 것이 흥미로움
- 일관된 API 구조(.fit(), .predict(), .score())가 학습을 쉽게 만든다
- 분류 문제가 생각보다 다양하고 복잡함을 알게 됨
아직 모호한 부분
- 각 알고리즘의 구체적인 동작 원리
- 언제 어떤 알고리즘을 선택해야 하는지
- 실제 데이터에서 전처리는 어떻게 해야 하는지
궁금증
- 불균형 데이터 문제는 어떻게 해결하는가?
- 모델 성능을 높이는 구체적인 방법은?
- MLOps에서 모델 관리는 어떻게 이루어지는가?
🎯 다음 단계 계획
단기 목표 (이번 주)
- 붓꽃 분류 예제 직접 구현해보기
- 주요 분류 알고리즘별 특징 정리하기
- 성능 평가 지표 실습해보기
중기 목표 (이번 달)
- 타이타닉 생존 예측 프로젝트 수행
- 각 알고리즘의 수학적 원리 이해
- 실제 데이터 전처리 경험 쌓기
장기 목표 (3개월 후)
- 캐글 대회 참여
- MLOps 파이프라인에 분류 모델 적용
- 실무 프로젝트 진행
🔗 참고 자료 및 메모
오늘 찾은 유용한 자료
- Scikit-learn 공식 문서 - 가장 기본적이고 신뢰할 수 있음
- Kaggle Learn - 실습 중심 학습
- Fast.ai - 실용적 접근법
실습 환경 설정
- Python 3.9+ 환경
- 필수 라이브러리: scikit-learn, pandas, numpy, matplotlib
- 개발 도구: Jupyter Notebook 또는 Google Colab
📝 자유로운 생각 정리
오늘 학습을 통해 머신러닝이 단순히 알고리즘을 돌리는 것이 아니라, 문제 정의 → 데이터 전처리 → 모델 선택 → 학습 → 평가 → 배포의 전체 과정임을 알게 되었다.
특히 MLOps 관점에서 보면, 모델 개발은 전체 파이프라인의 한 부분일 뿐이고, 실제 운영 환경에서는 모델 모니터링, 재학습, 버전 관리 등이 더 중요할 수 있다는 생각이 든다.
사이킷런의 일관된 API 구조는 정말 인상적이다. 알고리즘을 바꾸더라도 코드 구조는 동일하게 유지할 수 있어서, 실험과 비교가 쉬워진다. 이는 MLOps 파이프라인에서도 모델 교체와 A/B 테스트를 용이하게 할 것 같다.
🤔 내일 학습 계획
구체적인 실습 목표
- 붓꽃 데이터셋으로 첫 번째 분류 모델 만들어보기
- 로지스틱 회귀와 결정 트리 알고리즘 비교해보기
- 혼동 행렬과 분류 보고서 해석하기
이론 학습 목표
- 로지스틱 회귀의 수학적 원리 이해
- 결정 트리의 분할 기준 학습
- 교차 검증의 개념과 필요성 파악
이제 본격적으로 머신러닝 여정을 시작하는 기분이다! 🚀