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 training
  • train_fraud_labels.json: Target labels (Yes or No) for fraud
  • evaluation_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.json to a structured DataFrame.
  • Merged transactions with fraud labels, card info, user info, and MCC descriptions.
  • Added a train flag to distinguish training and evaluation data.

2. Preprocessing

  • Converted fraud labels Yes/No to 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 $ in amount, 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.csv with columns:

Author:TN@ TP
Date: 15/05/2025

Built With

Share this project:

Updates