Skip to main content

AutoGluon

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

다음 문서