Table of Contents
- This project focuses on detecting fraudulent credit card transactions using machine learning techniques.
- By analyzing transaction data, the goal is to build a robust model that can accurately identify fraudulent activities while minimizing false positives.
Credit card fraud is a significant issue in the financial industry. This project aims to address this problem by building a machine learning model capable of identifying fraudulent transactions. The project emphasizes:
- Handling severe class imbalance.
- Feature selection and importance analysis.
- Model evaluation and hyperparameter tuning.
The dataset contains anonymized credit card transaction data, including:
- Features: 30 numerical features (V1-V28, Time, Amount).
- Target:
Class(0 = Normal, 1 = Fraud).
- Python 3.9 or higher
-
Clone the repository:
git clone https://github.com/kavin/cc-fraud-detection.git cd cc-fraud-detection -
Install dependencies:
pip install -r requirements.txt
-
Run the Jupyter Notebook:
jupyter notebook cc_fraud_detection.ipynb
- Balanced Dataset: Achieved a 1:1 ratio using SMOTE.
- Model Performance:
- High precision and recall for fraud detection.
- Improved accuracy after hyperparameter tuning.
- Feature Importance: Identified key features contributing to fraud detection.
| Category | Dependency |
|---|---|
| Analysis | numpy, pandas |
| Visualization | matplotlib, seaborn |
| Preprocessing | imblearn (SMOTE) |
| Model Inference | xgboost |
| Model Selection | scikit-learn (GridSearchCV) |
| Model Evaluation | scikit-learn (accuracy_score, classification_report) |
- Explore additional models like Random Forest and Neural Networks.
- Implement real-time fraud detection pipelines.
- This project is licensed under the MIT License - see the LICENSE file for details.