2025-01-27 - 사이킷런 소개와 머신러닝 분류 예측 모델 개요

📅 오늘의 학습 목표

  • 사이킷런 라이브러리 이해하기
  • 머신러닝 분류 예측 모델 개념 파악하기
  • MLOps 학습을 위한 머신러닝 기초 다지기

🔍 주요 학습 내용

사이킷런(Scikit-learn) 핵심 정리

  • 가장 인상 깊었던 점: 사이킷런이 단순히 라이브러리가 아니라 전체 머신러닝 생태계의 중심이라는 것
  • 특징: 일관된 API 구조로 다양한 알고리즘을 동일한 방식으로 사용 가능
  • 왜 중요한가: MLOps 파이프라인 구축 시 모델 개발 단계에서 핵심 역할

분류 vs 회귀 개념 정리

분류(Classification)
- 카테고리 예측 (이산적)
- 예: 스팸/햄, 개/고양이
- 평가: 정확도, 정밀도, 재현율

회귀(Regression)
- 수치 예측 (연속적)
- 예: 가격, 온도, 확률
- 평가: MSE, MAE, R²

분류 문제 유형별 이해

  1. 이진 분류: 가장 기본적인 형태, 이해하기 쉬움
  2. 다중 클래스: 실제 현실 문제에서 가장 많이 봄
  3. 다중 레이블: 복잡하지만 실무에서 유용할 것 같음
  4. 불균형 분류: 실제 데이터에서 자주 마주칠 문제

💡 개인적인 깨달음

이해한 것들

  • 사이킷런이 NumPy, SciPy, matplotlib 위에 구축되어 있다는 것이 흥미로움
  • 일관된 API 구조(.fit(), .predict(), .score())가 학습을 쉽게 만든다
  • 분류 문제가 생각보다 다양하고 복잡함을 알게 됨

아직 모호한 부분

  • 각 알고리즘의 구체적인 동작 원리
  • 언제 어떤 알고리즘을 선택해야 하는지
  • 실제 데이터에서 전처리는 어떻게 해야 하는지

궁금증

  • 불균형 데이터 문제는 어떻게 해결하는가?
  • 모델 성능을 높이는 구체적인 방법은?
  • MLOps에서 모델 관리는 어떻게 이루어지는가?

🎯 다음 단계 계획

단기 목표 (이번 주)

  • 붓꽃 분류 예제 직접 구현해보기
  • 주요 분류 알고리즘별 특징 정리하기
  • 성능 평가 지표 실습해보기

중기 목표 (이번 달)

  • 타이타닉 생존 예측 프로젝트 수행
  • 각 알고리즘의 수학적 원리 이해
  • 실제 데이터 전처리 경험 쌓기

장기 목표 (3개월 후)

  • 캐글 대회 참여
  • MLOps 파이프라인에 분류 모델 적용
  • 실무 프로젝트 진행

🔗 참고 자료 및 메모

오늘 찾은 유용한 자료

실습 환경 설정

  • Python 3.9+ 환경
  • 필수 라이브러리: scikit-learn, pandas, numpy, matplotlib
  • 개발 도구: Jupyter Notebook 또는 Google Colab

📝 자유로운 생각 정리

오늘 학습을 통해 머신러닝이 단순히 알고리즘을 돌리는 것이 아니라, 문제 정의 → 데이터 전처리 → 모델 선택 → 학습 → 평가 → 배포의 전체 과정임을 알게 되었다.

특히 MLOps 관점에서 보면, 모델 개발은 전체 파이프라인의 한 부분일 뿐이고, 실제 운영 환경에서는 모델 모니터링, 재학습, 버전 관리 등이 더 중요할 수 있다는 생각이 든다.

사이킷런의 일관된 API 구조는 정말 인상적이다. 알고리즘을 바꾸더라도 코드 구조는 동일하게 유지할 수 있어서, 실험과 비교가 쉬워진다. 이는 MLOps 파이프라인에서도 모델 교체와 A/B 테스트를 용이하게 할 것 같다.

🤔 내일 학습 계획

구체적인 실습 목표

  1. 붓꽃 데이터셋으로 첫 번째 분류 모델 만들어보기
  2. 로지스틱 회귀와 결정 트리 알고리즘 비교해보기
  3. 혼동 행렬과 분류 보고서 해석하기

이론 학습 목표

  1. 로지스틱 회귀의 수학적 원리 이해
  2. 결정 트리의 분할 기준 학습
  3. 교차 검증의 개념과 필요성 파악

이제 본격적으로 머신러닝 여정을 시작하는 기분이다! 🚀