학습 목표
- Auto-sklearn을 설치하고 기본 분류/회귀 작업에 사용할 수 있습니다.
- 시간 및 메모리 제약을 설정할 수 있습니다.
- 메타 학습과 앙상블 구성의 원리를 이해합니다.
Auto-sklearn 실습
import autosklearn.classification
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
X, y = load_iris(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(
X, y, test_size=0.2, random_state=42
)
# AutoML 분류기 생성 (5분 제한)
automl = autosklearn.classification.AutoSklearnClassifier(
time_left_for_this_task=300, # 전체 시간 (초)
per_run_time_limit=30, # 개별 모델당 시간 (초)
n_jobs=-1,
seed=42,
)
# 학습 (내부적으로 여러 알고리즘과 파라미터를 자동 탐색)
automl.fit(X_train, y_train)
# 예측 및 평가
y_pred = automl.predict(X_test)
print(f"정확도: {accuracy_score(y_test, y_pred):.4f}")
# 선택된 모델 확인
print(automl.leaderboard())
# 최종 앙상블 구성 확인
print(automl.show_models())
import autosklearn.regression
from sklearn.datasets import fetch_california_housing
X, y = fetch_california_housing(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(
X, y, test_size=0.2, random_state=42
)
automl_reg = autosklearn.regression.AutoSklearnRegressor(
time_left_for_this_task=300,
per_run_time_limit=30,
metric=autosklearn.metrics.r2,
seed=42,
)
automl_reg.fit(X_train, y_train)
print(f"R² 점수: {automl_reg.score(X_test, y_test):.4f}")
Q: Auto-sklearn은 어떤 알고리즘을 탐색하나요?
Q: Auto-sklearn은 어떤 알고리즘을 탐색하나요?
scikit-learn에 포함된 대부분의 분류/회귀 알고리즘을 탐색합니다. 랜덤 포레스트, AdaBoost, SVM, KNN, 그래디언트 부스팅 등 15개 이상의 알고리즘과 다양한 전처리 방법의 조합을 시도합니다.
Q: Auto-sklearn의 메타 학습이란 무엇인가요?
Q: Auto-sklearn의 메타 학습이란 무엇인가요?
수백 개의 공개 데이터셋에서 사전에 학습된 정보를 활용하여, 새 데이터셋에서 유망한 알고리즘/파라미터 조합을 우선 탐색하는 기법입니다. 이를 통해 무작위 탐색보다 훨씬 빠르게 좋은 모델을 찾습니다.
체크리스트
- Auto-sklearn으로 분류/회귀 작업을 수행할 수 있다
- 시간 및 메모리 제약을 설정할 수 있다
- 메타 학습의 역할을 설명할 수 있다
다음 문서
AutoGluon
스택 앙상블 기반 AutoML을 학습합니다.
FLAML
경량 AutoML 도구를 학습합니다.
언제 쓰나
현재 문제의 목표 지표와 데이터 특성을 먼저 확인한 뒤 적용합니다. 작은 실험셋으로 빠르게 기준 성능을 확인한 뒤, 필요하면 더 복잡한 모델로 확장합니다.실무 적용 체크리스트
- 데이터 누수 가능성을 먼저 점검했습니다.
- 학습/검증/테스트 분할 기준을 고정했습니다.
- 핵심 지표(예: F1, RMSE, AUC)를 명시했습니다.
- 베이스라인 대비 개선폭과 비용 변화를 함께 기록했습니다.
자주 나는 실수
- 데이터 분할 전에 전처리를 수행해 데이터 누수가 발생합니다.
- 단일 지표만 보고 모델을 선택해 운영 성능이 불안정해집니다.
- 하이퍼파라미터를 과도하게 조정해 검증셋 과적합이 생깁니다.

