10개의 Jupyter Notebook에서 고전 지도 분류의 폭넓은 기초를 익힙니다. 주요 알고리즘의 결정 원리를 배우고, 일부 핵심 메커니즘을 Python으로 구현하며, scikit-learn 모델과 시각화를 만들고 교차 검증으로 분류기를 비교합니다.
로지스틱 회귀의 sigmoid와 log loss, KNN의 거리와 투표, Naive Bayes의 확률, SVM의 margin과 kernel, 트리의 정보 이득, 신경망의 역전파, 앙상블의 모델 결합을 코드와 연결합니다. Gaussian 분포, 숫자 인식, 모델 선택 코드 과제도 포함됩니다.
학습 내용
- Sigmoid, log loss, 경사 하강법, scikit-learn으로 로지스틱 회귀 유도 및 구현하기
- 거리 계산과 투표로 KNN을 만들고 K 선택과 kd-tree 살펴보기
- Bayes 정리, 모수 추정, Multinomial Naive Bayes, Gaussian 분포 적용하기
- 선형 및 비선형 SVM과 일반적인 kernel 함수 비교하기
- 퍼셉트론과 역전파를 구현하고
MLPClassifier로 숫자 분류하기 - 정보 이득, 가지치기, scikit-learn으로 의사 결정 트리 만들기
- Bagging, Random Forest, AdaBoost, Gradient Boosting 분류기 학습하기
- Abalone 데이터를 전처리하고 10겹 교차 검증으로 7개 분류기 비교하기
추천 대상
Python을 알고 하나의 estimator 호출을 넘어 다양한 고전 분류 방법을 이해하려는 학습자를 위한 과정입니다. 입문 머신 러닝에서 알고리즘 비교와 모델 선택으로 나아갈 때 적합합니다. Notebook은 초급으로 표시되지만 수학적 유도와 직접 구현이 있어 프로그래밍이나 기초 대수 완전 초보자에게는 맞지 않습니다.
선수 지식: Python, NumPy, Pandas, 플로팅, 기초 대수를 권장합니다. 확률, 미분, train/test 분할, 특징과 레이블 개념도 도움이 됩니다.
학습 환경: 10개 활동 모두 제공되는 Ubuntu 22.04 Jupyter 환경에서 실행됩니다. 설명, 시각화, scikit-learn 예제, 데이터, 완성할 코드가 포함됩니다.
자주 묻는 질문
알고리즘을 처음부터 구현하나요, scikit-learn을 사용하나요?
둘 다 합니다. 여러 Notebook에서 로지스틱 경사 하강, KNN 거리와 투표, 퍼셉트론 업데이트, 트리 분할을 코딩한 후 실용적인 학습과 비교에 estimator를 사용합니다.
어떤 분류기를 다루나요?
로지스틱 회귀, KNN, Naive Bayes, 선형 및 kernel SVM, 퍼셉트론과 MLP, 트리, Bagging, Random Forest, AdaBoost, Gradient Boosting을 다룹니다.
모델 평가와 선택도 배우나요?
네. 개별 랩에서 정확도를 계산하고 마지막 Notebook에서 Abalone 데이터를 전처리해 기본 설정의 7개 계열을 10겹 교차 검증으로 비교합니다.
예제를 현재 scikit-learn 프로젝트에 바로 복사할 수 있나요?
준비된 환경은 Notebook을 지원하지만 일부 예제는 이전 import나 생성자 형식을 사용합니다. 최신 로컬 설치에서는 현재 API를 확인하고 더 이상 권장되지 않는 이름이나 인수를 수정하세요.





