MachineLearning

AutoML : Pycaret

코딩초보ran 2022. 12. 22. 22:00

AutoML

: Automated Machine Learning, 자동화된 머신러닝

: 데이터 전처리, 모델 학습 및 평가, 튜닝 등 머신러닝 모델링을 자동으로 해주는 기술

AutoML 라이브러리 및 서비스 중에 가장 접근성이 좋은 라이브러리가 Pycaret이다.


Pycaret

: AutoML 기능을 제공하는 라이브러리

: 여러 머신러닝 모델의 결과를 확인 할 수 있으며, 모델 간 비교가 가능해짐

: 모델 비교 외에도 feature importance, residual 시각화 등 다양한 기능을 제공

따라서, 적절한 머신러닝 모델을 선정하기 위해 모델 선택 단계에서 진행하면 좋을 것 같음


위 documentaion 링크에 가보면 Classification, Regression, Time Series, Clustering 등 다양한 카테고리 관련해서 사용방법이 설명되어 있음. 특히, 파라미터가 많기 때문에 꼭 확인하고 사용하는 것을 추천.


  • 시계열 데이터에 pycaret을 적용한 사례
    • https://towardsdatascience.com/time-series-forecasting-with-pycaret-regression-module-237b703a0c63
    • setup 함수를 통해서 파라미터 설정을 해줘야하는데, 그 중에 fold_strategy 파라미터가 있음.
      • fold_strategy
        • pycaret은 10-fold Cross-Validation을 수행하는데, 이를 다른 fold_strategy로 설정할 수 있음
        • 내가 연습했던 데이터는 시계열 데이터였기 때문에 Cross-Validation 등의 방법이 적절하지 않다고 생각했고, 검색해보니 'timeseries' 라는 설정값이 있어서 그대로 설정해주었음. *어떻게 진행되는 건지 추가 작성하기

Tip

  • pycaret 은 colab에서 진행
    • pycaret 설치하는데 이슈가 많~이 발생해서 로컬에서 설치가 잘 안됐음. 이럴 때는 google colab에서 설치 후 사용하면 됨!
    • numpy 버전 에러가 나면 pycaret을 설치 후에 numpy 버전을 다운그레이드 해주면 됨.(!pip install --force-reinstall numpy==1.18.5)
    • *주의 : colab 런타임 끊김
      • colab은 일정 시간(1시간30분인가?) 이상 접속이 없으면 런타임이 끊김. 그러면 pycaret 설치부터 작업을 다시 해야하기 때문에 colab 런타임 끊기지 않게 조심
      • colab 런타임 유지하는 방법