미프 연속 2주째.. 세미 빅프를 하는 느낌이다. 그리고 담주도 미프!
무려 3주간의 미프!
계속된 미니 프로젝트라 새로 알게되는 것 보다 복습할 게 더 많을 것이라 생각했지만, 정말 하면 할수록 더 새로운 인공지능 세계이다.
새로 배우는 모델들이 너무많아욧
일단 이번 프로젝트를 소개한 뒤, 새로 알게된 것들을 적어 볼 예정이다~
변수 중요도에 집중하여 분석을 진행하였다.
이번 데이터는 563개의 매~우 많은 컬럼이 존재한다.
따라서 이를 분석하고, 중요도가 낮은 데이터는 제거하는 것이 추후 분류 성능에 영향을 미칠 수 있었다.
본 프로젝트는 이진 분류가 아닌 다중 분류로, 6개의 클래스를 나누어 분류가 진행되어야 했다. 때문에 각 클래스의 분포가 치우쳐있지 않고 고른지 확인해야 했다.
적당히 고르다!
이번 프로젝트엔 큰 분류의 라벨링 처리가 된 데이터와 세부적으로 라벨링된 데이터를 따로 받았다. 그 중 1차로 받은 큰 분류 라벨링 데이터는 다음과 같이 전처리하였다.
2번째로 받은 데이터는 세부적인 라벨링이 완료된 데이터셋이었다.
✔️ 결측치도 없었고
✔️ 타겟 데이터도 분포도 일정한 편이었다.
그래서 따로 전처리가 크게 필요치 않았다! 오!예!
오예가 아니였다. 데이터 전처리를 해줄게 별로 없으니 성능을 높일 수 있는 방법이 모델링뿐!!!!!😭😭😭😭😭😭
💡 이 중 가장 높은 성능을 보인 모델은 XGBoost였다! 채택!
그 결과, randomforest, xgboost, softmax를 앙상블한 모델의 성능이 가장 높았으나, 하이퍼파라미터 튜닝된 성능보다 낮았다.
세상에 이 좋은게있다니
나만 모내기 손으로하고 다른분들은 기계로했던거야~ 기절
: AutoKeras, TPOT, H2O.ai
(1) AutoKeras : 케라스를 기반으로 한 오픈 소스 AutoML 라이브러리
🔻 AutoKeras를 사용한 MNIST 이미지 분류 모델 생성 코드
import autokeras as ak
from tensorflow.keras.datasets import mnist
(x_train, y_train), (x_test, y_test) = mnist.load_data()
clf = ak.ImageClassifier(max_trials=10)
clf.fit(x_train, y_train)
results = clf.predict(x_test)
(2) TPOT : 파이썬 기반 오픈소스 automl
from tpot import TPOTClassifier
(3) H2O.ai : 머신러닝을 위한 오픈소스 automl
import h2o
from h2o.automl import H2OAutoML
Amazon Web Services (AWS) (회사명)
: SageMaker AutoPilot(서비스명) 제공
Google Cloud
: Cloud AutoML 제공
Microsoft Azure
: Azure AutoML 제공
해당 사이트: https://wandb.ai/site
실험 로깅
: 실험의 하이퍼파라미터, 코드 버전, 데이터, 모델 아키텍처, 로그 및 메트릭을 자동으로 로깅하고 추적
시각화
: 모델 성능, 하이퍼파라미터 및 실험 로그를 시각적으로 표시하여 개발자가 실험 결과를 더 쉽게 이해하고 분석할 수 있도록 도움
협업
: 여러 사용자와 프로젝트에 대한 협업 가능(실험 로그 및 결과를 공유하고 논의)
모델 탐색
: 하이퍼파라미터를 조정하거나 다른 모델 아키텍처를 시도하여 최적의 모델 탐색
🔻 일부 사용 화면(wandb의 docs - tutorial을 통해 더 자세히 확인 가능)
.
.
.
무슨 영업글같다.
모델 선택: 각 데이터셋에 적합한 최상의 모델을 선택
하이퍼파라미터 튜닝: 선택된 모델의 하이퍼파라미터를 자동으로 튜닝
모델 앙상블: 여러 모델의 예측 결과를 결합하여 더 강력한 앙상블 모델 생성
변수 중요도: 모델을 학습하는 동안 각 매개 변수의 중요도를 추정하여 사용자의 모델 이해에 도움
자동 특성 엔지니어링: 머신러닝 모델을 위해 새로운 특성을 자동으로 생성
AutoML, WandB, AutoGluon 공통점과 차이점을 통해 최종정리!
📍 AutoML : 모델 선택, 하이퍼파라미터 튜닝 자동화
📍 WandB : 머신러닝 실험 관리, 시각화
📍 AutoGluon : 머신러닝 모델을 자동으로 튜닝
다음 기회엔. 꼭 자동화도구를.꼭. 사용해야지
아 맞다 근데 당연한 말이지만 이렇게 많은 기능을 제공하는 만큼,
결과 도출에 시간이 오래걸린다고 한다.
그래서
💡 자동화 도구 최대한 초반에 사용하기
💡 빠르게 전처리로 돌아가기
잊지말자~~~ ~~