Credit Card Fraud Detection
Fraud datasets are usually highly imbalanced.
You will:
- Explore class imbalance
- Check feature distributions
- Build a baseline model evaluation plan
Analysis pipeline
Section titled “Analysis pipeline”flowchart LR A["Raw transactions"] --> B["Check imbalance
(value_counts)"] B --> C["Compare
(feature dist. by class)"] C --> D["Visualize
(kde/overlap)"] D --> E["Pick metric
(precision/recall/AUC)"]
Step 1: Load
Section titled “Step 1: Load”import pandas as pd
df = pd.read_csv("data/fraud.csv")
print(df.shape)
print(df.head())Step 2: Class imbalance
Section titled “Step 2: Class imbalance”print(df["fraud"].value_counts())
print(df["fraud"].value_counts(normalize=True))Step 3: Visualize distributions
Section titled “Step 3: Visualize distributions”import seaborn as sns
import matplotlib.pyplot as plt
# Example: compare one feature by class
feature = "amount"
plt.figure(figsize=(7, 4))
sns.kdeplot(data=df, x=feature, hue="fraud", common_norm=False)
plt.title(f"{feature} distribution by class")
plt.tight_layout()
plt.show()Visualize it
Section titled “Visualize it”Step 4: Baseline modeling note
Section titled “Step 4: Baseline modeling note”For fraud, accuracy is misleading.
Prefer:
- Precision / Recall
- F1 score
- ROC-AUC
- PR-AUC
Deliverable
Section titled “Deliverable”- How imbalanced is the dataset?
- Which features differ between classes?
- What metric will you optimize?
🧪 Try It Yourself
Section titled “🧪 Try It Yourself”Exercise 1 – Measure class imbalance
Section titled “Exercise 1 – Measure class imbalance”Exercise 2 – Compare a feature by class
Section titled “Exercise 2 – Compare a feature by class”Exercise 3 – Why accuracy misleads
Section titled “Exercise 3 – Why accuracy misleads”pch.coffeeTagline
pch.coffeeCtapch.feedbackHeading
pch.feedbackSubheading