{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "This is a continuation of the credit card fraud detection - data visualization post. I now build a machine learning model using Adaptive Synthetic Sampling to detect credit card frauds.\n", "\n", "I came across Kaggle's dataset on [Credit Card Fraud Detection](https://www.kaggle.com/dalpozz/creditcardfraud) and decided to dive into this problem. This dataset includes transactions by European cardholders completed in September 2013. I want to explore some of the classification methods that could be used to solve this problem. The biggest challenge of this problem is the class imbalance - only 0.172% of all transactions in this dataset are fraudulent. The goal of this project is to start with a simple yet powerful model like [Logistic Regression](https://onlinecourses.science.psu.edu/stat504/node/149). Along with implementing logistic regression, I also wanted to explore some the methods used to handle class imbalance. In this post, I use [Adaptive Synthetic Sampling (ADASYN)](http://ieeexplore.ieee.org/document/4633969/?part=1), which is further discussed in this post.\n", "" ] }, { "cell_type": "markdown", "metadata": { "toc": "true" }, "source": [ "# Table of Contents\n", "

1  Credit Card Fraud Classification using Adaptive Synthetic Sampling approach
1.1  Metrics for model evaluation
1.2  Adaptive Synthetic Sampling (ADASYN)
1.3  Model selection and cross-validation strategy
1.4  Define functions
2  Simple Logistic Regression
2.1  Understanding Logistic Regression
2.1.1  Training logistic regression
2.2  Train Logistic Regression for Credit Card Data
2.2.1  L2 Regularization Parameter Sweep
2.2.2  L1 Regularization Parameter Sweep
2.2.3  Learning curve
2.3  Final Model - Logistic Regression
3  References
" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "import os\n", "os.chdir('D:/ML_Projects/CreditCardFraud/') #Set working directory\n", "import pandas as pd\n", "import numpy as np\n", "\n", "import matplotlib.pyplot as plt\n", "import seaborn as sns\n", "import itertools\n", "import datetime\n", "from collections import Counter\n", "from sklearn.linear_model import LogisticRegression\n", "from sklearn.tree import DecisionTreeClassifier\n", "from sklearn.model_selection import train_test_split, StratifiedShuffleSplit, validation_curve, learning_curve, GridSearchCV\n", "from sklearn.preprocessing import StandardScaler\n", "import sklearn.metrics as mt\n", "from itertools import cycle\n", "\n", "from scipy import interp\n", "\n", "from imblearn.over_sampling import ADASYN\n", "\n", "from mpl_toolkits.mplot3d import Axes3D\n", "import matplotlib.patches as mpatches\n", "\n", "sns.set_style('whitegrid')\n", "\n", "%matplotlib inline" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Number of instances: 284807\n", "Number of features: 31\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
TimeV1V2V3V4V5V6V7V8V9...V21V22V23V24V25V26V27V28AmountClass
00.0-1.359807-0.0727812.5363471.378155-0.3383210.4623880.2395990.0986980.363787...-0.0183070.277838-0.1104740.0669280.128539-0.1891150.133558-0.021053149.620
10.01.1918570.2661510.1664800.4481540.060018-0.082361-0.0788030.085102-0.255425...-0.225775-0.6386720.101288-0.3398460.1671700.125895-0.0089830.0147242.690
21.0-1.358354-1.3401631.7732090.379780-0.5031981.8004990.7914610.247676-1.514654...0.2479980.7716790.909412-0.689281-0.327642-0.139097-0.055353-0.059752378.660
31.0-0.966272-0.1852261.792993-0.863291-0.0103091.2472030.2376090.377436-1.387024...-0.1083000.005274-0.190321-1.1755750.647376-0.2219290.0627230.061458123.500
42.0-1.1582330.8777371.5487180.403034-0.4071930.0959210.592941-0.2705330.817739...-0.0094310.798278-0.1374580.141267-0.2060100.5022920.2194220.21515369.990
\n", "

5 rows × 31 columns

\n", "
" ], "text/plain": [ " Time V1 V2 V3 V4 V5 V6 V7 \\\n", "0 0.0 -1.359807 -0.072781 2.536347 1.378155 -0.338321 0.462388 0.239599 \n", "1 0.0 1.191857 0.266151 0.166480 0.448154 0.060018 -0.082361 -0.078803 \n", "2 1.0 -1.358354 -1.340163 1.773209 0.379780 -0.503198 1.800499 0.791461 \n", "3 1.0 -0.966272 -0.185226 1.792993 -0.863291 -0.010309 1.247203 0.237609 \n", "4 2.0 -1.158233 0.877737 1.548718 0.403034 -0.407193 0.095921 0.592941 \n", "\n", " V8 V9 ... V21 V22 V23 V24 \\\n", "0 0.098698 0.363787 ... -0.018307 0.277838 -0.110474 0.066928 \n", "1 0.085102 -0.255425 ... -0.225775 -0.638672 0.101288 -0.339846 \n", "2 0.247676 -1.514654 ... 0.247998 0.771679 0.909412 -0.689281 \n", "3 0.377436 -1.387024 ... -0.108300 0.005274 -0.190321 -1.175575 \n", "4 -0.270533 0.817739 ... -0.009431 0.798278 -0.137458 0.141267 \n", "\n", " V25 V26 V27 V28 Amount Class \n", "0 0.128539 -0.189115 0.133558 -0.021053 149.62 0 \n", "1 0.167170 0.125895 -0.008983 0.014724 2.69 0 \n", "2 -0.327642 -0.139097 -0.055353 -0.059752 378.66 0 \n", "3 0.647376 -0.221929 0.062723 0.061458 123.50 0 \n", "4 -0.206010 0.502292 0.219422 0.215153 69.99 0 \n", "\n", "[5 rows x 31 columns]" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Read credit card fraud data\n", "cc_fraud = pd.read_csv('./Data/creditcard.csv')\n", "print(\"Number of instances: %d\" % cc_fraud.shape[0])\n", "print(\"Number of features: %d\" % cc_fraud.shape[1])\n", "cc_fraud.head()" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0 99.827251\n", "1 0.172749\n", "Name: Class, dtype: float64" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "cc_fraud.Class.value_counts()*100/cc_fraud.shape[0]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To deal with high class imbalance, we perform oversampling. The technique used to perform over sampling is discussed in the following section.\n", "\n", "## Metrics for model evaluation\n", "\n", "We have to keep imbalance in mind when evaluating model performance. An appropriate metric in this case would be an precision and recall, taking into account the class imbalance.\n", "\n", "Precision, Recall and F1-score is defined as follows - \n", "\n", "Let,\n", "* K = number of class\n", "* TP = True Positives\n", "* FP = False Positives\n", "* TN = True Negative\n", "* FN = False Negative\n", "\n", "Then we can define precision and recall for each class *k* as,\n", "$$ Precision = \\frac {TP}{TP+FP} $$\n", "Precision gives us the predictive value of the model, evaluating our model on the basis of how well our model can predict the positive class, in this case, a fraudulent transaction.\n", "\n", "$$ Recall = \\frac {TP}{TP+FN} $$\n", "Recall is also equivalent to true-positive rate, evaluating our model performance on the basis of detecting the positive class, in this case, a fraudulent transaction.\n", "\n", "Therefore we define the f1-score for class *k* which is just the harmonic mean of precision and recall for class *k* as,\n", "\n", "$$ f1_k = 2*\\frac {precision * recall}{precision + recall} $$\n", "\n", "Then the weighted (weights are defined as the total number of instances for each class) average of f1-scores for all classes is given by \n", "\n", "$$ F1_{weighted} = \\frac {\\sum_{k=1}^{K} {w_k*f1_k}}{\\sum_{k=1}^{K} w} $$\n", "\n", "where $w_k$ is the total number of instances for class *k*" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Adaptive Synthetic Sampling (ADASYN)\n", "Over-sampling using Adaptive Synthetic Sampling Approach. According to the [ADASYN paper](http://ieeexplore.ieee.org/document/4633969/?part=1), **ADASYN generates synthetic samples that are difficult to classify**, so that our machine learning model is able to learn more about the difficult samples. \n", "\n", "The idea of the algorithm is as follows - \n", "- Compute the class imbalance ratio \n", "- Calculate the total number of synthetic samples that need to be generated for the minority class. (G)\n", "- For each of the minority sample, compute **K** nearest neighbours based on the Euclidean distance in the n-dimensional space and calculate the ratio $r_i$ as $$r_i = \\frac{\\Delta_i}{K}$$\n", "where $\\Delta_i$ is the number of samples in the **K** nearest neigbours that belong to the majority class.\n", "- Normalize $r_i$ so that get a density distribution\n", "- Calculate the number of synthetic samples that need to be generated for each of the minority samples\n", "- For each of the minority samples, create synthetic samples in the following manner: $$s_i = x_i +(x_z - x_i)*\\lambda$$\n", " - $x_z$: Randomly selected minority sample\n", " - $(x_z - x_i)$: Difference between the samples in the n-dimensional space\n", " - $\\lambda$: Random number between $[0,1]$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's create synthetic samples using only the **PCA features.**" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Original data shape: Counter({0: 170604, 1: 280})\n", "Reshaped data shape: Counter({1: 170618, 0: 170604})\n", "Wall time: 2.36 s\n" ] } ], "source": [ "%%time\n", "pd.options.mode.chained_assignment = None # default='warn'\n", "ros = ADASYN(n_neighbors = 5, ratio = 'auto', random_state=123, n_jobs = -1)\n", "\n", "X = cc_fraud.drop(['Class', 'Time'], axis = 1)\n", "y = cc_fraud['Class']\n", "\n", "# X_data = np.array(X_data)\n", "# y_data = np.array(y_data)\n", "\n", "# Create train and test data\n", "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.4, random_state = 735215)\n", "\n", "# Convert amount to standar scaler format\n", "ss_obj = StandardScaler()\n", "X_train['nAmount'] = ss_obj.fit_transform(X_train['Amount'].values.reshape(-1,1))\n", "X_train = X_train.drop(['Amount'], axis=1)\n", "\n", "# Fit standard scaler object to test data\n", "X_test['nAmount'] = ss_obj.transform(X_test['Amount'].values.reshape(-1,1))\n", "X_test = X_test.drop(['Amount'], axis=1)\n", "\n", "X_ros, y_ros = ros.fit_sample(X_train, y_train)\n", "print('Original data shape: {}'.format(Counter(y_train)))\n", "print('Reshaped data shape: {}'.format(Counter(y_ros)))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Model selection and cross-validation strategy\n", "\n", "We will use train data to train our logistic regression model and a fraction of the training data as the validation data to select the regularization parameter for the model. After selecting our model based on the validation performance, we will check the performance on test data.\n", "\n", "**Stratified k-fold cross validation** creates folds of train and test/validation data by maintaining the class distribution in each of the fold, thus each fold representing the class distribution of the population or the training data in this case." ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# Define stratified k-fold cross validation object\n", "\n", "K = 10 #Number of folds for cross validation\n", "stratified_cv = StratifiedShuffleSplit(n_splits = K, random_state = 489567)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Define functions" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "code_folding": [], "collapsed": true }, "outputs": [], "source": [ "def plot_val_curve(train_scores, val_scores, param_range, plt_title):\n", " train_scores_mean = np.mean(train_scores, axis=1)\n", " train_scores_std = np.std(train_scores, axis=1)\n", " val_scores_mean = np.mean(val_scores, axis=1)\n", " val_scores_std = np.std(val_scores, axis=1)\n", " \n", " plt.figure(figsize=(14,6))\n", " \n", " plt.title(plt_title)\n", " plt.xlabel(\"$C-Regularization parameter$\")\n", " plt.ylabel(\"Accuracy\")\n", " \n", " lw = 2\n", " plt.semilogx(param_range, train_scores_mean, label=\"Training score\",\n", " color=\"darkorange\", lw=lw)\n", " plt.fill_between(param_range, train_scores_mean - train_scores_std,\n", " train_scores_mean + train_scores_std, alpha=0.2,\n", " color=\"darkorange\", lw=lw)\n", " \n", " plt.semilogx(param_range, val_scores_mean, label=\"Cross-validation score\",\n", " color=\"navy\", lw=lw)\n", " \n", " plt.fill_between(param_range, val_scores_mean - val_scores_std,\n", " val_scores_mean + val_scores_std, alpha=0.2,\n", " color=\"navy\", lw=lw)\n", " plt.legend(loc=\"best\")\n", "\n", "def plot_learning_curve(X,y,clf_estimator, cv_estimator, scorer, xlabel=''):\n", " train_x_axis, train_scores, test_scores =learning_curve(estimator=clf_estimator,\n", " X=X,\n", " y=y,\n", " train_sizes=np.linspace(0.1, 1.0, 10),\n", " cv=cv_estimator,\n", " scoring=scorer,\n", " exploit_incremental_learning=False,\n", " n_jobs=-1)\n", " train_mean = np.mean(train_scores, axis=1)\n", " train_std = np.std(train_scores, axis=1)\n", " test_mean = np.mean(test_scores, axis=1)\n", " test_std = np.std(test_scores, axis=1)\n", "\n", " plt.plot(train_x_axis, train_mean,\n", " color='blue', marker='o',\n", " markersize=5, label='training accuracy')\n", "\n", " plt.fill_between(train_x_axis,\n", " train_mean + train_std,\n", " train_mean - train_std,\n", " alpha=0.15, color='blue')\n", "\n", " plt.plot(train_x_axis, test_mean,\n", " color='green', linestyle='--',\n", " marker='s', markersize=5,\n", " label='validation accuracy')\n", "\n", " plt.fill_between(train_x_axis,\n", " test_mean + test_std,\n", " test_mean - test_std,\n", " alpha=0.15, color='green')\n", "\n", " plt.grid()\n", " plt.xlabel(xlabel)\n", " plt.ylabel('Accuracy')\n", " plt.legend(loc='lower right')\n", " plt.tight_layout()\n", " \n", "\n", "def plot_confusion_matrix(cm, class_names, title_text='Confusion Matrix', normalize=False):\n", " plt.figure(figsize=(10,5))\n", " acc = cm.diagonal().sum()/cm.sum()\n", " \n", " if normalize:\n", " cm = cm.astype('float') / cm.sum(axis=1)[:, np.newaxis]\n", " print(\"Normalized confusion matrix\")\n", " else:\n", " print('Confusion matrix, without normalization')\n", " \n", " sns.heatmap(cm, annot=True, fmt='.2f', xticklabels=class_names, yticklabels=class_names,\n", " annot_kws={\"size\":15})\n", " plt.title(title_text+' Accuracy = {:.4f}'.format(acc), fontsize=20)\n", " plt.xlabel('Predicted', fontsize=16)\n", " plt.ylabel('Actual Class', fontsize=16)\n", " plt.tick_params(labelsize=14)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Simple Logistic Regression\n", "\n", "Logistic regression is a probabilistic model that models a binary response variable based on different explanatory variables. It has the following advantages - \n", "\n", "1. Easy model to implement and interpret. The weights help us explain the effect of individual explanatory variables on the response variable.\n", "\n", "2. Although it is generally used for binary response variables, it can be extended to multiclass classification using 'one-vs-rest' methodology. In one-vs-all methodology, *K* binary classifiers are built for *K-class* classification. A given sample is assigned to the class for which it has been assigned the maximum probability.\n", "\n", "3. Performs well on linearly seperable cases." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Understanding Logistic Regression\n", "\n", "To understand logistic regression, let's start with defining odds ratio.\n", "\n", "$ Odds Ratio = \\frac{p}{1-p} $\n", "\n", "where p = the probability of the event of interest. e.g - probability of a patient surviving\n", "\n", "Taking the log of the odds ratio, logit(p) is defined as\n", "\n", "$logit(p) = log{\\frac{p}{1-p}}$\n", "\n", "which can be further expressed in linear form as\n", "\n", "$ logit(p(y=1|x)) = w_0 + w_1x_1 + ... + w_mx_m = \\sum_{i=1}^{m} {w_ix_i} = W^TX $\n", "\n", "where, \n", " * p(y=1|x) = conditional probability of a sample belonging to class 1\n", " * m = number of samples\n", " * X = explanatory features\n", " * W = weights\n", "\n", "Using this information, we can now compute $p(y=1 | x)$. \n", "\n", "To compute, we need to compute the inverse of the logit function, which also known as logistic or the sigmoid function. It is defined as follows \n", "\n", "$ \\phi(z) = \\frac{1}{1+e^{-z}} $" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nDhw4gJSUFFSpUqXMchbWq1cvfPjhh/jyyy9x6tQp1KxZE1u3bkVubi6io6Nv+Hrbtm2Lfv36YcmS\nJejduzfatWsHs9mMlStXwmg0Yvz48e55q1WrhmPHjmHChAm45557iv3imt69eyMxMRGrV6/G/fff\nj/bt27s/p24ymTB27Fh+RI28EpfUiZD/Ua6PPvoIs2bNQrt27XDo0CHMmzcPixcvht1ux+jRo7F0\n6VJUrlz5qtfTs2dPfPzxx6hbty5WrFiB1atXo0ePHu5SKWmnuBs1ePBgfP7552jcuDHWrFmDpUuX\nIiIiApMnT8Z777131csGBQVh7ty5eOqpp3DhwgV8//33AIC5c+eWuInhZkVGRmLevHmIj49HUlIS\nFi9ejHr16uG777676YPdTJkyBRMmTIBOp8PChQuxdu1atG/fHt9//73HXuzjx49HzZo1sWTJkmK/\nfQ/I3/Y/Y8YMjB07FkajET/++CM2bNiApk2b4quvvipy4BkibyGJgvVuRHRTTCYTzGYzqlWrVmSv\n5yVLluD111/HBx98gB49eiiUkIj8HZfUicrI8ePH0b59e7z++use0202GxYsWACNRuP+jDMRUXng\nNnWiMtK4cWPExsbip59+wunTpxEbGwubzYYNGzbgzJkzeOGFF1C9enWlYxKRH+Pqd6IylJubi6++\n+gq//fYbzp49C61Wi5iYGAwcOBDdunVTOh4R+TmWOhERkZ/gNnUiIiI/wVInIiLyE36xo9zZs2eV\njkAUcPr37w8A+PHHHxVOQhRYrnagJi6pExER+QmWOhERkZ9gqRMREfkJljoREZGfYKkTERH5CZY6\nERGRn2CpExER+QmWOhERkZ9gqRMREfkJljoREZGfYKkTERH5CZY6ERGRn2CpExER+QmWOhERkZ9g\nqRMREfkJljoREZGfYKkTERH5CZY6ERGRn2CpExER+QmWOhERkZ9gqRMREfkJljoREZGf0Cgd4OjR\no1iwYAEmTpzoMX3Pnj1YsmQJVCoVOnbsiISEBGUCEhER+QhFS/3nn39GUlISdDqdx3Sn04lvvvkG\nU6dOhU6nw7hx4xAXF4eIiAiFkhIREXk/RUu9evXqeOmllzBr1iyP6WfOnEFUVBRCQkIAADExMThy\n5Aji4+OViElERNdBCAG4nIDTCbhcgMsBOF3504QMyDIgBCALQLj++V8u9H/BuJx/vvDpgjH3aeCf\n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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "def sigmoid(z):\n", " return (1.0/(1.0+np.exp(-z)))\n", "z = np.arange(-10,10,0.1)\n", "phi_z = sigmoid(z)\n", "plt.style.use('ggplot')\n", "plt.figure(figsize=(8,6))\n", "plt.plot(z, phi_z)\n", "plt.axvline(0.0, color='k')\n", "plt.axhspan(0.0,1.0,facecolor='1.0',alpha=1.0, ls='--')\n", "plt.axhline(y=0.5,ls='--',color='k')\n", "plt.yticks([0.0,0.5,1.0])\n", "plt.ylim(-0.1,1.1)\n", "plt.xlabel('z', fontsize=15)\n", "plt.ylabel('$\\phi(z)$', fontsize=15)\n", "plt.title('Sigmoid Function', fontsize=20)\n", "plt.grid('off')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "From the above plot, we can see that $lim_{z\\to\\infty} {\\phi(z)} = 1$ and $lim_{z\\to-\\infty} {\\phi(z)} = 0$. Hence, the sigmoid function takes real numbers as input and transforms them into the range [0,1] with an intercept at $\\phi(z) = 0.5$. This is convenient in terms of modeling probabilities. Hence, the predicted output can be written as,\n", "\n", "$\\hat{y} = \n", "\\left\\{\n", "\t\t\\begin{array}{ll}\n", "\t\t\t\t1 & \\mbox{if } \\phi(z) \\geq 0.5\\\\\n", "\t\t\t\t0 & \\mbox otherwise\n", "\t\t\\end{array}\n", "\\right.$\n", "\n", "or\n", "\n", "$\\hat{y} = \n", "\\left\\{\n", "\t\t\\begin{array}{ll}\n", "\t\t\t\t1 & \\mbox{if } z\\geq0\\\\\n", "\t\t\t\t0 & \\mbox otherwise\n", "\t\t\\end{array}\n", "\\right.$\n", "\n", "Therefore, we have\n", "\n", "$ P(Y=1|X) = \\frac{1}{1+exp(-W^TX)} $\n", "\n", "and\n", "\n", "$ P(Y=0|X) = \\frac{exp(W^TX)}{1+exp(W^TX)} $\n", "\n", "From the above equation, the linear classification rule can be defined as \n", "\n", "$ ln\\frac{P(Y=0|X}{P(Y=1|X} = w_0 + W^TX $\n", "\n", "\n", "### Training logistic regression\n", "\n", "Sum-squared error as the cost function for the model is defined as \n", "\n", "$ J(w) = \\sum_{i} {\\frac{1}{2} ({\\phi (z^{i}) - y^{i}})^2} $\n", "\n", "We need to maximize the likelihood of sample *x* belonging to class *k*. Therefore,\n", "\n", "$ L(w) = P(y|x;w) = \\prod_{i=1}^{N} P(y^{i}|x^{i},w) = \\prod_{i=1}^{N} (\\phi(z^{i})^{y^{i}}) (1-\\phi(z^{i}))^{1-y^{i}}$\n", "\n", "The conditional log-likelihood then can be defined as\n", "\n", "$ l(w) = \\sum_{i=1}^{N} [({y^{i}}\\phi(z^{i})) + (1-y^{i})(1-\\phi(z^{i}))]$\n", "\n", "MLE for logistic regression is given by\n", "\n", "$ w_{MLE} = \\underset{w}{\\operatorname{argmax}} \\sum_{i=1}^{N} [({y^{i}}\\phi(z^{i})) + (1-y^{i})(1-\\phi(z^{i}))]$\n", "\n", "In words, we can say that, given a training set, we would like to find a set of parameters or weights such that $ P(y=1|x) $ is close to $1$ for a positive sample and is close to 0 otherwise.\n", "\n", "The function can be looked from optimization point of view. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Train Logistic Regression for Credit Card Data\n", "\n", "We are using only the **PCA features.**" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### L2 Regularization Parameter Sweep" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "[Parallel(n_jobs=-1)]: Done 80 out of 80 | elapsed: 2.3min finished\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0UAAAGOCAYAAABYN6jrAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xl8VNX9//HXnS2ZJCQhZJkJYYcgshiUoihFpdZ9r3ax\nxQ2LVsUFK9qCKCIiLrV1Aa1Qca8oaFW+YlVcflis4kZdkDUkZN+XmUlm5t7z+2OWZLKRwIQE8nk+\nHjEz95577r2TMZk3597z0ZRSCiGEEEIIIYToo0w9fQBCCCGEEEII0ZMkFAkhhBBCCCH6NAlFQggh\nhBBCiD5NQpEQQgghhBCiT5NQJIQQQgghhOjTJBQJIYQQQggh+jQJRUII0cLo0aP54IMP2l2/Y8cO\nZs6cyaRJkzjxxBO57777aGhoaLPt3r17GT16dMTXmDFjOPbYY7nhhhsoLS3trtNoZV/n1d3bh7hc\nLl555ZXw89tvv50bbrjhgPtty3//+99Wr/+ECRO46KKLWLduXbfss7ts3bqVTz/9NKp9VlZWsmDB\nAqZOncq4ceP42c9+xtKlS6mvr4/qfoQQorez9PQBCCHEoaS+vp6rrrqKyZMn8/LLL1NWVsa8efPw\n+Xzccccd7W733HPPMWzYMAB0XWfbtm3cdddd3H777fzjH/84WId/QDZu3EhSUtIB9/P000+zYcMG\nLr74YgDmzZtHd5fMe++994iNjQWgsbGRf/3rX8yZM4eMjAwmTZrUrfuOlmuvvZYrr7yS4447Lmp9\nXn311SQlJfH4448zYMAAdu7cyZIlS9i+fTsrVqyI2n6EEKK3k1AkhBBd8Mknn1BfX88999yDzWZj\nxIgR3HjjjSxatKjDUJScnExaWlr4ucPh4MYbb2Tu3LnU1dXRr1+/g3H4B6T58R+IlgHoYJx7SkoK\n8fHx4efXXXcdb7zxBu+8884hE4qi7ccff2TLli189NFHOBwOALKysrDb7cyYMYO9e/eSlZXVw0cp\nhBAHh1w+J4QQXZCTk8Pjjz+OzWYLL9M0DZ/Ph2EYXerLZrOhaRomU+BXcX19PXfccQeTJ08OX15X\nUlISbl9TU8NNN93E0UcfzYknnsjatWs58sgj2bt3L9D68rbQpWMul6vVvsvLy7nllls47rjjGDdu\nHKeccgqvvvpqeP306dO5//77OemkkzjppJOoqakJ99/WJWmjR49m+vTpALjdbu666y6mTp3K2LFj\nOfHEE3niiScAWLt2LY899hjfffcdo0ePZu/eva0un9u0aRO//OUvycnJ4eSTT2bFihXhILV27Vou\nvPBCnnrqKU444QSOPfZY/vjHP+J2u7v02gNYrdbwz3F/Xo8tW7Zw2WWXMXHiRMaPH8/FF1/M119/\nHd5m9OjRvP3225x77rlMmDCByy+/nKKiIv70pz8xceJEpk+fznvvvRduX1ZWxo033sjEiROZOnUq\n8+bNo66uDoAZM2ZQUFDAokWLmDFjxj7bhy7bXLZsGZMnT+b3v/99q/MPve/+3//7fxHLjznmGNat\nW0d6ejr33nsvM2fODK9bv349o0ePZsuWLeFlZ5xxBq+//joAH330Eeeddx4TJkzgrLPOYs2aNRF9\nd7R+7dq1nHfeeTz55JNMnjyZ4447jgcffBBd1/f5sxRCiAMloUgIIbogIyODY489Nvxc13Wee+45\njj766PCHzM7YuXMny5cvZ9q0aeERjAULFpCbm8vKlSt57rnn0DSNq666Cr/fD8CcOXPIz8/n2Wef\n5YEHHuCJJ57Y7w+Mc+fOpbKyklWrVrFu3TqmT5/OXXfdRXl5ebjNq6++yqOPPsqjjz4acdncxIkT\n2bhxY/jr+eefJyYmhlmzZgGwZMkSvv76a5YtW8b69euZMWMGDz/8MN9//z1nnnkmV155JUcccQQb\nN27E6XRGHNfmzZu56qqrOOmkk3jttde4+eabWbZsGS+++GK4zbZt2/jyyy9ZtWoV99xzD++++y6r\nV6/u9Ll7PB6effZZduzYEQ5yXX09zGYzv//97xkzZgz/+te/WL16NXFxcSxYsCBiXw8++CB33HEH\nL7zwAlu3buW8885j2LBhvPrqqxxzzDERlw7Onj0bgJdffpnly5eTl5fHzTffDMCjjz6Kw+Fgzpw5\nPProo/tsH/Lxxx+zevVq5s6d2+p1GDVqFFOnTmX+/PmceeaZLF68mPfffx+v18vIkSOx2WxMmzaN\nL7/8Ep/PBwSCtqZpfP755wAUFhaSm5vLT3/6U7Zv384NN9zAJZdcwltvvcV1113H0qVLw/du7Ws9\nBP6/+OCDD3jmmWdYsmQJr7zyCsuWLev0z1YIIfabEkIIESE7O1tt2LChU23vvPNONX78ePXDDz+0\nuT4/P19lZ2erCRMmqJycHJWTk6PGjh2rjjnmGHX77ber6upqpZRSeXl5Kjs7WxUXF4e3bWxsVDk5\n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\n/OQnABx77LGsW7eOadOmhX8uV155JR9++CFPPPEEe/bs4e2332bp0qVkZGR0aj0ERmH/9Kc/sX37\ndt577z2efPJJLr300i6/nkII0VUSioQQog2PPvoov//97yO+PvnkE95++20AFi1axNSpUyO+ujot\n9G233YbFYuHee+8FYOnSpYwbN47rrruOiy66iIaGBlatWhWu43PvvfeSkZHBb3/7W26++WYuuOAC\noOlysgULFuD1ejnvvPNYunQpt9xyS5v7zcjI4O6772b16tWcccYZ3HPPPVxyySWMHj2a7777bp/H\nvX79etxuNw899BBTpkyJeA1KS0t56KGH+M9//sNZZ53FbbfdxgknnMCJJ54Y7vu0004jPj6eM888\nM3zvTsiYMWN49NFHWb9+Peeccw5//etfuf7667nmmmu69Np2xf68HmeccQa//OUvuf322zn33HN5\n+eWXueeee9A0jW+//bbLx2AymVi+fDnJyclceumlzJgxg7S0NJ566qnwJWWXXnopb7zxBjNnzuxU\n+31JTEzkpZdeYvz48dx9992cdtppXHfddTQ2NvLSSy9FzDg4bdo0oOk+tp/85CcopcLLAcaNG8cj\njzzC//3f/3HWWWdx//33c80114Sn9N7XegiEzfHjx/PrX/+ahQsXctVVV3HFFVd0+fUUQoiu0tT+\njPMLIYQ4qDweD//5z3/46U9/Gr5/Z8uWLVxyySV8/fXXETerC3EoWrt2LUuXLuW///1vTx+KEKIP\nkpEiIYQ4BMTExDBv3jwefvhh8vPz+fbbb1m6dCmnnnqqBCIhhBDiAEkoEkKIQ0DocqmvvvqKc845\nh6uuuooRI0Zw99139/ShCSGEEIc8uXxOCCGEEEII0afJSJEQQgghhBCiT5NQJIQQQgghhOjTJBQJ\nIYQQQggh+rTDasqiwsLCnj4EEZSamkp5eXlPH4boQfIeEPIeEPIeEPIeEL3tPZCZmdnmchkpEkII\nIYQQQvRpEoqEEEIIIYQQfZqEIiGEEEIIIUSfJqFICCGEEEII0adJKBJCCCGEEEL0aRKKhBBCCCGE\nEH2ahCIhhBBCCCFEn3ZY1SnqbZYtW8a2bduorKyksbERp9NJcnIyd9111z633bFjB5988gmXXXZZ\nm+s/++wzSkpKOOecc6J81EIIIYQQQvQtEoq60bXXXgvA+vXrycvLY9asWZ3eduTIkYwcObLd9ZMn\nTz7g4xNCCCGEEEJIKOoRX3/9NU8++SRWq5Wzzz6bmJgYXn/9dZRSACxcuJDdu3fzxhtvsGDBAn73\nu98xbtw48vPz6d+/PwsXLuTdd98lLy+Pc889l0WLFpGWlkZhYSFjxozh5ptvpqamhnvuuQev18ug\nQYP46quveOGFF8LH4PV6WbhwIfX19Xi9Xq6++mpycnJYt24db7zxBoZhcPzxx3PFFVfw7rvvsmbN\nGqxWK1lZWdxyyy289957vP322xiGweWXX05dXR2vvPIKJpOJ8ePH8+c//7mnXl4hhBBCCCG6pM+E\nopSPZhBbuCGqfTZkTqfyxOf2a1uv18vy5csBeP7551myZAmxsbE89NBDfPbZZ6SlpYXbFhUV8Ze/\n/IX09HSuv/56fvzxx4i+9u7dywMPPEBMTAy//e1vqays5KWXXuKEE07g/PPPZ/PmzWzevDlim4KC\nAiorK3nwwQeprq4mPz+fqqoqXnrpJVauXInVamX58uUUFxezatUqnnrqKeLi4nj88cd58803sdvt\nJCQksHjxYmpra7nhhht44okniI2N5d577+U///kP2dnZ+/XaCCGEEEIIcTD1mVDU2wwaNCj8uH//\n/tx3333Y7Xby8vIYO3ZsRNukpCTS09MBSE9Px+v1RqzPzMwkLi4OgJSUFLxeL3v27OG0004DYMKE\nCa32P2zYMM477zwWLVqErutceOGFFBUVMWzYMGJiYgC47rrr2Lp1K0OHDg33P2HCBDZv3syYMWPC\n51BQUEB1dTW33347AG63m71790ooEkIIIYQQh4Q+E4r2d0Snu5hMgYn/6uvrWbVqFf/85z8BuPXW\nW8OX0XWWpmmtlg0bNozvvvuOkSNH8v3337dav2vXLjweD/fddx8VFRVcf/31LF++nLy8PLxeLzab\njTvvvJM//OEP7NmzB4/Hg91u55tvviErKyviHJxOJ+np6Tz44INYLBbWr1/fZhATQgghDmdKKZQK\nfDeMpuehdZFtO+6no7Ydre9K25br9/Xxo+P9tr3O76+nstLd6X201VfbbaLTT2f76lw/UeroMON2\nWwEfcXHWnj6UDvWZUNRbxcfHM3bsWGbNmhW+JK2iogKn03lA/V5yySXce++9fPjhhwwYMACLJfJH\nnZWVxTPPPMM777yD1WrliiuuIDk5md/85jfcdNNNaJrGlClTcDgcXH755cyZMwdN0xg4cCCzZs1i\n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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "clf_LR_L2 = LogisticRegression(penalty='l2', solver='liblinear',\n", " random_state=178926, n_jobs=-1, max_iter=1000)\n", "param_C_range = [1e-9, 1e-5, 1e-3, 1e-2, 1e-1, 1.0,10,100]\n", "train_scores, val_scores = validation_curve(estimator=clf_LR_L2, \n", " X=X_ros, \n", " y=y_ros, \n", " param_name='C', \n", " param_range=param_C_range,\n", " cv=stratified_cv,\n", " n_jobs=-1,\n", " verbose=1,\n", " scoring='accuracy')\n", "\n", "# Average precision corresponds to the area under the precision recall curve\n", "\n", "plot_val_curve(train_scores, val_scores, param_C_range, plt_title='L2 Regularization Parameter Sweep')\n", "plt.xscale('log')\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "C = 0.01 can be used the regularization parameter value." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### L1 Regularization Parameter Sweep" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAzoAAAGOCAYAAABfdXb+AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xd8FHX+x/HXbuqmk0Z6SCGEHjSioAJBxAoW4DhBBMGj\nCYpBkRKlaAABK00POEHhVETxAD39yaHSBSJNNEZaQlUgtPRkd35/BFajQAAJCcn7+Xisyc585zuf\nnfnK7jszO2MyDMNARERERESkGjFXdgEiIiIiIiJXmoKOiIiIiIhUOwo6IiIiIiJS7SjoiIiIiIhI\ntaOgIyIiIiIi1Y6CjoiIiIiIVDsKOiJSI9SrV4+vvvqq3HZFRUV06NCh3LZt27alXr16ZR7NmjXj\noYceYvPmzVeq7HL16NGDl156qdKWP8swDBYuXEhhYSEAH3/8MTfeeONf7vd8/rjtGzZsyO233870\n6dMpKSmpsPVeadnZ2SxduvSK9llSUsI///lP7rjjDho1akSLFi1ITk4mMzPziq5HRKSqc6zsAkRE\nqoqCggKSk5PJyMi4qPbJyck8+OCDQOkH/cOHD/PKK6/Qv39//ve//+Hh4VGR5V4RU6dOxdHxr78V\nbNy4keeee4577rkHFxcX7r77blq3bn0FKjy/SZMm0bJlSwCsVitbt25l+PDhmEwmBg4cWKHrvlIm\nT55Mbm4uHTp0uGJ9vvLKKyxfvpxRo0YRExNDdnY206dPp3v37nz22Wd4eXldsXWJiFRlOqIjIgLs\n2LGDzp07c/DgwYtext3dnYCAAAICAggMDKRJkyZMnDiREydO8O2331ZgtVeOj4/PFQlkf7z3tKur\nK35+fn+53wvx8vKyb/+goCDuuOMOOnTowBdffFGh672SKuKe3R999BGPP/44rVu3JiwsjCZNmvDa\na6+Rm5vL8uXLr/j6RESqKgUdERFg/fr13Hbbbbz//vt/qR9nZ2cAHBwc7NPmzJlDUlKS/dS2LVu2\n2OcZhsHrr79Oy5Ytuf766xk/fjw9evTg448/Bs59atn5TsMrKSnh1VdfpW3btjRs2JCWLVuSmpqK\n1WoFYPjw4Tz99NN06dKF5s2bs3bt2jL9//F0sLOPAwcOADB37lz76VDNmzdn2LBh5OXlsX//fh55\n5BEArrvuOj7++OM/nbqWmZnJwIEDueGGG7jxxhtJSUkhJycHgP3791OvXj0+//xz7rzzTpo1a0aP\nHj3YvXv3JW9/R0dH+z64nO1x9OhRhg4dyk033USjRo1o164dixYtsvffo0cP/vnPf9K/f3+aNGnC\nXXfdxfbt25k1axYtWrTgxhtv5I033rC3Ly4uZsqUKdx8881cf/319OnTx/66pk6dyuLFi/niiy+o\nV69eue2h9JTJSZMm0aZNG9q0acPJkyf/tA1MJhPr168vcwqfxWLhk08+4fbbb2f58uU0a9bMPj87\nO5v4+HhmzZplbz969GhGjBgBwJ49e+jTpw9NmzYlKSmJSZMmUVRUZG97ofln9+2yZcu47bbbaNas\nGYMHDyY7O/uS962IyKVS0BERAfr06cNTTz2Fq6vrZfeRnZ1NamoqAQEBJCYmAvD+++8zf/58xowZ\nw+LFi2ndujU9e/Zk//79AMyaNYv33nuPF198kffee489e/awcePGy1r/7Nmz+c9//sPEiRP54osv\nGDZsGAsWLGDFihX2NsuWLaN79+7MmzePZs2alVl+9erV9sfy5cupU6cO9957L6GhoSxdupSpU6cy\nfPhwvvjiCyZMmMDy5ctZuHAhwcHBTJ06FYDly5dz9913l+n35MmTdOvWDUdHRxYsWMDUqVNJS0tj\n5MiRZdpNnz6dF198kXnz5nHkyBEmT5580a+9pKSEdevW8Z///Id27dpd9vYYNmwY2dnZzJ07l08/\n/ZS2bdsyZswYjh49al9mxowZ3HnnnSxZsoRatWrRp08fduzYwfz58xkwYADTp08nPT0dgDfeeIOV\nK1fy2muvsXDhQqKioujRowenT5+md+/e3HXXXSQlJbF69epy25+1aNEipk6dytSpU/H29v7Ttujd\nuzcff/wxrVu3Zvjw4SxevJijR48SGRmJp6cnLVq0oLi4mG3btgHYjz5u2rSpzFho3bo1hYWF9OnT\nhzp16rB48WImTZrEqlWrePHFFwHKnX/WK6+8wpgxY3j33Xc5cOAATz755EXvWxGRy2aIiNQAcXFx\nxooVK65Y26SkJKNhw4ZGQkKCkZCQYDRp0sRo2LCh0bNnTyMjI8Perk2bNsaSJUvKLPvoo48aEydO\nNAzDMG655RZj3rx59nnZ2dlG06ZNjY8++sgwDMN4+OGH7W3PVd/v53/55ZfG2rVry7S99957jWnT\nphmGYRjPPvusceedd5aZf67+DcMwkpOTjQ4dOhh5eXmGYRjGunXrjP/7v/8r06Zfv37GiBEjDMMw\njPXr1xtxcXFGTk6OYRiG8dFHHxnNmzc3DMMw3n33XePGG2808vPz7ctu2bLFiIuLM/bs2WPs27fP\niIuLMz799FP7/Hnz5hk333zzn+r6/TZo3LixffvHx8cbTZo0MVJSUozCwsLL3h7z5s0zsrKy7M+z\ns7ONuLg4Y+PGjfbt1a9fP/v8BQsWGHFxccbJkyft0xISEoylS5ca+fn5RqNGjYy0tLQy62jfvr0x\nf/58ew2DBw82DMO4qPZJSUnG888/f97tctbnn39u9OzZ02jYsKERFxdn1K9f3xg3bpxRUlJiGIZh\nPPLII8b06dMNwzCM0aNHG3379jUSExMNq9Vq7Nmzx2jYsKFx+vRpY9GiRUb79u3L9J2WlmbEx8df\n1Pyz+3bx4sX2+T/88IMRFxdn7Ny5s9zXISLyV+hiBCIil6lfv3507NiRoqIi/v3vf/Pll18yaNAg\n6tatC0Bubi4HDx4kJSWF559/3r5cUVERzs7OZGdn8+uvv9K4cWP7vFq1alGnTp3Lqqddu3Zs2LCB\nyZMns2fPHjIyMti3bx/t27e3twkPDy+3n9mzZ7Nq1SoWLVqExWIB4KabbmLHjh289tpr7N69m507\nd7J7927uv//+cvvbuXMn9evXL3O0rHHjxjg5ObFz507i4+MBiIyMtM/38PAo9+ppKSkp9tPjXFxc\n8Pf3L3NhhcvZHt26dePzzz9n7ty57N27lx9++AHAfrrbH5dxdXXF29u7zBf8nZ2dKSoqIisri6Ki\nInr37o3JZLLPLywsPOdpeRfb/mL24R133MEdd9xBbm4uGzZs4JNPPmH+/PnUrl2bvn370qpVK775\n5hsGDhzIt99+S0pKCuvXr+enn34iLS2NZs2a4eHhwc6dO9m3b1+Zo3+GYWCz2di7d2+58318fADs\nRzgB4uPjcXZ2JiMjg5iYmHJfi4jI5VLQERG5TLVq1bJ/OB89ejTZ2dkMGDCAJUuWEBwcbP9wPHHi\nRBo0aFBmWVdXV5ycnACw2WwXvc4LffifNm0a8+bNo1OnTrRv356hQ4cydOjQP633QlavXs1rr73G\njBkziIiIsE9fvHgxo0eP5sEHH+TWW29lwIAB9tPVyuPi4nLeeb8PEGe3x1lGOV/UDwgIKBOO/uhS\nt4dhGDz22GMcPnyYe+65h65duxIbG8tdd91VZpk/XqXu96HkXK/tX//6158uzHCuC0BcbPsL7cP0\n9HQ+/PBDnnvuOaD0ghlJSUkkJSXx1FNPsWrVKnvQef3119m3bx8HDhwgMTGRpk2bsmnTJtasWUOb\nNm2A0vGWkJDAhAkT/rSu2rVrlzv/7Cl/v99mhmFgGEaZ77GJiFQEfUdHROQKGT16NA4ODowZMwb4\n7apgv/zyC5GRkfbHvHnzWLVqFZ6engQFBbFjxw57H6dPny5zvxNnZ2dyc3Ptz/ft23fe9c+fP59n\nn32W4cOHc//99xMWFsbBgwcv+speWVlZJCcn8/jjj9OqVas/9d2nTx/GjBlDly5diI+PJzMz0973\n+T7sA8TExPDjjz9SUFBgn7Z9+3aKi4sr9C/6l7o9du7cybp165g1axaDBw+mffv29gsmXOw2/L2I\niAgcHR3Jzs627/vw8HBef/11tm7dCpTdbhfTvjw2m4358+ezYcOGP83z8PCgVq1aANStWxdfX19m\nzZpFkyZNcHFxsV+Q4dtvv7VfGjwmJobMzEyCgoLsNR0/fpxJkybZ99+F5p/1/fff23/fsWMHxcXF\n9iN5IiIVRUFHRGqMHTt2sHLlyjKPX3755Yr17+vry9ChQ/n666/tl/F97LHHmDFjBp999hlZWVlM\nmzaNDz74gOjoaAB69erFm2++yddff83OnTsZMWIEeXl59g/AjRo1Yvny5aSlpZGens7YsWPtVxX7\nIx8fH7755hsyMzPZsWMHTz75JCdPnixzhazzycvL4/HHH+e6666ja9euHDlyxP4oKCjAx8eHb7/9\nlp07d/Lzzz+TkpLCzp077X27ubkBpdv498EMoEOHDri4uDBs2DAyMjLYuHEjI0eOpGXLlsTGxl7e\nxr4Il7o9vLy8cHBw4NNPP+XAgQOsWbOGZ599FuCituEfubu789BDD5GammqvY8yYMXz11Vf20xvd\n3Nw4cOAA+/fvv6j25WnQoAHt27fnySef5MMPPyQrK4sff/yROXPmsHTpUh599FF721atWvHxxx9z\nww03ANC8eXO++uoratWqZd8vHTt2xGw28+yzz5KRkcF3333HiBEjKC4uxtPTs9z5Z02aNIlNmzax\nbds2nnvuOZKSksocMRQRqQg6dU1EaoxznWo1YcIE+00/r4TOnTvz0UcfMX78eG6++WYeeeQRCgoK\nmDx5MkePHiUqKoo33niD6667DoCePXty5MgRnn32WUpKSvj73/9OaGio/TSu3r17s3v3bnr37k2t\nWrV44okn7Jd7/qOJEycyduxYOnTogK+vL+3ataNz585ljhidz/bt28nIyCAjI4MWLVqUmTdhwgRG\njRrFc889R6dOnexX7urXr5/9njVxcXEkJSXRu3dvhg4dWuZqYBaLhTlz5jB+/Hg6d+6Mm5sbd9xx\nB88888xlbeOLdanbo3bt2owbN44ZM2YwY8YMQkND6datGx9++CE7duz401GuizFs2DAcHR0ZOXIk\nOTk51K9fn9mzZ9u/Z/PAAw+wfPly7rnnHpYvX15u+4vx8ssvM3v2bObOncuLL76I2WymadOmzJ49\nu8x3aVq1asUHH3xA8+bNAWjatClOTk5lbvTq5ubGv/71LyZMmECXLl2wWCwkJSXZLz1d3vyzOnXq\nxNChQ8nJyaF9+/aMGjXqkreliMilMhmXczxeRESuiG+++YaGDRvi7+8PlH4n4sYbb+TNN9+0/6Vd\n5Fq1f/9+brvtNpYuXUpcXFxllyMiNYxOXRMRqUQffvghzzzzDBkZGezdu5cXX3wRb29vmjZtWtml\niYiIXNMUdEREKtHzzz+Ph4cH3bt354EHHmDfvn3MmTPnvN/DERERkYtTYaeu2Ww2Zs+eTWZmJk5O\nTvTv35+goCD7/KVLl7J69WrMZjMPPPCA/RxhERERERGRv6rCjuhs3LiR4uJiUlNT6datG++88459\nXm5uLp999hmpqamMGjWKuXPnVlQZIiIiIiJSA1VY0ElPTychIQEovRrPrl277PNcXFwICAigoKCA\nwsLCC95/QURERERE5FJV2OWl8/Pz7fdVADCbzVitVvudkP38/EhOTsZms3H//fdXVBkiIiIiIlID\nVVjQsVgs5Ofn258bhmEPOVu2bOHEiRNMmzYNgNTUVOLj489547jLuUmbVAxHR0dKSkoquwypRBoD\nojEgGgOiMSBVbQyc7wI+FRZ06tWrR1paGi1btiQjI6PMHZDd3d1xdnbGyckJk8mEu7v7n+6kfdbR\no0crqkS5RP7+/tofNZzGgGgMiMaAaAxIVRsDISEh55xeYUGnefPmbNu2jZSUFAzDYODAgSxbtoyg\noCASExPZvn07o0aNwmQyER8fT5MmTSqqFBERERERqWEq7PLSV8rBgwcruwQ5o6qld7n6NAZEY0A0\nBkRjQKraGDjfER3dMFRERERERKodBR0REREREal2FHRERERERKTaUdAREREREZFqp8KuulZdzZgx\n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\nQsIZ1y0qKtKMGTNks9k0fvx4eXp6atWqVdq6datjXbvdrnfffVebNm1SSUmJOnbsqIkTJ8rXEYqa\n4gAACBlJREFU11eStHnzZu3atUuNGjXS9u3bZTabNXnyZHXs2FGfffaZNm7cKIvFom+//VZms1mp\nqanq3LnzJT3fvn37nnP/7du3q3Hjxtq2bZv8/f11zz33KC0tTe+//77Ky8uVmpqq7t27O16fM72n\nVqv1jK+Jh4fHWWdA0hnzXnPNNX94NgGgJuGfbwDgMsvNzdWnn36q66+/3in/Sp6VleU4Ram4uFhr\n165VixYtFBISIkl6++23tXnzZs2aNUurV69WYGCgXnvtNUnS3//+d6Wnp+uhhx7S448/rnfeeUcN\nGzaUn5+fJOnAgQNq2rSp47Gys7MVHh7ueB6/LjpWq1WDBw/W8uXLtXz5cp04cUJbtmxxZPzhhx/U\nrVs3rV69WoMHD1ZWVpaaNWvmWPuuu+7Syy+/rJdfflnXXXedmjVrpt69e5913ZCQEI0dO1bx8fF6\n+eWX9cILL8jDw+O0dV9//XV9/fXXWrRokZ577jlVVlbqzTffPO35ZGRkKDY2VqtWrVJSUpLeffdd\nx3PLyspS9+7dtWLFCg0ePFirVq1y/OzFPt/z7Z+Zman4+HitXr1aEREReuihhyRJTz31lEaMGKG3\n337b8dhne0/P9pqcawbOlhcA3A1FBwAus/T0dPn7+ysqKsop62dlZWnDhg266aabNG7cOBUWFmr2\n7NmqU6eOCgsL9c4772jq1KkKCQmR2WxWYmKiMjMzVVRUpPXr1+v2229XYGCg6tWrp06dOjmKyy9r\n/7ro/PZ2dna2Y/+QkBB17NhRnp6e8vPzU8eOHXXy5EnHfsOGDVNsbKxMJpM8PT2VnZ192lq/+OCD\nD7R161bNmzdPfn5+513312Xpl/uaNm2qgoICbdiwQVOmTFFAQIC8vLwUHx+vzMzM0/a99tprFRMT\nI5PJdNrpXjk5ORoyZIgSEhJkNpvVt29f5ebmqry8/JKe7/n2v/baa9WhQwdHjsjISF199dUym82K\niIhQVVWVJJ3zPT3Ta3K+/c+WFwDcDaeuAcBlVlhYKIvFckH7LliwQN9+++0Zt0VHR2vhwoWn3VdR\nUaEff/xRy5YtU0hIiHbs2KGVK1fKbD71v/P09HRVVFRo9uzZjp+x2+1q3ry50tPTFRIS4jjyI526\nuEBERIQj928/65Gdna3WrVs71jl48KCjrGzfvl0ffPCBfv75Z1VWVqqsrEy33XabpFOlYcKECadl\nz8nJ+V3R2bhxoz7++GPNnz9f9evXP++6WVlZ6tat2xnX3bt3ryIjIxUYGOjYVlRUpICAAEf+nJwc\nx1qSdPDgQTVp0sSxznXXXefYVlhYqLp168rLy+uSnu/59v/1aYyHDh1Sly5dTrsdFhYm6dzv6Zle\nk/Ptf7a8AOBuKDoAcJlZLBbl5+df0Ae8FyxYcFFrHzx4UJ6engoODpYkxcfH680339SOHTuUmJio\nkydPKi4uTtOnT//dz27cuNHxR7906gPoX331lVJSUiSd+uM6NDTU8Yd9VVWVvvnmG1155ZWSpKNH\nj8pkMqlRo0bas2ePXn31VU2bNs3xB/TkyZPVrFkzHTt2TJWVlY4/1CXp2LFjqqqqcuSWpA8//FCb\nN2/W/fff7/hs0bnWtdlsOnjw4GlHL369blpamuOzOL/YtWuX4uPjHfvabLbTch04cEDdunVTcXGx\n8vLyTruYw44dOxQTE3PeXGd6vheyf2hoqGP/7Ozs0z4j8+ujNOd6T8/0mpxr/19eh9/mBQB3xKlr\nAHCZ/fIv82vXrlVJSYkqKyuVk5OjlStXqqio6A+tfeDAAUVERKhOnTqO+zp37qxdu3ZJklq0aKFv\nvvlG+/fvlySVlJRo586dstvtatKkiTIyMnT48GGVlJTohRde0JEjRxynotntdpWVlamqqko2m02v\nvPKKioqKHNuzs7MdR3+ysrIUFBSkJk2aqLi4WCtWrHAcDfrl9LZfl7xfTi/7JfeWLVv04Ycfat68\neaeVi3OtW15ervLycv36WxF+vW7Lli0dz6+0tFSvv/66CgsL1b9/f8e+v831y+d7cnJyZDKZ9Pnn\nn6uqqkq7d+/Wpk2bHCXwYp/vxexfUlKiY8eO/e4UwV/Ky7ne0zO9Jufa/2yvAwC4I47oAMBl5uvr\nq/nz5+uVV17R1KlTVV5erqCgoMty+eesrKzTPlMjSTExMdq4caPKy8sVFRWlESNGaOnSpSoqKlK9\nevXUtWtXdevWTR06dFDPnj01c+ZMBQQEaNiwYfL29nacutW6dWtFRkZq2rRpatSokbp27aqgoCDH\nhQp+fepZ7969tWPHDqWmpioiIkJdunRReHi4zGbz7y46cKbcr7zyiioqKnTnnXc67pswYcI51zWb\nzRo4cKCmT58uHx8frVy58rR1W7ZsqeTkZM2fP1/l5eXq2LGj5s+fL29vb0n63WeEioqKVFBQoIiI\nCH388cfq1auXMjIyNG7cOIWFhemee+5xnMZ3sc/3fPv/OkdOTo5CQkIcOX97lOZc72ndunV/95qc\na/9f3ovf5gUAd8QXhgJALbVp0ybt3r1b9957r9FRDLdq1SqFhoZq6NChRkcBAFwmHLcGgFoiIyPD\n8TmVtLQ0vfHGGxoxYoTRsWqEnJycGv8lpACAi8OpawBQS2RlZWnx4sWqqqpSaGioJk2apFatWhkd\nq0Y4ePAgH84HADfDqWsAAAAA3A6nrgEAAABwOxQdAAAAAG6HogMAAADA7VB0AAAAALgdig4AAAAA\nt0PRAQAAAOB2KDoAAAAA3A5FBwAAAIDb+X+7mZR+J6KdRQAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "clf_LR_L1 = LogisticRegression(penalty='l1', solver='liblinear',\n", " random_state=178926, n_jobs=-1, max_iter=1000)\n", "param_C_range = [1e-9, 1e-5, 1e-3, 1e-2, 1e-1, 1.0,10,100]\n", "train_scores, val_scores = validation_curve(estimator=clf_LR_L1, \n", " X=X_ros, \n", " y=y_ros, \n", " param_name='C', \n", " param_range=param_C_range,\n", " cv=stratified_cv,\n", " n_jobs=-1,\n", " scoring='f1')\n", "\n", "plot_val_curve(train_scores, val_scores, param_C_range, plt_title='L1 Regularization Parameter Sweep')\n", "plt.xscale('log')\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Learning curve" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "clf_LR = LogisticRegression(penalty='l2', C=0.01, solver='liblinear',\n", " random_state=178926, n_jobs=-1, max_iter=1000)\n", "\n", "plot_learning_curve(X_ros, y_ros, clf_LR, stratified_cv,'accuracy',xlabel='Number of training samples')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The model generalized well when cross-validated with sythetic samples present in the data set. The accuracy score converges for the training and the validation data sets as the number of samples increase in the training of the model." ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "d:\\anaconda3\\envs\\ml_env\\lib\\site-packages\\sklearn\\linear_model\\logistic.py:1228: UserWarning: 'n_jobs' > 1 does not have any effect when 'solver' is set to 'liblinear'. Got 'n_jobs' = -1.\n", " \" = {}.\".format(self.n_jobs))\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Cross-validation fold: 1\n", "Cross-validation fold: 2\n", "Cross-validation fold: 3\n", "Cross-validation fold: 4\n", "Cross-validation fold: 5\n", "Cross-validation fold: 6\n", "Cross-validation fold: 7\n", "Cross-validation fold: 8\n", "Cross-validation fold: 9\n", "Cross-validation fold: 10\n", "\n", "CV accuracy: 0.778 +/- 0.002\n", "\n", "CV Recall: 0.704 +/- 0.004\n", "\n", "CV F1_Score: 0.760 +/- 0.002\n", "\n", "CV LogLoss: 7.660 +/- 0.070\n", "\n", "CV AUPRC: 0.881 +/- 0.002\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYEAAAEcCAYAAAAhoQi5AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XdYU9cbwPFvEghbligq4MLgFnfrQtSqravuvarWUbWt\nFVet2lr3HgWto+69WrVo3aJ14U/EjQqCWgVRkT2S3N8fSDCCCorM83keHs09JzdvLpo359x73iuT\nJElCEARBKJDkOR2AIAiCkHNEEhAEQSjARBIQBEEowEQSEARBKMBEEhAEQSjARBIQBEEowEQSyMOW\nLFmCi4tLmp9KlSpRt25devfuzZ9//pkrYjx8+HCmn+vi4kK7du0+QlQZ86bj6+LiQrVq1XB3d+eH\nH37g7t27ORZjeh48eICLiwvDhg3TbRs3bhwuLi7cuHEjw/u5d+8es2bNonXr1lSvXh1XV1fat2/P\n8uXLiY2N/RihCznAIKcDED5c06ZNqVChgu6xWq3m2bNneHt7M2bMGAIDA/n+++9zJLY6deowfPhw\nSpcunennDh8+nMKFC3+EqDLn9eML8OzZM3x9fdm3bx/Hjx9nx44d7/Uec6uNGzcyY8YMNBoN9evX\np379+iQkJHDu3Dnmz5/PX3/9xfr167GxscnpUIUPJJJAPtCsWTM6dOiQZvuAAQNo3749K1asoEuX\nLpQoUSLbY6tbty5169Z9r+eOGDEii6N5P286vlqtlh9//JFdu3axdOlS5s2blwPRZb0///yTX375\nhZIlS+Ll5UXZsmV1bRqNhgULFrBixQqGDBnCtm3bcjBSISuI6aB8rFSpUjRt2hSNRsOpU6dyOpx8\nRy6X66Zczpw5k8PRZI3IyEimTp2KoaEhq1at0ksAAAqFgtGjR1O9enUuX77MyZMncyhSIauIJJDP\nFS1aFICIiAgAdu3ahYuLC97e3gwYMIAqVarg7u7O/fv3AYiOjmbu3Lk0a9aMypUr07BhQyZPnszT\np0/T7DsuLo7FixfTsmVLqlWrRpMmTfj555959uyZrk965wSCg4P59ttvcXd3p3LlyjRp0oQpU6bw\n5MkTvf2nd04gKiqK2bNn6+KrV68eP/zwA0FBQXr9Ut7nmTNnWLVqFc2bN6dy5co0a9YMLy8vNBrN\nBxzVVLa2tgAkJiamafP29qZbt25Ur16dGjVq0LdvX86ePZvufg4fPkzv3r2pVasWdevWpV+/fly4\ncEGvT1JSEmvXrqVLly7UrFmTypUr4+7uzqRJk/SO+Yc4ePAgUVFRtGnTBkdHxzf2Gz16NFOmTMHZ\n2RlI/zxEivT+Dbi4uDBu3DiWLVtGrVq1qFWrFqtXr8bFxYVRo0al+5qff/45tWvX1jvWmTnGQvrE\ndFA+FxISAqQmgxS//vorRYoUoXfv3jx48ABHR0eioqLo0aMHAQEBfPrppzRv3pwHDx6wbds2fHx8\n2LJlC0WKFAGSE0D37t25ceMGVapUoVu3boSEhLBp0yZ8fX3ZvHkz5ubmaeJ59uwZ/fr14/nz57Ro\n0YIiRYpw69YtNm/ezLlz5/jrr78wNDRM9708f/6c7t27ExQUhKurK02bNuX+/fv8/fffHD9+nNWr\nV1OtWjW958yZM4egoCBatmyJu7s7+/fvZ+HChUiSlO4HVmb5+PgAUL58eb3tixYtwtPTkxIlStC+\nfXtkMhkHDhygf//+zJw5Uy+5LV++nPnz52Nra0uLFi0wMjJi37599OvXj99//5369esD8MMPP3Dw\n4EFq1qxJly5dSExM5NSpU2zdupVr166xc+fOD34/Kd/sGzZs+NZ+KR/cH8LHx4dDhw7Rvn17wsPD\nqV69OmXLluXYsWPEx8djbGys63vjxg0CAwPp0qULSqUSyNwxFt5CEvKsxYsXSyqVStq5c2e67f7+\n/lLFihWlqlWrSk+fPpUkSZJ27twpqVQqqVGjRlJsbKxe/ylTpkgqlUrasGGD3vbDhw9LKpVKGjly\npG7bwoULJZVKJU2bNk3SarW67cuWLZNUKpW0evVqvRgPHTokSZIkrV+/XlKpVNKOHTv0XuPnn3+W\nVCqVdOzYMd02lUoltW3bVvd4/PjxkkqlkhYsWKD33OPHj0suLi5S8+bNJbVarfc+a9asKd27d0/X\n9/79+1KlSpUkNze3dI/Zq950fDUajfT06VNp//790ieffCKpVCrp33//1bVfvnxZcnFxkXr16qV3\njJ89eyZ99tlnUrVq1XS/j8DAQKlixYpSy5YtpbCwMF3fe/fuSa6urlLr1q0lSZKkS5cuSSqVSvrh\nhx/0YklKSpJat24tqVQqKTAwUPceVSqVNHToUF2/sWPHSiqVSrp+/fpb33OnTp0klUolXbt27Z3H\n51XpvWaK1/8NSFLy71alUklHjhzR6+vl5SWpVCrJ29tbb/ucOXMklUolnTt3TpKkzB1j4e3ESCAf\n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\nAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "clf_LR_metrics = list()\n", "\n", "colors = cycle(['cyan', 'indigo', 'seagreen', 'yellow', 'blue', 'darkorange',\n", " 'green', 'darkgreen','darkblue', 'red', 'magenta'])\n", "lw = 2\n", "\n", "i = 0\n", "\n", "for (train_idx, val_idx), color in zip(stratified_cv.split(X_ros, y_ros), colors):\n", " X_train, y_train = X_ros[train_idx], y_ros[train_idx]\n", " X_val, y_val = X_ros[val_idx], y_ros[val_idx]\n", " n_classes = np.unique(y_train) #Get total classes \n", " \n", " #Define and fit a logistic regression classifier\n", " clf_LR = LogisticRegression(penalty='l2', C=0.01, solver='liblinear',\n", " random_state=178926, n_jobs=-1, max_iter=1000)\n", " clf_LR.fit(X_train, y_train)\n", " \n", " #Predict class label and probability for the validation data set\n", " y_pred = clf_LR.predict(X_val)\n", " y_prob = clf_LR.predict_proba(X_val)\n", " \n", " #Compute classification metrics\n", " acc = mt.accuracy_score(y_val, y_pred)\n", " recall = mt.recall_score(y_val, y_pred)\n", " f1 = mt.f1_score(y_val, y_pred)\n", " logloss = mt.log_loss(y_val, y_pred)\n", " \n", " #Compute precision, recall and AUPRC for different levels of thresholds\n", " precisions, recalls, thresholds = mt.precision_recall_curve(y_val.ravel(), y_prob[:, 1].ravel(), pos_label=1)\n", " prc_auc = mt.average_precision_score(y_val, y_prob[:,1], average='weighted')\n", " plt.plot(recalls, precisions, lw=lw, color=color,\n", " label='AUPRC fold %d (area = %0.2f)' % (i, prc_auc))\n", " \n", " i +=1 #Counter for validation fold\n", " print(\"Cross-validation fold: \",i)\n", " \n", " clf_LR_metrics.append([acc, f1, recall, logloss, prc_auc])\n", "\n", "\n", "#Summary of classification performance\n", "clf_LR_metrics = pd.DataFrame(clf_LR_metrics, columns=['Accuracy','F1_Score', 'Recall', 'LogLoss','AUPRC'])\n", "\n", "plt.legend(loc='best')\n", "plt.grid()\n", "plt.title('Precision Recall Curve', fontsize=20)\n", "plt.xlabel('Recall', fontsize=16)\n", "plt.ylabel('Precision', fontsize=16)\n", "\n", "print('\\nCV accuracy: %.3f +/- %.3f' % (np.mean(clf_LR_metrics.Accuracy), np.std(clf_LR_metrics.Accuracy)))\n", "print('\\nCV Recall: %.3f +/- %.3f' % (np.mean(clf_LR_metrics.Recall), np.std(clf_LR_metrics.Recall)))\n", "print('\\nCV F1_Score: %.3f +/- %.3f' % (np.mean(clf_LR_metrics.F1_Score), np.std(clf_LR_metrics.F1_Score)))\n", "print('\\nCV LogLoss: %.3f +/- %.3f' % (np.mean(clf_LR_metrics.LogLoss), np.std(clf_LR_metrics.LogLoss)))\n", "print('\\nCV AUPRC: %.3f +/- %.3f' % (np.mean(clf_LR_metrics.AUPRC), np.std(clf_LR_metrics.AUPRC)))" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
AccuracyF1_ScoreRecallLogLossAUPRC
00.7751370.7567450.6995087.7665520.878713
10.7780380.7600430.7030247.6663450.880371
20.7770420.7587980.7013837.7007600.880482
30.7761040.7587620.7041967.7331510.878395
40.7771880.7593610.7030837.6956990.880638
50.7798260.7629740.7087097.6046030.882200
60.7769540.7581740.6992737.7037950.879221
70.7814380.7636730.7062487.5489300.882277
80.7810860.7647100.7114647.5610790.884576
90.7794450.7617000.7049587.6177600.882295
\n", "
" ], "text/plain": [ " Accuracy F1_Score Recall LogLoss AUPRC\n", "0 0.775137 0.756745 0.699508 7.766552 0.878713\n", "1 0.778038 0.760043 0.703024 7.666345 0.880371\n", "2 0.777042 0.758798 0.701383 7.700760 0.880482\n", "3 0.776104 0.758762 0.704196 7.733151 0.878395\n", "4 0.777188 0.759361 0.703083 7.695699 0.880638\n", "5 0.779826 0.762974 0.708709 7.604603 0.882200\n", "6 0.776954 0.758174 0.699273 7.703795 0.879221\n", "7 0.781438 0.763673 0.706248 7.548930 0.882277\n", "8 0.781086 0.764710 0.711464 7.561079 0.884576\n", "9 0.779445 0.761700 0.704958 7.617760 0.882295" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "clf_LR_metrics" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Final Model - Logistic Regression" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "d:\\anaconda3\\envs\\ml_env\\lib\\site-packages\\sklearn\\linear_model\\logistic.py:1228: UserWarning: 'n_jobs' > 1 does not have any effect when 'solver' is set to 'liblinear'. Got 'n_jobs' = -1.\n", " \" = {}.\".format(self.n_jobs))\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Test accuracy: 0.855\n", "\n", "Test Precision: 0.012\n", "\n", "Test Recall: 0.976\n", "\n", "Test LogLoss: 5.023\n", "\n", "Test AUPRC: 0.744\n" ] }, { "data": { "image/png": "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\nlQIAKpuUlBQNGzZMISEhmj9/vtOxESNGqH///ho1alS+8/IeO3r0qO69916n4x4eHgoMDFRERIQe\ne+wxVa9evcB+JpNJVapUUaNGjfTggw+qc+fOTscPHz6shQsXKiYmRqdPn1bNmjXVs2dP3XvvvfLz\n8yvyu+3YsUNz587V+++/X4Ir4p6Sk5P1/vvva+fOnapWrZqGDBmiESNGFNi3oOucq27duvr000/z\ntY8fP17p6el67733JElWq1WPPvqoJk2apDp16pTeF8mjXIKZ1WrV1KlTdejQoUL7GIaht99+W/Xr\n19cbb7yhmJgYTZkyRe+++65q1arlwmoBAJXNmjVrVLduXR08eFA7duwodAChOF5//XW1aNFCkmS3\n25WYmKg33nhDKSkpeuuttwrsZxiGjh07pjlz5ujFF1/Uxx9/7AgC27Zt0z/+8Q917txZL774ooKD\ng5WYmKgZM2YoJiZG7733nqpUqVJgLVarVZMnT9b48eOv+vu4i6ysLD3//PO64YYbNGPGDO3fv19T\npkyRn5+fIiMj8/UPDg7WkiVLnNoSEhL0wgsvaOTIkfn6f/3119q0aZPatWvnaPPy8tK9996ryZMn\na/LkyaX/pVQOU5mHDx/Wiy++qGPHjhXZb9euXTpy5Ij+7//+TyEhIRo0aJDCwsK0fv16F1UKAKis\nVq9erV69eumGG27QihUrrum9qlevrqCgIAUFBSk4OFgRERG6++67tXnzZqWlpRXYr0aNGmrZsqXG\njRsnq9Wqn376SVJOsPrXv/6lrl276rXXXlPbtm1Vt25d3XTTTXrnnXeUkJCgZcuWFVpLdHS0AgIC\nHAHwevb9998rJSVFL7zwgho3bqw+ffpoxIgRWrRoUYH9PT09Hdc3KChI/v7+mj59urp3767+/fs7\n9U1OTtbcuXPVqlWrfO9z2223KTExUb/99luZfC+Xj5jt3r1b7dq109ChQwscBs61d+9eNWnSxCn1\nh4WFKS4uzhVlAgAqqT179ighIUF/+9vf5OXlpaioKD355JOqVq1aqX2Gp6enPDw8ZDYX/c+wxWJx\n9JekjRs36uTJk/rzn/+cr2/t2rX17rvvqn79+oW+3xdffKFBgwY5tX399df68ssvlZycLLPZrFat\nWunpp59W/fr1HdN/Dz30kJYsWaLq1atrzpw5Sk1N1YcffqiYmBh5e3urffv2evzxx1WzZk1J0tmz\n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\n8/PrV7/6lTIzM7V06VIlJibqhRde0Lhx49S9e3eT0senS12TxsZGPfTQQ5oyZYruvvtuSdKGDRt0\nww03KDEx0Yzocc/v92v16tU6fPiwbrzxRl1xxRVt5oTDYRUWFio1NVVLliyRw+HQhg0bdP3117fr\nunCUeZ7P59Pbb7+t/Px8ZWVlacyYMZoxY4Z27tzZZm5paamsVqvmz5+v9PR05efny+VyqbS01ITk\n8SuaNXnvvfc0duxYTZ48WWlpaZo+fbpGjBjBmlxm0azJBXv37lVlZSW/9NtRNOvy7rvvymq16t57\n71Xfvn01ffp0jRo1Sm6324Tk8SuaNSkvL5ckzZo1S2lpabr99tvlcDhUUVFhdOxOobq6WsuXL1dd\nXd13zjt48KBqa2t1zz33KD09XbNmzVJ2drZKSkraNR/F7LyqqioFg0ENGzasdWzYsGH67LPPFAqF\nIuZWVFQoOztbCQkt/30Wi0XZ2dn8YLvMolmTqVOn6o477ogYs1gsCgQChmTtLKJZE0lqampScXGx\nCgoKZLPxyIn2Es26HDhwQNdee23EejzwwAO65ZZbDMvbGUSzJklJSTp79qw+/PBDhcNh7d69W01N\nTd+5C43v7/Dhwxo1apSKioq+c57b7dbAgQPVtWvX1jEjftfzk/K8hoYGJSUlyeFwtI4lJycrGAyq\nsbEx4jisoaFB/fr1i7h9cnKyqqqqDMvbGUSzJt8+Hjt+/Lj279+vyZMnGxW3U4hmTSTp5Zdf1tVX\nX62cnByjo3Yq0axLXV2dBg4cqPXr12v37t3q2bOn8vLydM0115gRPW5FsybDhw/X1KlTtXLlSlks\nFoVCId17771KT083I3rcmzJlyiXN83g8bX6m9ejRQ/X19e0RqxU7Zuf5/f42f9FfeLzYt3dd/H5/\nm8eS2e12dmcus2jW5JsaGxv19NNPa/jw4RozZky7ZuxsolmTQ4cO6ZNPPtG8efMMy9dZRbMuTU1N\nev311+VyufTggw9q/PjxWrFihY4ePWpY3s4gmjU5d+6cTp48qdtvv11PPvmk7rzzTr344oucwpjs\n3LlzbX7X22w2BYPBdv26FLPz7HZ7m//sC988Tqezzdxvf2MFAoE28/DDRLMmF9TX16uwsFAJCQla\ntmxZ63EzLo9LXRO/36/nnntOd999t1wul6EZO6NovlesVqsyMjI0d+5cDRw4ULNmzdLVV1+tXbt2\n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\nSUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "clf_LR = LogisticRegression(penalty='l2', C=0.01, solver='liblinear',\n", " random_state=178926, n_jobs=-1, max_iter=1000)\n", "\n", "clf_LR.fit(X_ros, y_ros)\n", " \n", "#Predict class label and probability for the validation data set\n", "y_pred = clf_LR.predict(X_test)\n", "y_prob = clf_LR.predict_proba(X_test)\n", "\n", " \n", "#Compute classification metrics\n", "acc = mt.accuracy_score(y_test, y_pred)\n", "precision = mt.precision_score(y_test, y_pred)\n", "recall = mt.recall_score(y_test, y_pred)\n", "# f1 = mt.f1_score(y_test, y_pred)\n", "logloss = mt.log_loss(y_test, y_pred)\n", " \n", "#Compute precision, recall and AUPRC for different levels of thresholds\n", "precisions, recalls, thresholds = mt.precision_recall_curve(y_test.ravel(), y_prob[:, 1].ravel(), pos_label=1)\n", "prc_auc = mt.average_precision_score(y_test, y_prob[:,1], average='weighted')\n", "\n", "plt.figure(figsize=(10,8))\n", "plt.plot(recalls, precisions, lw=lw, color=color,\n", " label='AUPRC (area = %0.2f)' % prc_auc)\n", "plt.legend(loc='best', fontsize=15)\n", "plt.grid()\n", "plt.title('Precision Recall Curve', fontsize=20)\n", "plt.xlabel('Recall', fontsize=16)\n", "plt.ylabel('Precision', fontsize=16)\n", "plt.tick_params(labelsize=14)\n", "\n", "print('Test accuracy: %.3f' % (acc))\n", "print('\\nTest Precision: %.3f' % (precision))\n", "print('\\nTest Recall: %.3f' % (recall))\n", "print('\\nTest LogLoss: %.3f' % (logloss))\n", "print('\\nTest AUPRC: %.3f' % (prc_auc))" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Confusion matrix, without normalization\n" ] }, { "data": { "image/png": "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\npMWAah23K3VHDffkl7NKJmf27NmkpKTQsGFDoOKhQZ07d75pgCMiIiK1y5YyOVYJcry9vcnJybFG\n0yIiInIDtjQnxyrPyWnZsiWLFi3C39+fxo0b4+joaLF98uTJ1uiWiIjIHa+87mex1BqrBDkGg4He\nvXtbo2kRERG5AdsJceowyHnllVeYNWsWbm5u5qcaX758GTc3N+zsrHLVTERERH6ivs6vqY46iy7O\nnz9PWVmZRdmUKVO4dOlSXXVBREREbsKWJh5b5XLVNVa4e11ERERuwJb+36zrRCIiImKTrJrJERER\nkfqlvl56qo46DXK++OILnJyczO/Ly8s5ePAgHh4eFvv179+/LrslIiIi/1Vfn3lTHXUW5Pj4+LBl\nyxaLMk9PT3bu3GlRZjAYFOSIiIhYiS3NyamzICcyMrKumhIREZFq0uUqERERsUnK5IiIiIhNUiZH\nREREbJImHouIiIhN0gKdIiIiYpOUyRERERGbpEyOiIiI2CRlckRERMQmKZMjIiIiNkmZHBEREbFJ\nyuSIiIiITVImR0RERGySyVRu7S7UGDtrd0BERESkNiiTIyIiImZau0pERERsklYhFxEREZukTI6I\niIjYJGVyRERExCbpOTkiIiJik/ScHBEREbFJulwlIiIiNkkTj0VERMQmKZMjIiIiNkkTj0VERMQm\nKZMjIiIiNklzckRERMQmKZMjIiIiNklzckRERMQm6WGAIiIiYpOUyRERERGbZEtzcuys3QERERGR\n2qBMjoiIiJhpTo6IiIjYJFu6XKUgR0RERMxsKcgxmGzpbERERET+SxOPRURExCYpyBERERGbpCBH\nREREbJKCnDvMiBEjOH78eK3UPWvWLNasWQNAaWkpO3furHJbTTt06BC5ubm1UreItU2aNIkRI0ZU\ner388st10v748ePZs2dPnbQlUtN0d5XUmFdeeQUHh4r/pPbv3098fDy/+c1vKm2rSZcuXWLx4sUs\nWbKkxusWqS9GjRpFr169LMrs7e2t1BuR24eCHKkxbm5u1dr2S+jmQLkTODs706hRI2t3Q+S2oyBH\nLCQlJbF69WrOnTtHkyZNePzxx+nTp495++bNm9m0aRNFRUX07duX8+fP07dvX/r168esWbMIDAyk\nffv2REVFARWXx5YuXUpUVBSBgYGEhYURGRmJu7s7OTk5HDlyBKPRyNSpUzl48CDbt2/H2dmZMWPG\n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\nRK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "class_names = ['Legitimate', 'Fraud']\n", "cm = mt.confusion_matrix(y_test, y_pred)\n", "plot_confusion_matrix(cm, class_names)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In the context of the application, it is better to be safe than sorry. Hence, we do not worry about the false positive rate (9.7%) although we would like our model decrease the false positive rate." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# References\n", "\n", "1. http://scikit-learn.org/stable/auto_examples/model_selection/plot_roc_crossval.html\n", "2. http://ieeexplore.ieee.org/document/4633969/?part=1\n", "3. http://scikit-learn.org/stable/auto_examples/model_selection/plot_validation_curve.html#sphx-glr-auto-examples-model-selection-plot-validation-curve-py\n", "4. http://scikit-learn.org/stable/auto_examples/model_selection/plot_learning_curve.html#sphx-glr-auto-examples-model-selection-plot-learning-curve-py" ] } ], "metadata": { "anaconda-cloud": {}, "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.5.4" }, "latex_envs": { "LaTeX_envs_menu_present": true, "bibliofile": "biblio.bib", "cite_by": "apalike", "current_citInitial": 1, "eqLabelWithNumbers": true, "eqNumInitial": 1, "labels_anchors": false, "latex_user_defs": false, "report_style_numbering": false, "user_envs_cfg": false }, "nikola": { "category": "Credit Card Fraud Detection", "date": "2017-08-30 19:00:18 UTC-05:00", "description": "Credit Card Fraud Detection - Logistic Regression and ADASYN", "link": "", "slug": "credit-card-fraud-detection-logistic-regression-and-adasyn", "tags": "class-imbalance, logistic regression, python, scikit-learn, classification", "title": "Credit Card Fraud Detection - Logistic Regression and ADASYN", "type": "text" }, "toc": { "colors": { "hover_highlight": "#DAA520", "running_highlight": "#FF0000", "selected_highlight": "#FFD700" }, "moveMenuLeft": true, "nav_menu": { "height": "137px", "width": "252px" }, "navigate_menu": true, "number_sections": true, "sideBar": true, "threshold": 4, "toc_cell": true, "toc_section_display": "block", "toc_window_display": false } }, "nbformat": 4, "nbformat_minor": 1 }