Étude
article thumbnail

autoML 중에서 PyCaret을 가장 선호한다. 이유는 너무나 단순하다. 다른 autoML라이브러리는 설치오류가 잔뜩 났지만 pycaret은 오류가 나지 않기때문. 또한 쓰기 너무나 쉽다. 나중에 잊어먹을 까봐 기록한다.

 

PyCaret은 적은 코드로 머신러닝 워크 플로우를 자동화하는 오픈 소스 라이브러리이다. 머신러닝 모델 개발시 많은 시간을 소요했던 코딩, 전처리, 모델 선택, 파라미터 튜닝 작업을 자동화해주어 쉽고, 높은 생산성의 작업을 가능하게 한다.

PyCaret 3.0 - Docs (gitbook.io)

 

분석은 퇴직 촉발 요인을 발굴하는 프로젝트 였으며 종속변수(퇴직여부)에 가장 영향을 많이 미치는 변수를 찾아내야 하는 것이었다.

 

따라서, 예측기능은 사용하지 않을것이고 가장 정확도 높은 모델을 채택하여 피처 중요도를 시각화하였다.

from pycaret.classification import *
 

이렇게 불러오면 끝이다

 

만약 설치를 안했다면 아래를 복붙해서 설치하면 된다.

!pip install pycaret
 

 

 

 

참고로 Attrition은 퇴직여부를 나타내는 변수이다. 값에는 'Yes'와 'No' 가 있다. 심지어 라벨인코딩도 하지 않았다. 그저 있는 그대로 타겟으로 삼으니 알아서 분석을 수행한다. 독립변수에 문자형 변수도 예외 없다. 그냥 알아서 분석한다. 너무나 편하고 신기하지만 한편으로는 무섭기도 하다. 내가 데이터 분석가로서 미래에 살아남을 수 있을까?


# PyCaret 설정
clf = setup(data=data, target='Attrition')

# 모델 비교 (LightGBM 모델 제외)
best_model = compare_models()
 

 

각설하고 아래와같이 최적의 모델을 쉽게 볼 수 있다.

대표사진 삭제

사진 설명을 입력하세요.

Lightgbm에서 오류가 있어서 코드가 완전실행은 안됐지만 잘 실행되면 아래와 같이 표시도 해준다.

대표사진 삭제

사진 설명을 입력하세요.

 

분석에 따르면 gbc가 최적의 모델이다. 이렇게 10줄도 안되는 코드로 분석을 수행할 수 있다. 예측 프로젝트에 있어선 튜닝도 하고 앙상블도 하고 해야겠지만 이 프로젝트는 피처 중요도를 확인하는게 주 목적이므로 바로 피처 중요도를 확인했다.

#변수 중요도 시각화 
plot_model(best_model, plot='feature')
 
대표사진 삭제

사진 설명을 입력하세요.

 

결과에 따르면 퇴직 여부에 가장 영향을 많이 미치는 변수는 월수입과 초과근무다. 이 포스팅은 AutoML중 PyCaret을 설명하는 글이므로 설명은 패스한다.

 

 

참고로 예측하는 것도 매우 간단하다.

pred = predict_model(best_model)
 
 

이렇게 하면 예측이 끝난다. 당연히 kaggle같은 데서 쓰려면 튜닝도하고 검증도 하고 여러가지 해야한다. 누구나 쉽게 할 수 있는건 절대 나의 경쟁력이 아니다. 누구나 쉽게 할 수 없는 걸 해야한다. 

 

profile

Étude

@프랑스어전공

https://blog.naver.com/captprice