Ce projet se concentre sur la classification des transactions par carte de crédit afin d'identifier les activités frauduleuses. L'ensemble de données utilisé contient une répartition déséquilibrée entre les transactions normales et frauduleuses, ce qui rend essentiel l'utilisation de mesures d'évaluation appropriées.
L'ensemble de données utilisé pour ce projet est chargé à partir d'un fichier CSV nommé « creditcard.csv » (link: "https://www.kaggle.com/datasets/arockiaselciaa/creditcardcsv"). Il comprend des fonctionnalités telles que le temps de transaction (Time), le montant (Amount) et d'autres variables anonymisées. La variable cible « Classe » indique si une transaction est frauduleuse (Classe 1) ou normale (Classe 0).
Un modèle de régression logistique est formé sur l'ensemble de données pour la détection de la fraude.
from sklearn.linear_model import LogisticRegression
lr = LogisticRegression(max_iter=500)
lr.fit(X_train, y_train)
Précision : capacité du modèle à prédire correctement les deux classes. Précision : proportion de cas de fraude correctement prédits parmi tous les cas de fraude prédits. Rappel : la proportion de cas de fraude correctement prédits parmi tous les cas de fraude réels. Score F1 : La moyenne harmonique de la précision et du rappel.
y_pred = lr.predict(X_test)
acc = accuracy_score(y_test, y_pred)
prec = precision_score(y_test, y_pred)
rec = recall_score(y_test, y_pred)
f1 = f1_score(y_test, y_pred)
La matrice de confusion représente visuellement les performances du modèle : Vrais positifs (TP) : cas de fraude correctement prédits. Vrais négatifs (TN) : cas normaux correctement prédits. Faux positifs (FP) : cas de fraude mal prédits. Faux négatifs (FN) : cas normaux mal prédits.
from sklearn.metrics import confusion_matrix, ConfusionMatrixDisplay
cmd = ConfusionMatrixDisplay(confusion_matrix=confusion_matrix(y_test, y_pred, labels=lr.classes_), display_labels=lr.classes_)
cmd.plot()
Bien que le modèle de régression logistique montre des résultats prometteurs, des ajustements supplémentaires tenant compte du déséquilibre des classes pourraient améliorer ses performances, notamment en termes de rappel pour la détection des fraudes.