Fraud Prediction Hackathon Report
📝 Overview
This project addresses the challenge of identifying fraudulent transactions using a rich dataset composed of card transactions, user information, card metadata, and merchant category codes (MCC). The goal is to train a robust machine learning model capable of predicting fraud on unseen transactions.
📁 Datasets Used
transactions_train.csv: Transaction-level features for trainingtrain_fraud_labels.json: Target labels (YesorNo) for fraudevaluation_features.csv: Transactions to be predicted (test set)cards_data.csv: Card metadata (brand, chip status, limits)users_data.csv: User demographics (income, location, credit)mcc_codes.json: Merchant category codes with descriptions
🎯 Objective
To accurately classify transactions as fraudulent (1) or not (0) and submit predictions in the correct format (transaction_id,fraud).
⚙️ Pipeline Summary
1. Data Loading & Merging
- Loaded all datasets using
pandas. - Converted
mcc_codes.jsonto a structured DataFrame. - Merged transactions with fraud labels, card info, user info, and MCC descriptions.
- Added a
trainflag to distinguish training and evaluation data.
2. Preprocessing
- Converted fraud labels
Yes/Noto binary (1/0). - Handled missing values and assessed column completeness.
- Cleaned categorical features and explored value distributions (e.g.
use_chip,merchant_state). - Combined datasets using appropriate keys (
client_id,card_id,mcc).
3. Exploratory Data Analysis (EDA)
- Assessed class imbalance: Only ~0.15% of transactions were fraudulent.
- Identified high-cardinality and dominant classes in object fields.
- Evaluated missing value patterns and planned imputation strategies.
4. Feature Engineering
- Parsed dates to extract time-based features.
- Encoded categorical variables.
- Cleaned numerical columns (e.g., removed
$inamount, converted to float).
5. Modeling (to be completed/added if done)
- Train-test split with stratification.
- Model candidates: Logistic Regression, Random Forest, XGBoost, etc.
- Evaluation metrics: Precision, Recall, F1-score due to class imbalance.
6. Prediction & Submission
- Generated predictions for the test set.
- Formatted submission file:
submission.csvwith columns:
Author:TN@ TP
Date: 15/05/2025
Log in or sign up for Devpost to join the conversation.