Оценка производительности

Обнаружение мошенничества на Python

Charlotte Werger

Data Scientist

Точность — не всё

При обнаружении мошенничества точность — не главный показатель

Обнаружение мошенничества на Python

Ложные срабатывания, пропуски и реальные случаи мошенничества

Обнаружение мошенничества на Python

Компромисс между точностью и полнотой

Обнаружение мошенничества на Python

Получение метрик качества

# Import the packages
from sklearn.metrics import precision_recall_curve
from sklearn.metrics import average_precision_score

# Calculate average precision and the PR curve average_precision = average_precision_score(y_test, predicted)
# Obtain precision and recall precision, recall, _ = precision_recall_curve(y_test, predicted)
Обнаружение мошенничества на Python

Кривая точность–полнота

Обнаружение мошенничества на Python

ROC-кривая для сравнения алгоритмов

# Obtain model probabilities
probs = model.predict_proba(X_test)

# Print ROC_AUC score using probabilities print(metrics.roc_auc_score(y_test, probs[:, 1]))
0.9338879319822626
Обнаружение мошенничества на Python
from sklearn.metrics import classification_report, confusion_matrix

# Obtain predictions predicted = model.predict(X_test)
# Print classification report using predictions print(classification_report(y_test, predicted))
  precision    recall  f1-score   support

        0.0       0.99      1.00      1.00      2099
        1.0       0.96      0.80      0.87        91

avg / total       0.99      0.99      0.99      2190
# Print confusion matrix using predictions
print(confusion_matrix(y_test, predicted))
[[2096    3]
 [  18   73]]
Обнаружение мошенничества на Python

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

Обнаружение мошенничества на Python

Preparing Video For Download...