This project focuses on identifying fraudulent transactions by building a reliable machine learning solution. It combines effective data preparation techniques with powerful classification models to deliver robust results.
Using a dataset of financial transactions, this system trains machine learning models to differentiate between legitimate and fraudulent activities. The project ensures reliability through rigorous evaluation and optimization strategies.
- Data Handling: Balanced the dataset using SMOTE to address class imbalances and prepared it for training and testing.
- Model Training: Built and fine-tuned models such as Logistic Regression and XGBoost for classification.
- Performance Analysis: Evaluated models with key metrics like Accuracy, F1-Score, and ROC-AUC to ensure dependable predictions.
- Source: The dataset used is
https://drive.google.com/file/d/1ipKhvkz0QPARIpaKL88WP79fYCVRlwN2/view?usp=drive_link. - Description: Includes transactional data labeled to indicate whether each transaction is fraudulent or legitimate.
- Programming Language: Python
- Libraries and Tools:
- Data Processing: NumPy, Pandas
- Visualization: Matplotlib
- Machine Learning: Scikit-learn, XGBoost
- Data Balancing: SMOTE
- Clone this repository.
- Install required libraries with:
pip install -r requirements.txt
- Place the dataset naming (
PS_20174392719_1491204439457_log.csv) in the project folder. - Execute the main script to train and evaluate models:
python main.py
- Accuracy: The percentage of correctly identified transactions.
- F1-Score: A metric balancing precision and recall, ideal for imbalanced datasets.
- ROC-AUC: Measures the model's ability to distinguish between classes.
The trained models achieved excellent results, showcasing their ability to identify fraudulent transactions accurately and reliably.
Your feedback and contributions are welcome to make this system even better.