Assignment Title
Fraud Detection in Online Transactions Using Machine Learning
Assignment Objective
The objective of this assignment is to design and evaluate a binary classification model to
identify fraudulent online transactions using the IEEE-CIS Fraud Detection dataset.
Students will apply data preprocessing, handle class imbalance, perform feature engineering,
and build tree-based machine learning models.
Dataset
• Source: Kaggle – IEEE-CIS Fraud Detection
• Target Variable: isFraud
o 1 → Fraudulent transaction
o 0 → Legitimate transaction
Assignment Questions
Part A: Data Understanding & Preprocessing
1. Describe the dataset structure (number of records, features, and target variable).
2. Identify missing values and explain how they are handled.
3. Perform encoding for categorical variables.
4. Split the dataset into training and testing sets.
Part B: Exploratory Data Analysis (EDA)
1. Analyze the class distribution of fraudulent vs non-fraudulent transactions.
2. Visualize at least two features that show different behavior for fraud and non-fraud
cases.
3. Explain why accuracy alone is not a reliable metric for this dataset.
Part C: Handling Imbalanced Data
1. Explain the class imbalance problem in fraud detection.
2. Apply one imbalance handling technique:
o SMOTE
o Random undersampling
o Class weight adjustment
3. Compare class distribution before and after applying the technique.
Part D: Model Building
1. Train at least two tree-based models:
o Random Forest
o XGBoost or LightGBM
2. Perform hyperparameter tuning for at least one model.
3. Report model performance using:
o Precision
o Recall
o F1-Score
o ROC-AUC
Part E: Model Evaluation & Interpretation
1. Compare the performance of all models used.
2. Identify the most important features contributing to fraud detection.
3. Justify which model is best suited for fraud detection and why.
Part F: Ethical Considerations
1. Discuss the impact of false positives and false negatives in fraud detection systems.
2. Explain one ethical challenge in deploying fraud detection models in real-world
systems.
Submission Requirements
• Python notebook (.ipynb)
• Screenshots of Kaggle submission score