003 Jupyter Notebook에서 PyCaret 시작하기
키워드: Jupyter, 시작하기
개요
Jupyter Notebook은 데이터 과학과 머신러닝 작업에 가장 널리 사용되는 개발 환경입니다. 코드, 시각화, 설명을 한 곳에서 작성하고 실행할 수 있어 PyCaret과 궁합이 잘 맞습니다. 이 글에서는 Jupyter Notebook에서 PyCaret을 효과적으로 사용하는 방법을 알아보겠습니다.
실습 환경
- Python 버전: 3.11 권장
- Python 3.11은 2027년 말까지 지원되며, PyCaret 호환 최신 버전입니다.
- 필요 패키지:
pycaret[full]>=3.0, pandas, matplotlib
pip install pycaret[full]>=3.0 pandas matplotlib
⚠️ Google Colab 사용 불가 Google Colab은 2025년 8월부터 Python 3.12만 지원하여 PyCaret(3.8~3.11) 실습이 불가능합니다. 로컬 환경이나 Docker를 사용해 주세요.
Jupyter Notebook 설치 및 실행
설치
가상환경이 활성화된 상태에서 Jupyter를 설치합니다:
pip install jupyter notebook
실행
jupyter notebook
브라우저가 자동으로 열리며 Jupyter 대시보드가 표시됩니다. 기본 주소는 http://localhost:8888입니다.
새 노트북 생성
- 우측 상단 New 버튼 클릭
- Python 3 선택
- 새 노트북이 열립니다
PyCaret 기본 워크플로우
Jupyter에서 PyCaret을 사용하는 기본 흐름을 단계별로 살펴보겠습니다.
1단계: 라이브러리 임포트
# 003 첫 번째 셀
# 003 분류 문제의 경우
from pycaret.classification import *
# 003 회귀 문제의 경우 (대신 사용)
# 003 from pycaret.regression import *
import pandas as pd
import warnings
warnings.filterwarnings('ignore')
2단계: 데이터 로드
PyCaret은 학습용 내장 데이터세트를 제공합니다:
# 003 두 번째 셀
# 003 내장 데이터세트 목록 확인
from pycaret.datasets import get_data
# 003 사용 가능한 데이터세트 목록
get_data('index')
주요 내장 데이터세트:
| 데이터세트 | 유형 | 설명 |
|---|---|---|
iris | 분류 | 붓꽃 품종 분류 |
titanic | 분류 | 타이타닉 생존 예측 |
diabetes | 분류 | 당뇨병 예측 |
boston | 회귀 | 보스턴 주택 가격 |
insurance | 회귀 | 보험료 예측 |
# 003 세 번째 셀
# 003 타이타닉 데이터 로드
data = get_data('titanic')
출력:
PassengerId Survived Pclass ... Fare Cabin Embarked
0 1 0 3 ... 7.2500 NaN S
1 2 1 1 ... 71.2833 C85 C
2 3 1 3 ... 7.9250 NaN S
...
3단계: 환경 설정 (setup)
setup() 함수는 PyCaret의 핵심입니다. 데이터 전처리와 실험 환경을 자동으로 설정합니다:
# 003 네 번째 셀
clf = setup(
data=data, # 데이터프레임
target='Survived', # 예측할 타겟 컬럼
session_id=42 # 재현성을 위한 랜덤 시드
)
setup() 실행 시 PyCaret이 자동으로 수행하는 작업:
- 특성 유형 자동 감지 (숫자형, 범주형)
- 결측치 처리
- 범주형 변수 인코딩
- 학습/테스트 데이터 분할 (기본 70:30)
4단계: 모델 비교
# 003 다섯 번째 셀
# 003 여러 모델 한 번에 비교
best_model = compare_models()
출력 예시:
| Model | Accuracy | AUC | Recall | Prec. | F1 | Kappa |
|---|---|---|---|---|---|---|
| Gradient Boosting | 0.8315 | 0.8724 | 0.7143 | 0.8108 | 0.7595 | 0.6373 |
| Random Forest | 0.8249 | 0.8643 | 0.6883 | 0.8108 | 0.7447 | 0.6195 |
| Light GBM | 0.8183 | 0.8592 | 0.6753 | 0.8000 | 0.7324 | 0.6038 |
| ... | ... | ... | ... | ... | ... | ... |
compare_models()는 15개 이상의 알고리즘을 자동으로 학습하고 비교합니다!
5단계: 모델 생성 및 튜닝
# 003 여섯 번째 셀
# 003 특정 모델 생성
rf = create_model('rf') # Random Forest
# 003 하이퍼파라미터 튜닝
tuned_rf = tune_model(rf)
6단계: 모델 시각화
# 003 일곱 번째 셀
# 003 다양한 시각화
plot_model(tuned_rf, plot='confusion_matrix') # 혼동 행렬
plot_model(tuned_rf, plot='auc') # ROC 곡선
plot_model(tuned_rf, plot='feature') # 특성 중요도
7단계: 예측
# 003 여덟 번째 셀
# 003 테스트 데이터에 예측
predictions = predict_model(tuned_rf)
print(predictions.head())
8단계: 모델 저장
# 003 아홉 번째 셀
# 003 모델 저장
save_model(tuned_rf, 'my_first_model')
# 003 나중에 불러오기
# 003 loaded_model = load_model('my_first_model')
Jupyter에서 유용한 팁
1. 대화형 출력 활용
PyCaret은 Jupyter의 대화형 기능을 적극 활용합니다. 테이블과 그래프가 셀 바로 아래에 표시됩니다.
2. 진행 상황 표시
compare_models() 등의 함수 실행 시 진행률 바가 표시됩니다:
Processing: |████████████████████████████████| 100%
3. HTML 리포트
# 003 실험 결과를 HTML로 저장
# 003 setup() 후에 실행
from pycaret.classification import pull
# 003 마지막 실행 결과 가져오기
results = pull()
results.to_html('experiment_results.html')
4. 노트북 자동 저장 설정
Jupyter 설정에서 자동 저장 간격을 조절할 수 있습니다:
%autosave 60 # 60초마다 자동 저장
5. 메모리 관리
대용량 데이터 작업 시 메모리 관리가 중요합니다:
import gc
# 003 불필요한 변수 삭제 후 가비지 컬렉션
del large_dataframe
gc.collect()
완전한 예제: 타이타닉 생존 예측
# 003 전체 워크플로우를 하나의 예제로
# 1. 임포트
from pycaret.classification import *
import pandas as pd
# 2. 데이터 로드
data = get_data('titanic')
# 3. 환경 설정
clf = setup(data, target='Survived', session_id=42)
# 4. 모델 비교 (상위 3개만)
top3 = compare_models(n_select=3)
# 5. 최고 모델 튜닝
tuned = tune_model(top3[0])
# 6. 앙상블
blended = blend_models(top3)
# 7. 최종 모델 확정
final = finalize_model(blended)
# 8. 저장
save_model(final, 'titanic_survival_model')
print("완료!")
정리
- Jupyter Notebook은 PyCaret과 함께 사용하기 좋은 환경입니다.
- PyCaret 기본 워크플로우:
setup()→compare_models()→tune_model()→predict_model()→save_model() - 한 줄의 코드로 여러 모델을 비교할 수 있습니다.
- 대화형 시각화와 테이블로 결과를 쉽게 확인할 수 있습니다.
- 실험 결과를 저장하고 재현할 수 있습니다.
다음 글 예고
다음 글에서는 PyCaret 지원 모듈 총정리에 대해 알아보겠습니다. 분류, 회귀, 클러스터링, 이상치 탐지, 시계열 등 각 모듈의 특징과 사용 상황을 자세히 다룹니다.
PyCaret 머신러닝 마스터 시리즈 #003