Skip to content

Francodo/Hyper-parameter-Tuning-and-Model-Comparison

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 

Repository files navigation

Hyperparameter-Tuning-and-Model-Comparison

In the world of Transactional Fraud Detection, AI/ML models must be both incredibly fast and hyper-accurate. Fraud patterns are constantly evolving, simply training a model isn't enough—you have to optimize its internal settings and rigorously compare different algorithms to find the most robust shield.

Hyper-parameter Tuning and Model Comparison Transactional Fraud Detection · Machine Learning · Python

Overview This notebook presents a rigorous, end-to-end machine learning pipeline for transactional fraud detection, with a dual focus on:

  • Hyper-parameter Tuning — systematically optimizing model internals beyond default settings to squeeze out meaningful gains in precision, recall, and AUC
  • Model Comparison — benchmarking multiple classification algorithms head-to-head under consistent evaluation conditions to identify the most effective fraud detector

Fraud detection is one of the most demanding applied ML problems: datasets are severely imbalanced (fraud is rare), the cost of a missed detection far exceeds the cost of a false alarm, and attackers continuously adapt their behavior. This notebook addresses all three challenges through principled experimentation.

Key Highlights Problem Context

Domain: Transactional fraud detection in financial/banking data Challenge: Severe class imbalance — legitimate transactions vastly outnumber fraudulent ones Primary metric: Recall and ROC-AUC (missing fraud is far costlier than a false alarm) Secondary metrics: Precision, F1-score, confusion matrix analysis

Models Compared

  • The notebook benchmarks multiple classification algorithms, enabling a fair side-by-side evaluation:
  • ModelStrengths in Fraud DetectionRandom ForestRobust to noise, handles imbalance with class_weightGradient Boosting / XGBoostState-of-the-art on tabular data, flexible loss functionsLogistic RegressionFast baseline, interpretable coefficientsDecision TreeTransparent rules, useful for explainabilityAdditional classifiersEvaluated for completeness of comparison

Hyper-parameter Tuning Strategies Two industry-standard search methods are implemented and compared:

GridSearchCV — exhaustive search over a defined parameter grid; guarantees finding the best combination within the search space RandomizedSearchCV — samples parameter combinations from distributions; more computationally efficient for large search spaces

Key parameters tuned include n_estimators, max_depth, min_samples_leaf, learning_rate, C (regularization), and class_weight. Evaluation Framework All models are evaluated on a consistent held-out test set using:

Confusion matrix (True Positives, False Negatives, False Positives, True Negatives) classification_report (per-class precision, recall, F1) ROC-AUC score for ranking ability Cross-validation to guard against overfitting

Class Imbalance Handling The notebook explicitly addresses the imbalance problem through:

class_weight='balanced' to up-weight minority fraud class during training Stratified train/test splits to preserve fraud ratio in both sets Evaluation metrics chosen to reflect real-world cost asymmetry (recall over accuracy)

Repository Structure Hyper-parameter-Tuning-and-Model-Comparison/ │ ├── Hyper-parameter Tuning and Model Comparison.ipynb # Main notebook └── README.md

Getting Started

  • Prerequisites bash pip install pandas numpy scikit-learn matplotlib seaborn

Running the Notebook bashgit clone https://github.com/Francodo/Hyper-parameter-Tuning-and-Model-Comparison.git

cd Hyper-parameter-Tuning-and-Model-Comparison jupyter notebook "Hyper-parameter Tuning and Model Comparison.ipynb"

Notebook Workflow

  1. Data Loading & Exploration ↓
  2. Preprocessing & Class Imbalance Analysis ↓
  3. Baseline Model Training (default hyperparameters) ↓
  4. Hyperparameter Tuning ├── GridSearchCV └── RandomizedSearchCV ↓
  5. Model Comparison └── All models evaluated on identical test set ↓
  6. Results & Interpretation ├── Best model identified ├── Feature importance └── Confusion matrix & classification report

Key Takeaways

Default hyperparameters are rarely optimal — tuning consistently improves recall on imbalanced fraud datasets RandomizedSearchCV offers a strong efficiency/performance trade-off for production pipelines where compute time is constrained ROC-AUC is the most reliable single metric for fraud detection; accuracy is misleading given class imbalance Ensemble methods (Random Forest, Gradient Boosting) outperform single estimators on this problem class class_weight='balanced' is a low-cost, high-impact intervention for imbalanced classification

Related Work This notebook is part of a broader fraud detection and AI analytics project. Related repositories and notebooks explore:

  • Feature engineering for ATO (Account Takeover) detection
  • Rule-based risk scoring systems
  • Enterprise AI Observability Platform architecture

About

In the world of Transactional Fraud Detection, AI/ML models must be both incredibly fast and hyper-accurate. Fraud patterns are constantly evolving, simply training a model isn't enough—you have to optimize its internal settings and rigorously compare different algorithms to find the most robust shield.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors