其他模型指标

营销分析:用 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 预测客户流失

Vamos praticar!

营销分析:用 Python 预测客户流失

Preparing Video For Download...