Другие метрики модели

Маркетинговая аналитика: прогнозирование оттока клиентов на 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

ROC-кривая в sklearn

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

Давайте потренируемся!

Маркетинговая аналитика: прогнозирование оттока клиентов на Python

Preparing Video For Download...