其他模型評估指標

行銷分析:用 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 預測客戶流失

曲線下面積(AUC)

from sklearn.metrics import roc_auc_score

auc = roc_auc_score(y_test, y_pred)
行銷分析:用 Python 預測客戶流失

一起來練習吧!

行銷分析:用 Python 預測客戶流失

Preparing Video For Download...