Skip to main content
AutoGluon은 AWS에서 개발한 AutoML 프레임워크로, 다층 스택 앙상블을 자동 구성하여 정형 데이터에서 최고 수준의 성능을 달성합니다.

학습 목표

  • AutoGluon TabularPredictor를 사용하여 분류/회귀 작업을 수행할 수 있습니다.
  • 품질 프리셋(preset)과 시간 제약을 설정할 수 있습니다.
  • 스택 앙상블 전략의 원리를 이해합니다.

AutoGluon 실습

1
설치 및 기본 사용
2
pip install autogluon
3
from autogluon.tabular import TabularPredictor
import pandas as pd

# 데이터 로드 (pandas DataFrame 필요)
train_data = pd.read_csv("data/train.csv")
test_data = pd.read_csv("data/test.csv")

# AutoGluon 학습 (타겟 열 이름만 지정)
predictor = TabularPredictor(
    label="target",           # 타겟 열 이름
    eval_metric="accuracy",   # 평가 지표
    path="autogluon_models/"  # 모델 저장 경로
)

predictor.fit(
    train_data,
    time_limit=300,           # 5분 제한
    presets="best_quality"    # 최고 품질 (시간 소요 큼)
)

# 예측 및 평가
predictions = predictor.predict(test_data)
performance = predictor.evaluate(test_data)
print(f"테스트 성능: {performance}")

# 리더보드 확인
leaderboard = predictor.leaderboard(test_data)
print(leaderboard)
4
프리셋 비교
5
# 빠른 탐색
predictor_fast = TabularPredictor(label="target")
predictor_fast.fit(train_data, presets="medium_quality", time_limit=60)

# 최고 품질 (시간 더 소요)
predictor_best = TabularPredictor(label="target")
predictor_best.fit(train_data, presets="best_quality", time_limit=600)
6
프리셋모델 수스태킹속도용도medium_quality적음없음빠름빠른 프로토타입good_quality중간없음보통일반 사용high_quality많음1단느림높은 성능best_quality최대다단매우 느림대회/최고 성능
7
특성 중요도 확인
8
importance = predictor.feature_importance(test_data)
print(importance)
여러 모델(LightGBM, CatBoost, 신경망 등)의 예측을 입력으로 받아 메타 모델이 최종 예측을 수행하는 구조입니다. 다층 스태킹은 이 과정을 여러 번 반복하여 더 높은 성능을 달성합니다.
정형 데이터의 경우 CPU만으로 충분합니다. 내장 신경망 모델에 GPU를 사용하면 약간 더 빠르지만, LightGBM/CatBoost 등 트리 기반 모델이 성능의 대부분을 차지합니다.

체크리스트

  • TabularPredictor로 분류/회귀 작업을 수행할 수 있다
  • 프리셋과 시간 제약을 설정할 수 있다
  • 리더보드를 해석하고 최적 모델을 식별할 수 있다

다음 문서

FLAML

경량 AutoML 도구를 학습합니다.

Optuna

유연한 하이퍼파라미터 최적화를 학습합니다.

언제 쓰나

현재 문제의 목표 지표와 데이터 특성을 먼저 확인한 뒤 적용합니다. 작은 실험셋으로 빠르게 기준 성능을 확인한 뒤, 필요하면 더 복잡한 모델로 확장합니다.

실무 적용 체크리스트

  • 데이터 누수 가능성을 먼저 점검했습니다.
  • 학습/검증/테스트 분할 기준을 고정했습니다.
  • 핵심 지표(예: F1, RMSE, AUC)를 명시했습니다.
  • 베이스라인 대비 개선폭과 비용 변화를 함께 기록했습니다.

자주 나는 실수

  1. 데이터 분할 전에 전처리를 수행해 데이터 누수가 발생합니다.
  2. 단일 지표만 보고 모델을 선택해 운영 성능이 불안정해집니다.
  3. 하이퍼파라미터를 과도하게 조정해 검증셋 과적합이 생깁니다.