013 setup() 고급 옵션 총정리
키워드: setup, 고급 옵션
개요
setup() 함수는 수십 개의 파라미터를 제공합니다. 이 글에서는 앞서 다룬 옵션들을 포함하여 자주 사용되는 고급 옵션들을 한눈에 정리합니다.
실습 환경
- Python 버전: 3.11 권장
- 필요 패키지:
pycaret[full]>=3.0
pip install pycaret[full]>=3.0
setup() 파라미터 총정리
필수 파라미터
| 파라미터 | 설명 | 기본값 |
|---|---|---|
data | 학습 데이터 (DataFrame) | 필수 |
target | 타겟 컬럼명 | 필수 |
데이터 분할
| 파라미터 | 설명 | 기본값 |
|---|---|---|
train_size | 학습 데이터 비율 | 0.7 |
test_data | 외부 테스트 데이터 | None |
fold | 교차 검증 폴드 수 | 10 |
fold_strategy | 폴드 전략 | 'stratifiedkfold' |
특성 타입
| 파라미터 | 설명 | 기본값 |
|---|---|---|
categorical_features | 범주형으로 처리할 컬럼 | 자동 감지 |
numeric_features | 수치형으로 처리할 컬럼 | 자동 감지 |
ordinal_features | 순서형 변수와 순서 | None |
date_features | 날짜 컬럼 | None |
ignore_features | 무시할 컬럼 | None |
결측치 처리
| 파라미터 | 설명 | 기본값 |
|---|---|---|
numeric_imputation | 수치형 결측치 처리 | 'mean' |
categorical_imputation | 범주형 결측치 처리 | 'mode' |
인코딩
| 파라미터 | 설명 | 기본값 |
|---|---|---|
max_encoding_ohe | One-Hot 인코딩 적용 기준 | 25 |
스케일링/변환
| 파라미터 | 설명 | 기본값 |
|---|---|---|
normalize | 스케일링 활성화 | False |
normalize_method | 스케일링 방법 | 'zscore' |
transformation | 특성 변환 | False |
transformation_method | 변환 방법 | 'yeo-johnson' |
transform_target | 타겟 변환 (회귀) | False |
특성 선택/엔지니어링
| 파라미터 | 설명 | 기본값 |
|---|---|---|
feature_selection | 특성 선택 활성화 | False |
n_features_to_select | 선택할 특성 비율 | 0.2 |
remove_multicollinearity | 다중공선성 제거 | False |
multicollinearity_threshold | 제거 기준 상관계수 | 0.9 |
pca | PCA 적용 | False |
pca_components | PCA 컴포넌트 수 | 0.99 |
불균형 데이터
| 파라미터 | 설명 | 기본값 |
|---|---|---|
fix_imbalance | 불균형 처리 | False |
fix_imbalance_method | 처리 방법 | 'SMOTE' |
기타
| 파라미터 | 설명 | 기본값 |
|---|---|---|
session_id | 랜덤 시드 | None |
verbose | 상세 출력 | True |
profile | 데이터 프로파일링 | False |
실전 예제: 종합 설정
from pycaret.classification import *
from pycaret.datasets import get_data
data = get_data('titanic')
clf = setup(
# 필수
data=data,
target='Survived',
# 무시할 컬럼
ignore_features=['PassengerId', 'Name', 'Ticket', 'Cabin'],
categorical_features=['Pclass'],
# 결측치
numeric_imputation='median',
categorical_imputation='mode',
# 스케일링
normalize=True,
normalize_method='zscore',
# 데이터 분할
train_size=0.8,
fold=5,
# 불균형 처리
fix_imbalance=True,
# 재현성
session_id=42,
verbose=False
)
정리
- setup()은 수십 개의 옵션으로 전처리 파이프라인을 구성
- 대부분 기본값이 합리적으로 설정되어 있음
- 필요에 따라 선택적으로 옵션 조정
session_id는 항상 설정하여 재현성 확보
다음 글 예고
다음 글에서는 PyCaret 기본 워크플로우 마스터하기를 다룹니다.
PyCaret 머신러닝 마스터 시리즈 #013