Skip to content
Machine Learning

Metrics

Evaluate classifiers with confusion matrix and reports.

#metrics#evaluation

Code

machine-learning
from sklearn.metrics import (accuracy_score, precision_score, recall_score,
    f1_score, confusion_matrix, classification_report, roc_auc_score,
    precision_recall_curve)
import numpy as np

y_true = np.array([0, 0, 1, 1, 1, 0, 1, 0])
y_pred = np.array([0, 1, 1, 1, 0, 0, 1, 0])
y_prob = np.array([0.1, 0.6, 0.8, 0.9, 0.4, 0.2, 0.7, 0.3])

print("accuracy:", accuracy_score(y_true, y_pred))
print("precision:", precision_score(y_true, y_pred))
print("recall:", recall_score(y_true, y_pred))
print("f1:", f1_score(y_true, y_pred))
print("confusion:", confusion_matrix(y_true, y_pred), sep="\n")
print(classification_report(y_true, y_pred))
print("roc_auc:", roc_auc_score(y_true, y_prob))

precision, recall, _ = precision_recall_curve(y_true, y_prob)
print("pr points:", len(precision))