Avaliação de desempenho

Detecção de Fraudes em Python

Charlotte Werger

Data Scientist

Acurácia não é tudo

Esqueça a acurácia ao trabalhar com detecção de fraude

Detecção de Fraudes em Python

Falsos positivos, falsos negativos e fraudes capturadas

Detecção de Fraudes em Python

Trade-off entre precisão e revocação

Detecção de Fraudes em Python

Obtendo métricas de desempenho

# 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)
Detecção de Fraudes em Python

Curva Precisão–Revocação

Detecção de Fraudes em Python

Curva ROC para comparar algoritmos

# 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
Detecção de Fraudes em 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]]
Detecção de Fraudes em Python

Vamos praticar!

Detecção de Fraudes em Python

Preparing Video For Download...