
▪ AutoGluon은 AWS에서 개발한 파이썬 기반의 AutoML 라이브러리로, 딥러닝 모델까지 자동으로 학습하고 튜닝할 수 있음
▪ 데이터 전처리, 피처 엔지니어링, 하이퍼파라미터 최적화, 앙상블 학습 등의 복잡한 작업을 자동으로 수행하며, 다양한 데이터 유형을 지원
→ 특히, 모델 성능을 최적화하기 위해 다양한 모델을 시도하고, 최적의 모델을 선택하거나 여러 모델을 결합하여 최상의 예측 성능을 제공
▪ 최신 모델까지 반영된 종합 모델 학습 API를 'Task'별로 제공하여 사용자가 간단한 코드만으로 복수의 모델을 학습할 수 있음
→ autogluon.tabular.TabularPredictor : Tabular Dataset에 대한 예측 API
→ autogluon.multimodal.MultiModalPredictor : MultiModal 예측 API
→ autogluon.timeseries.TimeSeriesPredictor : 시계열 데이터셋 예측 API
▪ 학습이 완료된 후 각 모델별로 train set과 test set에 대한 running time, accuracy등의 정보를 비교확인 할 수 있음
▪ AWS의 QuickSight를 연동할 경우 분석결과를 시각적으로 표현할 수 있음
▪ 학습이 중단된 경우에도 다시 학습을 재개할 수 있는 기능 제공
pip install autogluon
▪ TabularDataset
→ Tabular 데이터 (행과 열로 이루어진 표 형식의 데이터)처리하는 클래스
→ pandas DataFrame의 서브클래스이며, pandas의 모든 기능을 사용할 수 있음
▪ TabularPredictor
→ Tabular 데이터를 기반으로 예측 모델을 생성하고, 학습시켜며, 예측을 수행하는 데 사용
from autogluon.tabular import TabularDataset, TabularPredictor
▪ TabularDataset()을 사용하여 Train, Test 데이터를 준비
▪ TabularPredictor()를 사용하여 예측기를 생성하고, fit() 함수를 사용하여 데이터를 학습시킴
✍ TabularPredictor() 파라미터
▪ label : 학습할 데이터셋에서 target column을 정의
▪ eval_metric : loss function을 정의하며, 사용자가 직접 정의하지 않을 경우, 적절한 loss func을 내부에서 자동 설정
→ 기본값(None) : 이진 및 다중 클래스 분류의 경우 'accuracy', 회귀의 경우 'root_mean_squared_error'
▪ time_limit : 전체 모델을 학습할때 한계 학습시간을 설정
→ 단일 모델에 대한 limit가 아니고, 전체 학습시간에 대한 limit
→ 만약 time_limit를 초과할 경우, 현재 학습된 모델에서 학습을 멈추며, 학습된 모델 중 Best model을 선택
→ 학습데이터가 클 경우, 불과 몇개 모델만 학습될 수 있으며, 이를 방지하기 위해서는 time_limit를 크게 설정하거나, 데이터셋의 크기를 줄이는 방법이 있음
✍ presets
▪ 추론 정도 설정
① medium_quality(기본값):
→ 모델 품질: 다른 AutoML 프레임워크와 경쟁할 수 있는 수준의 성능
② good_quality:
→ 모델 품질: 다른 AutoML 프레임워크보다 더 강력함
→ 사용 사례: 고성능, 휴대성, 매우 빠른 추론이 필요한 경우(예: 대규모 배치 추론, 실시간 추론)
③ high_quality:
→ 모델 품질:good_quality보다 더 나음
→ 사용 사례: 매우 강력하고, 빠른 추론이 필요한 경우(예: 대규모 배치 추론)
④ best_quality:
→ 모델 품질: 최첨단(State-of-the-Art) 성능,high_quality보다 훨씬 더 나음
→ 사용 사례: 정확도가 가장 중요한 경우
▪ evaluate()와 predict() 함수를 사용하여 모델을 평가하고 예측을 수행
▪ save()와 load() 함수를 사용하여 모델을 저장하고 불러옴