기타 모델 지표

마케팅 애널리틱스: Python으로 고객 이탈 예측하기

Mark Peterson

Director of Data Science, Infoblox

확률 임계값

  • 분류기의 각 예측에는 확률이 있습니다
  • scikit-learn의 기본 임계값: 50%

 

  • 이 임계값을 바꾸면 어떻게 될까요?
마케팅 애널리틱스: Python으로 고객 이탈 예측하기

ROC 곡선 파트 1

마케팅 애널리틱스: Python으로 고객 이탈 예측하기

ROC 곡선 파트 2

마케팅 애널리틱스: Python으로 고객 이탈 예측하기

ROC 곡선 파트 3

마케팅 애널리틱스: Python으로 고객 이탈 예측하기

ROC 곡선 파트 4

마케팅 애널리틱스: Python으로 고객 이탈 예측하기

ROC 곡선 파트 5

마케팅 애널리틱스: Python으로 고객 이탈 예측하기

ROC 곡선 파트 6

마케팅 애널리틱스: Python으로 고객 이탈 예측하기

ROC 곡선 파트 7

마케팅 애널리틱스: Python으로 고객 이탈 예측하기

ROC 곡선 파트 8

마케팅 애널리틱스: Python으로 고객 이탈 예측하기

sklearn에서 확률 생성

logreg.predict_proba(X_test)[:,1]
array([[0.80188981, 0.19811019],
       [0.96484075, 0.03515925],
       [0.9182671 , 0.0817329 ],
       ...,
y_pred_prob = logreg.predict_proba(X_test)[:,1]
마케팅 애널리틱스: Python으로 고객 이탈 예측하기

sklearn에서 ROC 곡선

from sklearn.metrics import roc_curve

fpr, tpr, thresholds = roc_curve(y_test, y_pred_prob)
import matplotlib.pyplot as plt

plt.plot(fpr, tpr)

plt.xlabel("False Positive Rate")

plt.ylabel("True Positive Rate")

plt.plot([0, 1], [0, 1], "k--")

plt.show()
마케팅 애널리틱스: Python으로 고객 이탈 예측하기

곡선 아래 면적

from sklearn.metrics import roc_auc_score

auc = roc_auc_score(y_test, y_pred)
마케팅 애널리틱스: Python으로 고객 이탈 예측하기

Ayo berlatih!

마케팅 애널리틱스: Python으로 고객 이탈 예측하기

Preparing Video For Download...