# Tunisian Fraud Detection Challenge
## Project Overview
This project focuses on detecting fraudulent transactions in a Tunisian financial dataset. Using machine learning techniques, the goal is to identify patterns and anomalies in transaction data to minimize fraud risk and improve financial security.
## Dataset
The dataset contains transaction records with features such as:
- Transaction ID
- Customer ID
- Transaction amount
- Date and time
- Other anonymized transaction-related features
## Objective
Develop a predictive model to classify transactions as **fraudulent** or **non-fraudulent**, aiming to:
- Maximize detection of fraudulent transactions
- Minimize false positives
## Approach
### 1. Data Cleaning & Preprocessing
- Handled missing values and inconsistencies
- Normalized and scaled numerical features
- Encoded categorical variables
### 2. Exploratory Data Analysis (EDA)
- Analyzed transaction patterns
- Visualized feature distributions and correlations
- Identified key indicators of fraud
### 3. Modeling
- Tested multiple machine learning algorithms:
- Logistic Regression
- Random Forest Classifier
- Gradient Boosting (XGBoost)
- Tuned hyperparameters to optimize performance
### 4. Evaluation
- Used metrics: Accuracy, Precision, Recall, F1-Score, ROC-AUC
- Focused on maximizing fraud detection (Recall) while minimizing false positives
### 5. Deployment & Insights
- Generated predictions for unseen test data
- Identified high-risk transactions for further investigation
## Tools & Technologies
- Python: `pandas`, `NumPy`, `scikit-learn`, `XGBoost`, `matplotlib`, `seaborn`
- Jupyter Notebook
- GitHub for version control
## Results
- Achieved **[insert your metric here, e.g., F1-score: 0.85]** on validation data
- Key insights: High transaction amounts during unusual hours were strong indicators of fraud