Engineering Case Study Matrix
Financial fraud represents less than 0.2% of total transaction volume. Standard accuracy metrics mislead classifiers into predicting 'non-fraud' 100% of the time, causing millions in undetected fraud loss.
Benchmarked Random Forest, Support Vector Machines (SVM), and XGBoost pipelines under raw, Random Undersampling, and SMOTE distributions.
Technologies Used
Key Architecture & Design Decisions
#1Optimizing for Recall (TPR) over Precision
In fraud detection, a false positive (flagging a safe transaction) costs $2 in manual review, whereas a false negative (missed fraud) costs $350+ in chargebacks.
#2SMOTE Applied ONLY to Training Fold
Applying SMOTE prior to cross-validation split causes data leakage from validation set, leading to falsely optimistic metrics.
Challenges & Engineering Fixes
Measured Performance Gains
Lessons Learned
- Never evaluate imbalanced datasets using Accuracy; always use PR-AUC and Recall@Fixed-Precision.
- Precision-recall trade-offs must be tuned against actual financial dollar cost matrices.
Future Roadmap
- →Graph Neural Networks (GNN) for entity-resolution and linked account fraud rings.
- →Streaming transaction inference with Apache Kafka and ONNX runtime.
Detecting fraudulent transactions in credit card data is one of the classic needle-in-a-haystack machine learning challenges. In standard datasets (such as the European Cardholder dataset), fraud represents only 492 out of 284,807 transactions (0.172%).
If a naive classifier simply outputs 'Legitimate' for every transaction, it achieves a 99.83% accuracy score while failing 100% of fraud detection goals.
1400 font-semibold">import numpy 400 font-semibold">as np2400 font-semibold">import pandas 400 font-semibold">as pd3400 font-semibold">from sklearn.model_selection 400 font-semibold">import StratifiedKFold4400 font-semibold">from sklearn.ensemble 400 font-semibold">import RandomForestClassifier5400 font-semibold">from sklearn.metrics 400 font-semibold">import classification_report, recall_score, precision_recall_curve6400 font-semibold">from imblearn.over_sampling 400 font-semibold">import SMOTE78400 font-semibold">def 300 font-medium">train_fraud_detector(X, y):9 skf = 300 font-medium">StratifiedKFold(n_splits=5, shuffle=300 font-semibold">True, random_state=42)10 recalls = []1112 400 font-semibold">for train_idx, val_idx in skf.300 font-medium">split(X, y):13 X_train, X_val = X.iloc[train_idx], X.iloc[val_idx]14 y_train, y_val = y.iloc[train_idx], y.iloc[val_idx]1516 smote = 300 font-medium">SMOTE(sampling_strategy=0.1, random_state=42)17 X_res, y_res = smote.300 font-medium">fit_resample(X_train, y_train)1819 clf = 300 font-medium">RandomForestClassifier(20 n_estimators=100,21 max_depth=12,22 min_samples_leaf=5,23 n_jobs=-1,24 random_state=4225 )26 clf.300 font-medium">fit(X_res, y_res)2728 probs = clf.300 font-medium">predict_proba(X_val)[:, 1]29 preds = (probs >= 0.35).300 font-medium">astype(300 font-medium">int)3031 recalls.300 font-medium">append(300 font-medium">recall_score(y_val, preds))3233 300 font-medium">print(f400 font-semibold">class="text-emerald-300">"Mean Validation Fraud Recall: {np.300 font-medium">mean(recalls):.4f}")34 400 font-semibold">return clf| Model Variant | Fraud Recall | Precision | PR-AUC | Latency (ms) |
|---|---|---|---|---|
| Baseline Random Forest | 58.4% | 88.2% | 0.741 | 3.8 ms |
| SVM (Linear) | 71.2% | 64.5% | 0.682 | 18.2 ms |
| RF + SMOTE (Threshold 0.5) | 86.1% | 78.4% | 0.835 | 4.1 ms |
| RF + SMOTE (Threshold 0.35) | 92.8% | 72.1% | 0.869 | 4.1 ms |
Building Resumetrix: Architecting an ATS Resume Parser & AI Engine with Gemini 1.5 Pro & WebAssembly
A deep dive into how I built Resumetrix—an AI career toolkit that parses complex PDFs in-browser via WebAssembly, computes semantic embedding matches, and stream-optimizes resumes for Applicant Tracking Systems.
Final-Year CS Student & Full-Stack / AI Developer
Integrating Gemini 1.5 Pro into Web Applications: Streaming, Functions, & Schema Validation
A comprehensive guide to building production-grade server-side proxies for the Google GenAI SDK with structured response validation, token usage monitoring, and zero-latency SSE streaming.
Final-Year CS Student & Full-Stack / AI Developer
