brunch

You can make anything
by writing

C.S.Lewis

by hansung dev Aug 13. 2021

캐글, AutoML로 결과 제출

Tabular Playground Series - Aug 2021

월간 데이터 분석은? 

매월 진행 중 데이터 분석 대회 및 특징에 대해 알아봅니다. 대회에 참여하여 베이스라인 코드를 작성하고 탐색적 데이터 분석(EDA)를 통해 데이터에 대한 이해도를 높입니다. 모델 학습과 예측을 통해 대회 결과 제출까지 경험합니다. 잘 기록하고 공유하여 모두가 성장했으면 합니다.


노션 진행중 대회 링크 : https://hansungdev.notion.site/c1ad2b6e30a6437f9670ad71f85b25d1


Tabular Playground Series - Aug 2021

2021년 1월 부터 머신러닝 역량 향상을 위해 정형데이터 예측 대회가 개최되고 있습니다. 매월 1일에 시작하여 말일에 종료되는 대회 입니다. 8월 대회에 참여해보고 경험한 내용을 공유 합니다.


문제

대출 채무 불이행 피처를 기반으로 손실을 예측하는 회귀 문제 입니다.


데이터

데이터는 CTGAN으로 생성된 가상 데이터셋 입니다. f0 부터 f99까지의 피처와 loss 라벨(정답)로 구성된 정형데이터 입니다. 데이터 용량은 총 321MB입니다. 훈련 데이터셋은 200MB 이며 테스트 데이터셋은 120MB입니다. 데이터의 상위 5줄을 출력해보면 아래와 같습니다.


평가

평가 방법은 RMSE이며 지도학습의 회귀 문제입니다. 

상위 3팀을 시상하며 상품은 캐글 기념품입니다. (받고싶당)


Getting Started

대회에 참가 신청을 하고 문제 정의 및 데이터를 살펴봅니다. 평가 방식을 확인합니다. 대회에 대한 전반적인 부분에 이해가 되었다면 Code에 공유된 EDA 및 베이스라인 코드를 참고 하여 결과를 제출해봅니다. Code에서 "beginner", "starter", "baseline" 키워드 검색을 통해 베이스라인 및 시작하시는 분들에게 필요한 Code를 찾을수 있습니다.



저는 AutoML로 공유된 코드가 다수 있는것을 확인하고, 다양한 AutoML에 대해서 알아보고 베이스라인 코드를 작성 후 제출하면 재미있겠다 생각했습니다. 이미 beginner 코드를 공유 해주신 분도 있었습니다. 5가지를 정리해주셨는데요. Code에 공유된 AutoML은 총 8가지로 확인했으며 하나 하나 알아보도록 하겠습니다.

출처 : https://www.kaggle.com/rohanrao/automl-tutorial-tps-august-2021

AutoML

TPS-Aug-2021(=Tabular Playground Series - Aug 2021)의 Code에서 사용된 AutoML은 8가지 입니다. 베이스라인 코드를 모두 실행 후 점수 및 학습 시간을 업데이트 할려고 했으나 학습시간이 오래 걸려서 이러다 대회가 종료될것 같아 우선 글 부터 올립니다. ㅡㅡ;;;

LightAutoML (=LAMA)

LightAutoML(이후 LAMA)는 Code에서 가장 많이 사용된 AutoML 입니다. (LAMA 이미지 귀엽네요) 

LAMA 버전은 0.2.1 버전이며 릴리즈는 2020년12월이었네요. GitHub의 기여자(contributors)는 10명이네요. 현재 풀수 있는 문제는 이진 분류 및 다중클래스 분류, 회귀 문제를 풀수 있습니다. 그럼 코드를 살펴보겠습니다.

pip로 설치 후 아래와 같이 간단한 코드로 결과를 예측할수 있습니다.

출처 : https://www.kaggle.com/rohanrao/automl-tutorial-tps-august-2021



H2o AutoML

H2o AutoML도 LAMA 이후로 두번째로 많이 보였던 AutoML코드 였습니다. AutoML 외에도 머신러닝 전반의 파이프라인을 제공하고 있습니다. 관심 있으신분들은 공식홈페이지를 살펴보면 좋을것 같습니다. 코드를 살펴보도록 하겠습니다.

출처 : https://www.kaggle.com/rohanrao/automl-tutorial-tps-august-2021

PyCaret

출처 : https://pycaret.org/

PyCaret 는 데이콘 등 대회에서 AutoML로 자주 등장하는 라이브러리 입니다. 다양한 모델 예측 및 하이퍼파라미터 튜닝, SHAP등을 이용한 시각화 등을 제공하고 있습니다. 한번 사용해보시길 권한 드립니다코드를 살펴보겠습니다.

출처 : https://www.kaggle.com/ranjeetshrivastav/tps-aug-21-pycaret

AutoGluon

AutoGluon, 코드를 살펴보겠스니다.

출처 : https://www.kaggle.com/rohanrao/automl-tutorial-tps-august-2021

FLAML

FRAML은 Microsoft에서 제공하는 빠르고 가벼운 자동 라이브러리입니다. 코드를 살펴보겠습니다.

출처 : https://www.kaggle.com/rohanrao/automl-tutorial-tps-august-2021

MLJAR

MLJAR은 표 형식의 데이터를 위한 자동화된 기계 학습 도구입니다. 코드를 살펴보겠습니다.

출처 : https://www.kaggle.com/rohanrao/automl-tutorial-tps-august-2021



AutoKeras

autokeras는 Keras를 기반으로 하는 AutoML 시스템입니다. 텍사스 A&M대 DATA Lab에서 개발을 했습니다. AutoKeras의 목표는 모든 사람이 기계 학습을 이용할 수 있도록 하는 것입니다. 코드를 살펴보겠습니다.

출처 : https://www.kaggle.com/srjchauhan/tps-08-eda-autokeras-neural-network

AutoX

코드를 살펴보겠습니다.

출처 : https://www.kaggle.com/poteman/autox-welcome-to-star-and-fork

마치며

TPS-Aug-2021에서 코드 공유된 AutoML 종류 및 코드들을 빠르게 살펴보았습니다. 시간이 더 있었으면 하나 하나 실행하면서 학습 시간 및 제출 스코어 그리고 AutoML의 장단점을 비교했으면 했는데요. 시간이 너무 많이 소요되어 다음 게시글에 캐글 노트북을 작성하여 제출한 결과를 공유 드리도록 하겠습니다. (할수있겠죠! ㅎㅎ)

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari