성능 평가

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...