{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Credit Card Fraud Detection using Extreme Gradient Boosting\n", "## Ekaba Bisong" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 1. Introduction\n", "Credit card fraud detection is the science and art of detecting unusual activity in credit transactions. Fraud occurs when the credit card information of an individual is stolen and used to make unauthorized purchases and or withdrawals from the original holders account.\n", "\n", "### The Data Science Approach to Fraud Detection\n", "Learning from historical data forms the bedrock of the data science approach. By making use of statistical methods, a classification model is developed to map a function that learns to identify when a fraudulent transaction has occurred. The approach is typically divided into two perspectives, the supervised and unsupervised norms.\n", "\n", "In the supervised norm, the function is trained using previous labelled data of fraudulent and normal transactions, so the function is taught to understand intrinsically what makes a transaction fraudulent. The trained function is now used to determine if a new transaction is fraudulent or not. While in the unsupervised norm, techniques such as anomaly detection is used to identify fraudulent transactions as outliers in a dimensional space. Future transactions which fall outside a particular region is further investigated as a fraudulent transaction.\n", "\n", "Several studies have investigated different Machine Learning approaches to develop a computational model to identify the incidence of fraud. Some of the techniques from literature include artificial neural networks, bayesian belief networks[$^1$](https://www.researchgate.net/profile/Karl_Tuyls/publication/248809471_Credit_Card_Fraud_Detection_Applying_Bayesian_and_Neural_networks/links/0deec52519708c5f7a000000.pdf), and hidden markov models[$^2$](http://ieeexplore.ieee.org/document/4358713/).\n", "\n", "### Challenges to Credit Fraud Detection\n", "A major challenge to credit fraud detection research is the availability of real world data due to privacy and legal concerns." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 2. The Dataset\n", "The dataset has been collected and analysed during a research collaboration of Worldline and the [Machine Learning Group of ULB (Université Libre de Bruxelles)](http://mlg.ulb.ac.be) on big data mining and fraud detection. The dataset is made available on [Kaggle](https://www.kaggle.com/dalpozz/creditcardfraud).\n", "\n", "### Dataset Description\n", "**Description from [Kaggle](https://www.kaggle.com/dalpozz/creditcardfraud)**\n", "> The datasets contains transactions made by credit cards in September 2013 by european cardholders. This dataset present transactions that occurred in two days, where we have 492 frauds out of 284,807 transactions. The dataset is highly unbalanced, the positive class (frauds) account for 0.172% of all transactions.\n", "\n", "> It contains only numerical input variables which are the result of a PCA transformation. Unfortunately, due to confidentiality issues, we cannot provide the original features and more background information about the data. Features V1, V2, ... V28 are the principal components obtained with PCA, the only features which have not been transformed with PCA are 'Time' and 'Amount'. Feature 'Time' contains the seconds elapsed between each transaction and the first transaction in the dataset. The feature 'Amount' is the transaction Amount, this feature can be used for example-dependant cost-senstive learning. Feature 'Class' is the response variable and it takes value 1 in case of fraud and 0 otherwise." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 3. Methodology\n", "In this project, we take the supervised approach to identifying fraud. We will build a function to learn a transaction map to identify fraud from a specific number of attributes. This attributes have already been transformed to their principal components so much cannot be done in terms of feature engineering." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Automatically created module for IPython interactive environment\n" ] } ], "source": [ "# import packages\n", "print(__doc__)\n", "import numpy as np\n", "from scipy import interp\n", "import matplotlib.pyplot as plt\n", "from itertools import cycle\n", "import pandas as pd\n", "from xgboost import XGBClassifier\n", "from sklearn.model_selection import StratifiedKFold\n", "from sklearn.model_selection import cross_val_score\n", "from sklearn.metrics import roc_curve, auc" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [], "source": [ "# load the data\n", "dataframe = pd.read_csv(\"creditcard.csv\")" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "array(['Time', 'V1', 'V2', 'V3', 'V4', 'V5', 'V6', 'V7', 'V8', 'V9', 'V10',\n", " 'V11', 'V12', 'V13', 'V14', 'V15', 'V16', 'V17', 'V18', 'V19',\n", " 'V20', 'V21', 'V22', 'V23', 'V24', 'V25', 'V26', 'V27', 'V28',\n", " 'Amount', 'Class'], dtype=object)" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# get column names\n", "colNames = dataframe.columns.values\n", "colNames" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Dimension of dataset: (284807, 31)\n" ] } ], "source": [ "# get dataframe dimensions\n", "print \"Dimension of dataset:\", dataframe.shape" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " Time V1 V2 V3 V4 \\\n", "count 284807.000000 2.848070e+05 2.848070e+05 2.848070e+05 2.848070e+05 \n", "mean 94813.859575 3.919560e-15 5.688174e-16 -8.769071e-15 2.782312e-15 \n", "std 47488.145955 1.958696e+00 1.651309e+00 1.516255e+00 1.415869e+00 \n", "min 0.000000 -5.640751e+01 -7.271573e+01 -4.832559e+01 -5.683171e+00 \n", "25% 54201.500000 -9.203734e-01 -5.985499e-01 -8.903648e-01 -8.486401e-01 \n", "50% 84692.000000 1.810880e-02 6.548556e-02 1.798463e-01 -1.984653e-02 \n", "75% 139320.500000 1.315642e+00 8.037239e-01 1.027196e+00 7.433413e-01 \n", "max 172792.000000 2.454930e+00 2.205773e+01 9.382558e+00 1.687534e+01 \n", "\n", " V5 V6 V7 V8 V9 \\\n", "count 2.848070e+05 2.848070e+05 2.848070e+05 2.848070e+05 2.848070e+05 \n", "mean -1.552563e-15 2.010663e-15 -1.694249e-15 -1.927028e-16 -3.137024e-15 \n", "std 1.380247e+00 1.332271e+00 1.237094e+00 1.194353e+00 1.098632e+00 \n", "min -1.137433e+02 -2.616051e+01 -4.355724e+01 -7.321672e+01 -1.343407e+01 \n", "25% -6.915971e-01 -7.682956e-01 -5.540759e-01 -2.086297e-01 -6.430976e-01 \n", "50% -5.433583e-02 -2.741871e-01 4.010308e-02 2.235804e-02 -5.142873e-02 \n", "75% 6.119264e-01 3.985649e-01 5.704361e-01 3.273459e-01 5.971390e-01 \n", "max 3.480167e+01 7.330163e+01 1.205895e+02 2.000721e+01 1.559499e+01 \n", "\n", " ... V21 V22 V23 V24 \\\n", "count ... 2.848070e+05 2.848070e+05 2.848070e+05 2.848070e+05 \n", "mean ... 1.537294e-16 7.959909e-16 5.367590e-16 4.458112e-15 \n", "std ... 7.345240e-01 7.257016e-01 6.244603e-01 6.056471e-01 \n", "min ... -3.483038e+01 -1.093314e+01 -4.480774e+01 -2.836627e+00 \n", "25% ... -2.283949e-01 -5.423504e-01 -1.618463e-01 -3.545861e-01 \n", "50% ... -2.945017e-02 6.781943e-03 -1.119293e-02 4.097606e-02 \n", "75% ... 1.863772e-01 5.285536e-01 1.476421e-01 4.395266e-01 \n", "max ... 2.720284e+01 1.050309e+01 2.252841e+01 4.584549e+00 \n", "\n", " V25 V26 V27 V28 Amount \\\n", "count 2.848070e+05 2.848070e+05 2.848070e+05 2.848070e+05 284807.000000 \n", "mean 1.453003e-15 1.699104e-15 -3.660161e-16 -1.206049e-16 88.349619 \n", "std 5.212781e-01 4.822270e-01 4.036325e-01 3.300833e-01 250.120109 \n", "min -1.029540e+01 -2.604551e+00 -2.256568e+01 -1.543008e+01 0.000000 \n", "25% -3.171451e-01 -3.269839e-01 -7.083953e-02 -5.295979e-02 5.600000 \n", "50% 1.659350e-02 -5.213911e-02 1.342146e-03 1.124383e-02 22.000000 \n", "75% 3.507156e-01 2.409522e-01 9.104512e-02 7.827995e-02 77.165000 \n", "max 7.519589e+00 3.517346e+00 3.161220e+01 3.384781e+01 25691.160000 \n", "\n", " Class \n", "count 284807.000000 \n", "mean 0.001727 \n", "std 0.041527 \n", "min 0.000000 \n", "25% 0.000000 \n", "50% 0.000000 \n", "75% 0.000000 \n", "max 1.000000 \n", "\n", "[8 rows x 31 columns]\n" ] } ], "source": [ "# get attribute summaries\n", "print(dataframe.describe())" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Normal transaction: 284315\n", "Fraudulent transaction: 492\n" ] } ], "source": [ "# get class distribution\n", "print \"Normal transaction:\", dataframe['Class'][dataframe['Class'] == 0].count() #class = 0\n", "print \"Fraudulent transaction:\", dataframe['Class'][dataframe['Class'] == 1].count() #class = 1" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# separate classes into different datasets\n", "class0 = dataframe.query('Class == 0')\n", "class1 = dataframe.query('Class == 1')\n", "\n", "# randomize the datasets\n", "class0 = class0.sample(frac=1)\n", "class1 = class1.sample(frac=1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Undersampling to deal with class imbalance\n", "The examples of the majority class, in this case the normal transactions drastically outnumber the incidences of fraud in our dataset. One of the strategies employed in the data science community is to delete instances from the over-represented class to improve the learning function. Here, we selected 6000 instances of the normal class from the original 284315 records." ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# undersample majority class due to class imbalance before training - train\n", "class0train = class0.iloc[0:6000]\n", "class1train = class1\n", "\n", "# combine subset of different classes into one balaced dataframe\n", "train = class0train.append(class1train, ignore_index=True).values" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# split data into X and y\n", "X = train[:,0:30].astype(float)\n", "Y = train[:,30]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 4. The Learning Algorithm: XGBoost\n", "Extreme Gradient Boosting is also known as XGBoost. This model is preferred due to its execution speed and learning performance. It has been the algorithm of choice for various winners of Kaggle and KDD Mining Cup competitions. It is implemented in the scikit learn python package. Orginally written in C++ by [Tianqi Chen](http://homes.cs.washington.edu/~tqchen/)" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "AUC: 0.979 (0.011)\n" ] } ], "source": [ "# XGBoost CV model\n", "model = XGBClassifier()\n", "kfold = StratifiedKFold(n_splits=10, random_state=7)\n", "\n", "# use area under the precision-recall curve to show classification accuracy\n", "scoring = 'roc_auc'\n", "results = cross_val_score(model, X, Y, cv=kfold, scoring = scoring)\n", "print(\"AUC: %.3f (%.3f)\") % (results.mean(), results.std())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 5. Plot the Result" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# change size of Matplotlib plot\n", "fig_size = plt.rcParams[\"figure.figsize\"] # Get current size\n", "\n", "old_fig_params = fig_size\n", "# new figure parameters\n", "fig_size[0] = 12\n", "fig_size[1] = 9\n", " \n", "plt.rcParams[\"figure.figsize\"] = fig_size # set new size" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nSYFaRETKC+cce/fupVq1atx2220sXbqU8ePH06FDB69LEykRlAaDpEAtIiLlwa5du7jmmmvYsGED\nn332GbVr12bhwoVelyVSoigNBqludRjRdgRxMXFelyIiIhIWy5YtY/Dgwaxdu5YqVaqwcuVK2rXT\nxfgieZlzzusajkp8fLxbtmxZsR936bw42vdJyvNo6XrtRERECiMrK4tJkyZx++23k56eTuvWrZkx\nYwbHH3+816WJFCszW+6ciz/SdroosZDyhuksdy5ZLsujakRERMJn165dPPHEE6SnpzNq1Ci+/vpr\nhWmRw1CgPkqtxw8CHG//NIyI+yK44LULvC5JRESkSHzxxRekpaURHR3N9OnTmT17Nk899RSVKlXy\nujSREk2BOkiZWZkARPg0D7WIiJRu6enp3H777XTt2pW77roLgNNPP53+/ft7XJlI6aCLEoOUkZUB\naJYPEREp3davX8+QIUP4+uuv8fl8VKtWzeuSREodpcEgKVCLiEhpN2fOHC655BJ27dpFgwYNePXV\nV+natavXZYmUOhryESQFahERKe1q1arF3r17GTBgACtXrlSYFgmSAnWQ4mLiGNF2BGc0PsPrUkRE\nRApt1apVPPHEEwB06dKFxYsX89Zbb1GrVi2PKxMpvdS9GqQujbrQpVEXr8sQEREpFOcczz33HP/8\n5z9JTU3llFNOoUePHlqoRaQIKFAHKctlYRhm5nUpIiIih7Vt2zaGDRvGrFmzABg2bBidOnXyuCqR\nskNDPoL0xNdP4LvPxz8X/NPrUkRERAp04MAB2rdvz6xZs6hRowYzZsxg6tSpVK1a1evSRMoMBeog\nHZyH2jQPtYiIlDzOOQAqVarE8OHD6dixI4mJiQwaNMjjykTKHgXqIGmWDxERKak2b97MmWeeydy5\ncwG49dZbWbRoEU2bNvW4MpGySWkwSArUIiJSEs2ZM4crrriClJQUtm7dSu/evfH5fPh86kMTCRd9\nuoKkQC0iIiVJamoqN954I/379yclJYVevXrx0UcfKUiLFAN9yoLUrl47RrQdQbt6mm5IRES898or\nr/DUU08RGRnJ+PHjmTdvHnXq1PG6LJFyQd2rQerfsj/9W/b3ugwRESnHnHNs3ryZhg0bcvnll7Nk\nyRKuuuoq2rdv73VpIuWKeqiDlOWyDl5BLSIiUtx27drFJZdcQuvWrdm0aRM+n4/JkycrTIt4QIE6\n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\ngg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# plot roc-curve\n", "# code adapted from http://scikit-learn.org\n", "mean_tpr = 0.0\n", "mean_fpr = np.linspace(0, 1, 100)\n", "\n", "colors = cycle(['cyan', 'indigo', 'seagreen', 'yellow', 'blue', 'darkorange'])\n", "lw = 2\n", "\n", "i = 0\n", "for (train, test), color in zip(kfold.split(X, Y), colors):\n", " probas_ = model.fit(X[train], Y[train]).predict_proba(X[test])\n", " # Compute ROC curve and area the curve\n", " fpr, tpr, thresholds = roc_curve(Y[test], probas_[:, 1])\n", " mean_tpr += interp(mean_fpr, fpr, tpr)\n", " mean_tpr[0] = 0.0\n", " roc_auc = auc(fpr, tpr)\n", " plt.plot(fpr, tpr, lw=lw, color=color,\n", " label='ROC fold %d (area = %0.2f)' % (i, roc_auc))\n", "\n", " i += 1\n", "plt.plot([0, 1], [0, 1], linestyle='--', lw=lw, color='k',\n", " label='Luck')\n", "\n", "mean_tpr /= kfold.get_n_splits(X, Y)\n", "mean_tpr[-1] = 1.0\n", "mean_auc = auc(mean_fpr, mean_tpr)\n", "plt.plot(mean_fpr, mean_tpr, color='g', linestyle='--',\n", " label='Mean ROC (area = %0.2f)' % mean_auc, lw=lw)\n", "\n", "plt.xlim([-0.05, 1.05])\n", "plt.ylim([-0.05, 1.05])\n", "plt.xlabel('False Positive Rate')\n", "plt.ylabel('True Positive Rate')\n", "plt.title('Receiver operating characteristic example')\n", "plt.legend(loc=\"lower right\")\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 6. Remarks\n", "From the above results our algorithm achieved auc-roc (i.e. area under the precision-recall curve) score of 0.979. The auc-roc curve in insensitive to class imbalanace and hence is the preferred evaluation metric for estimating the performance of our learning function.\n", "\n", "### Further Remarks\n", "Several other techniques that can be explored/ benchmarked:\n", "- Visualization to understand the transaction trends over time, more ideas can be gotten to understand more about fraudulent transactions\n", "- Research deep learning techniques to this problem such as Reccurent Neural Networks using the time component for sequence-to-sequence learning\n", "- Consider other learning options such as anomaly detection or change detection" ] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.13" } }, "nbformat": 4, "nbformat_minor": 2 }