Skip to content
Permalink
main
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
 
 
Cannot retrieve contributors at this time
{"nbformat":4,"nbformat_minor":0,"metadata":{"colab":{"provenance":[],"authorship_tag":"ABX9TyOSOzJvNzJWRkQ8JE7ANr3v"},"kernelspec":{"name":"python3","display_name":"Python 3"},"language_info":{"name":"python"}},"cells":[{"cell_type":"code","execution_count":1,"metadata":{"id":"ry2zQYS5xzdT","executionInfo":{"status":"ok","timestamp":1678459268251,"user_tz":0,"elapsed":12089,"user":{"displayName":"Nikita K","userId":"13085162869527705093"}}},"outputs":[],"source":["# Import required libraries and packages\n","\n","import numpy as np\n","import pandas as pd\n","import matplotlib.pyplot as plt\n","import tensorflow as tf\n","import seaborn as sns\n","import plotly.express as px\n","import plotly.express as px\n","import plotly.figure_factory as ff\n","\n","from pandas import *\n","from tensorflow import keras\n","from tensorflow.keras import Sequential\n","from tensorflow.keras.layers import Flatten, Dense, Dropout, BatchNormalization\n","from tensorflow.keras.layers import Conv1D, MaxPool1D\n","from tensorflow.keras.optimizers import Adam\n","\n","\n","from sklearn.model_selection import train_test_split\n","from sklearn.preprocessing import StandardScaler\n","from sklearn.metrics import classification_report, accuracy_score, recall_score, fbeta_score, precision_score\n","from sklearn.metrics import precision_recall_fscore_support as score\n","from plotly.express import scatter_matrix\n","from sklearn.model_selection import train_test_split\n","from sklearn.neural_network import MLPClassifier\n","from keras.utils import plot_model\n","from sklearn.metrics import confusion_matrix\n","from google.colab import drive"]},{"cell_type":"code","source":["# Mount the drive\n","drive.mount('/content/drive', force_remount=True)\n","\n","# Provide the dataset\n","filename = \"/content/drive/MyDrive/7088CEM_Artificial_Neural_Networks/creditcard.csv\""],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"2DIpLoa7yS71","executionInfo":{"status":"ok","timestamp":1678459326335,"user_tz":0,"elapsed":58105,"user":{"displayName":"Nikita K","userId":"13085162869527705093"}},"outputId":"ec0d6ae4-d8b0-440b-ae73-0c8fa9ac5449"},"execution_count":2,"outputs":[{"output_type":"stream","name":"stdout","text":["Mounted at /content/drive\n"]}]},{"cell_type":"code","source":["# Load data and the head function by default display initial 5 rows\n","cc_data=pd.read_csv(filename)\n","cc_data.head()"],"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":300},"id":"7cClKDdwygF1","executionInfo":{"status":"ok","timestamp":1678459331241,"user_tz":0,"elapsed":4910,"user":{"displayName":"Nikita K","userId":"13085162869527705093"}},"outputId":"fde618cb-86c6-4d01-c7e0-e8b9902cda06"},"execution_count":3,"outputs":[{"output_type":"execute_result","data":{"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 V25 \\\n","0 0.098698 0.363787 ... -0.018307 0.277838 -0.110474 0.066928 0.128539 \n","1 0.085102 -0.255425 ... -0.225775 -0.638672 0.101288 -0.339846 0.167170 \n","2 0.247676 -1.514654 ... 0.247998 0.771679 0.909412 -0.689281 -0.327642 \n","3 0.377436 -1.387024 ... -0.108300 0.005274 -0.190321 -1.175575 0.647376 \n","4 -0.270533 0.817739 ... -0.009431 0.798278 -0.137458 0.141267 -0.206010 \n","\n"," V26 V27 V28 Amount Class \n","0 -0.189115 0.133558 -0.021053 149.62 0 \n","1 0.125895 -0.008983 0.014724 2.69 0 \n","2 -0.139097 -0.055353 -0.059752 378.66 0 \n","3 -0.221929 0.062723 0.061458 123.50 0 \n","4 0.502292 0.219422 0.215153 69.99 0 \n","\n","[5 rows x 31 columns]"],"text/html":["\n"," <div id=\"df-96677d5f-8e64-4de1-aa3a-732201409a34\">\n"," <div class=\"colab-df-container\">\n"," <div>\n","<style scoped>\n"," .dataframe tbody tr th:only-of-type {\n"," vertical-align: middle;\n"," }\n","\n"," .dataframe tbody tr th {\n"," vertical-align: top;\n"," }\n","\n"," .dataframe thead th {\n"," text-align: right;\n"," }\n","</style>\n","<table border=\"1\" class=\"dataframe\">\n"," <thead>\n"," <tr style=\"text-align: right;\">\n"," <th></th>\n"," <th>Time</th>\n"," <th>V1</th>\n"," <th>V2</th>\n"," <th>V3</th>\n"," <th>V4</th>\n"," <th>V5</th>\n"," <th>V6</th>\n"," <th>V7</th>\n"," <th>V8</th>\n"," <th>V9</th>\n"," <th>...</th>\n"," <th>V21</th>\n"," <th>V22</th>\n"," <th>V23</th>\n"," <th>V24</th>\n"," <th>V25</th>\n"," <th>V26</th>\n"," <th>V27</th>\n"," <th>V28</th>\n"," <th>Amount</th>\n"," <th>Class</th>\n"," </tr>\n"," </thead>\n"," <tbody>\n"," <tr>\n"," <th>0</th>\n"," <td>0.0</td>\n"," <td>-1.359807</td>\n"," <td>-0.072781</td>\n"," <td>2.536347</td>\n"," <td>1.378155</td>\n"," <td>-0.338321</td>\n"," <td>0.462388</td>\n"," <td>0.239599</td>\n"," <td>0.098698</td>\n"," <td>0.363787</td>\n"," <td>...</td>\n"," <td>-0.018307</td>\n"," <td>0.277838</td>\n"," <td>-0.110474</td>\n"," <td>0.066928</td>\n"," <td>0.128539</td>\n"," <td>-0.189115</td>\n"," <td>0.133558</td>\n"," <td>-0.021053</td>\n"," <td>149.62</td>\n"," <td>0</td>\n"," </tr>\n"," <tr>\n"," <th>1</th>\n"," <td>0.0</td>\n"," <td>1.191857</td>\n"," <td>0.266151</td>\n"," <td>0.166480</td>\n"," <td>0.448154</td>\n"," <td>0.060018</td>\n"," <td>-0.082361</td>\n"," <td>-0.078803</td>\n"," <td>0.085102</td>\n"," <td>-0.255425</td>\n"," <td>...</td>\n"," <td>-0.225775</td>\n"," <td>-0.638672</td>\n"," <td>0.101288</td>\n"," <td>-0.339846</td>\n"," <td>0.167170</td>\n"," <td>0.125895</td>\n"," <td>-0.008983</td>\n"," <td>0.014724</td>\n"," <td>2.69</td>\n"," <td>0</td>\n"," </tr>\n"," <tr>\n"," <th>2</th>\n"," <td>1.0</td>\n"," <td>-1.358354</td>\n"," <td>-1.340163</td>\n"," <td>1.773209</td>\n"," <td>0.379780</td>\n"," <td>-0.503198</td>\n"," <td>1.800499</td>\n"," <td>0.791461</td>\n"," <td>0.247676</td>\n"," <td>-1.514654</td>\n"," <td>...</td>\n"," <td>0.247998</td>\n"," <td>0.771679</td>\n"," <td>0.909412</td>\n"," <td>-0.689281</td>\n"," <td>-0.327642</td>\n"," <td>-0.139097</td>\n"," <td>-0.055353</td>\n"," <td>-0.059752</td>\n"," <td>378.66</td>\n"," <td>0</td>\n"," </tr>\n"," <tr>\n"," <th>3</th>\n"," <td>1.0</td>\n"," <td>-0.966272</td>\n"," <td>-0.185226</td>\n"," <td>1.792993</td>\n"," <td>-0.863291</td>\n"," <td>-0.010309</td>\n"," <td>1.247203</td>\n"," <td>0.237609</td>\n"," <td>0.377436</td>\n"," <td>-1.387024</td>\n"," <td>...</td>\n"," <td>-0.108300</td>\n"," <td>0.005274</td>\n"," <td>-0.190321</td>\n"," <td>-1.175575</td>\n"," <td>0.647376</td>\n"," <td>-0.221929</td>\n"," <td>0.062723</td>\n"," <td>0.061458</td>\n"," <td>123.50</td>\n"," <td>0</td>\n"," </tr>\n"," <tr>\n"," <th>4</th>\n"," <td>2.0</td>\n"," <td>-1.158233</td>\n"," <td>0.877737</td>\n"," <td>1.548718</td>\n"," <td>0.403034</td>\n"," <td>-0.407193</td>\n"," <td>0.095921</td>\n"," <td>0.592941</td>\n"," <td>-0.270533</td>\n"," <td>0.817739</td>\n"," <td>...</td>\n"," <td>-0.009431</td>\n"," <td>0.798278</td>\n"," <td>-0.137458</td>\n"," <td>0.141267</td>\n"," <td>-0.206010</td>\n"," <td>0.502292</td>\n"," <td>0.219422</td>\n"," <td>0.215153</td>\n"," <td>69.99</td>\n"," <td>0</td>\n"," </tr>\n"," </tbody>\n","</table>\n","<p>5 rows × 31 columns</p>\n","</div>\n"," <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-96677d5f-8e64-4de1-aa3a-732201409a34')\"\n"," title=\"Convert this dataframe to an interactive table.\"\n"," style=\"display:none;\">\n"," \n"," <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n"," width=\"24px\">\n"," <path d=\"M0 0h24v24H0V0z\" fill=\"none\"/>\n"," <path d=\"M18.56 5.44l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94zm-11 1L8.5 8.5l.94-2.06 2.06-.94-2.06-.94L8.5 2.5l-.94 2.06-2.06.94zm10 10l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94z\"/><path d=\"M17.41 7.96l-1.37-1.37c-.4-.4-.92-.59-1.43-.59-.52 0-1.04.2-1.43.59L10.3 9.45l-7.72 7.72c-.78.78-.78 2.05 0 2.83L4 21.41c.39.39.9.59 1.41.59.51 0 1.02-.2 1.41-.59l7.78-7.78 2.81-2.81c.8-.78.8-2.07 0-2.86zM5.41 20L4 18.59l7.72-7.72 1.47 1.35L5.41 20z\"/>\n"," </svg>\n"," </button>\n"," \n"," <style>\n"," .colab-df-container {\n"," display:flex;\n"," flex-wrap:wrap;\n"," gap: 12px;\n"," }\n","\n"," .colab-df-convert {\n"," background-color: #E8F0FE;\n"," border: none;\n"," border-radius: 50%;\n"," cursor: pointer;\n"," display: none;\n"," fill: #1967D2;\n"," height: 32px;\n"," padding: 0 0 0 0;\n"," width: 32px;\n"," }\n","\n"," .colab-df-convert:hover {\n"," background-color: #E2EBFA;\n"," box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n"," fill: #174EA6;\n"," }\n","\n"," [theme=dark] .colab-df-convert {\n"," background-color: #3B4455;\n"," fill: #D2E3FC;\n"," }\n","\n"," [theme=dark] .colab-df-convert:hover {\n"," background-color: #434B5C;\n"," box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n"," filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n"," fill: #FFFFFF;\n"," }\n"," </style>\n","\n"," <script>\n"," const buttonEl =\n"," document.querySelector('#df-96677d5f-8e64-4de1-aa3a-732201409a34 button.colab-df-convert');\n"," buttonEl.style.display =\n"," google.colab.kernel.accessAllowed ? 'block' : 'none';\n","\n"," async function convertToInteractive(key) {\n"," const element = document.querySelector('#df-96677d5f-8e64-4de1-aa3a-732201409a34');\n"," const dataTable =\n"," await google.colab.kernel.invokeFunction('convertToInteractive',\n"," [key], {});\n"," if (!dataTable) return;\n","\n"," const docLinkHtml = 'Like what you see? Visit the ' +\n"," '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n"," + ' to learn more about interactive tables.';\n"," element.innerHTML = '';\n"," dataTable['output_type'] = 'display_data';\n"," await google.colab.output.renderOutput(dataTable, element);\n"," const docLink = document.createElement('div');\n"," docLink.innerHTML = docLinkHtml;\n"," element.appendChild(docLink);\n"," }\n"," </script>\n"," </div>\n"," </div>\n"," "]},"metadata":{},"execution_count":3}]},{"cell_type":"code","source":["# Display the shape of the data, number of rows - 284807 and columns - 31 (Time, V1...V28, Amount and Class)\n","cc_data.shape"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"YFaxwuWSyrk-","executionInfo":{"status":"ok","timestamp":1678459331241,"user_tz":0,"elapsed":11,"user":{"displayName":"Nikita K","userId":"13085162869527705093"}},"outputId":"892e82ae-4542-47b6-a3d0-72601ed37fad"},"execution_count":4,"outputs":[{"output_type":"execute_result","data":{"text/plain":["(284807, 31)"]},"metadata":{},"execution_count":4}]},{"cell_type":"code","source":["# Display the information of the data like index dtype and columns, non-null values, datatype of each column and memory usage.\n","cc_data.info()"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"LTkXDPEDzYuk","executionInfo":{"status":"ok","timestamp":1678459331241,"user_tz":0,"elapsed":8,"user":{"displayName":"Nikita K","userId":"13085162869527705093"}},"outputId":"c0a73339-e6b4-4e31-9473-085ed8fcab6c"},"execution_count":5,"outputs":[{"output_type":"stream","name":"stdout","text":["<class 'pandas.core.frame.DataFrame'>\n","RangeIndex: 284807 entries, 0 to 284806\n","Data columns (total 31 columns):\n"," # Column Non-Null Count Dtype \n","--- ------ -------------- ----- \n"," 0 Time 284807 non-null float64\n"," 1 V1 284807 non-null float64\n"," 2 V2 284807 non-null float64\n"," 3 V3 284807 non-null float64\n"," 4 V4 284807 non-null float64\n"," 5 V5 284807 non-null float64\n"," 6 V6 284807 non-null float64\n"," 7 V7 284807 non-null float64\n"," 8 V8 284807 non-null float64\n"," 9 V9 284807 non-null float64\n"," 10 V10 284807 non-null float64\n"," 11 V11 284807 non-null float64\n"," 12 V12 284807 non-null float64\n"," 13 V13 284807 non-null float64\n"," 14 V14 284807 non-null float64\n"," 15 V15 284807 non-null float64\n"," 16 V16 284807 non-null float64\n"," 17 V17 284807 non-null float64\n"," 18 V18 284807 non-null float64\n"," 19 V19 284807 non-null float64\n"," 20 V20 284807 non-null float64\n"," 21 V21 284807 non-null float64\n"," 22 V22 284807 non-null float64\n"," 23 V23 284807 non-null float64\n"," 24 V24 284807 non-null float64\n"," 25 V25 284807 non-null float64\n"," 26 V26 284807 non-null float64\n"," 27 V27 284807 non-null float64\n"," 28 V28 284807 non-null float64\n"," 29 Amount 284807 non-null float64\n"," 30 Class 284807 non-null int64 \n","dtypes: float64(30), int64(1)\n","memory usage: 67.4 MB\n"]}]},{"cell_type":"code","source":["# Checking for null values in the dataset. \n","# The output is zero since there are no null values in the dataset, hence no modifications are done to the dataset\n","cc_data.isnull().sum()"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"89N9hbEk0ANs","executionInfo":{"status":"ok","timestamp":1678459331241,"user_tz":0,"elapsed":6,"user":{"displayName":"Nikita K","userId":"13085162869527705093"}},"outputId":"e5b8ab70-ae2c-4175-c7a0-30ae1f555dd5"},"execution_count":6,"outputs":[{"output_type":"execute_result","data":{"text/plain":["Time 0\n","V1 0\n","V2 0\n","V3 0\n","V4 0\n","V5 0\n","V6 0\n","V7 0\n","V8 0\n","V9 0\n","V10 0\n","V11 0\n","V12 0\n","V13 0\n","V14 0\n","V15 0\n","V16 0\n","V17 0\n","V18 0\n","V19 0\n","V20 0\n","V21 0\n","V22 0\n","V23 0\n","V24 0\n","V25 0\n","V26 0\n","V27 0\n","V28 0\n","Amount 0\n","Class 0\n","dtype: int64"]},"metadata":{},"execution_count":6}]},{"cell_type":"code","source":["# The dataset details are again printed to display that none null values columns are dropped.\n","cc_data.info()"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"7cl9rXV30_m8","executionInfo":{"status":"ok","timestamp":1678459331241,"user_tz":0,"elapsed":5,"user":{"displayName":"Nikita K","userId":"13085162869527705093"}},"outputId":"f1de642e-3d0e-4dbd-a2bb-d87529d26bc5"},"execution_count":7,"outputs":[{"output_type":"stream","name":"stdout","text":["<class 'pandas.core.frame.DataFrame'>\n","RangeIndex: 284807 entries, 0 to 284806\n","Data columns (total 31 columns):\n"," # Column Non-Null Count Dtype \n","--- ------ -------------- ----- \n"," 0 Time 284807 non-null float64\n"," 1 V1 284807 non-null float64\n"," 2 V2 284807 non-null float64\n"," 3 V3 284807 non-null float64\n"," 4 V4 284807 non-null float64\n"," 5 V5 284807 non-null float64\n"," 6 V6 284807 non-null float64\n"," 7 V7 284807 non-null float64\n"," 8 V8 284807 non-null float64\n"," 9 V9 284807 non-null float64\n"," 10 V10 284807 non-null float64\n"," 11 V11 284807 non-null float64\n"," 12 V12 284807 non-null float64\n"," 13 V13 284807 non-null float64\n"," 14 V14 284807 non-null float64\n"," 15 V15 284807 non-null float64\n"," 16 V16 284807 non-null float64\n"," 17 V17 284807 non-null float64\n"," 18 V18 284807 non-null float64\n"," 19 V19 284807 non-null float64\n"," 20 V20 284807 non-null float64\n"," 21 V21 284807 non-null float64\n"," 22 V22 284807 non-null float64\n"," 23 V23 284807 non-null float64\n"," 24 V24 284807 non-null float64\n"," 25 V25 284807 non-null float64\n"," 26 V26 284807 non-null float64\n"," 27 V27 284807 non-null float64\n"," 28 V28 284807 non-null float64\n"," 29 Amount 284807 non-null float64\n"," 30 Class 284807 non-null int64 \n","dtypes: float64(30), int64(1)\n","memory usage: 67.4 MB\n"]}]},{"cell_type":"code","source":["# In a scatter plot matrix (SPLOM), each row of dataset is represented by a multiple symbol marks, \n","# one in each cell of a grid of 2D scatter plots, which plot each pair of dimensions (Time and Amount) against each other.\n","scatter = scatter_matrix(cc_data,dimensions=['Time','Amount'],color='Class')\n","scatter.show()"],"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":542,"output_embedded_package_id":"1FdEYG5XdfEClZ2Vu4gWgooLccnPmBv5j"},"id":"BKd4nYkm1Ylu","executionInfo":{"status":"ok","timestamp":1678459335727,"user_tz":0,"elapsed":4490,"user":{"displayName":"Nikita K","userId":"13085162869527705093"}},"outputId":"f490cea8-577b-4d41-d70a-98d9d1b8ba21"},"execution_count":8,"outputs":[{"output_type":"display_data","data":{"text/plain":"Output hidden; open in https://colab.research.google.com to view."},"metadata":{}}]},{"cell_type":"code","source":["# The Class column identifies the data row as fraud (Class - 1) and non-fraud (Class - 0)\n","cc_data.Class.value_counts()"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"xS2TG1nW2I3h","executionInfo":{"status":"ok","timestamp":1678459335727,"user_tz":0,"elapsed":11,"user":{"displayName":"Nikita K","userId":"13085162869527705093"}},"outputId":"b3f8e1eb-2d11-473a-fb52-2db888065bd7"},"execution_count":9,"outputs":[{"output_type":"execute_result","data":{"text/plain":["0 284315\n","1 492\n","Name: Class, dtype: int64"]},"metadata":{},"execution_count":9}]},{"cell_type":"code","source":["fraud = cc_data[cc_data.Class == 1]\n","fraud"],"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":488},"id":"njoehDt-M_qn","executionInfo":{"status":"ok","timestamp":1678459335727,"user_tz":0,"elapsed":10,"user":{"displayName":"Nikita K","userId":"13085162869527705093"}},"outputId":"227bfcf9-97ba-41e4-d59f-b8cdda4cd6f3"},"execution_count":10,"outputs":[{"output_type":"execute_result","data":{"text/plain":[" Time V1 V2 V3 V4 V5 V6 \\\n","541 406.0 -2.312227 1.951992 -1.609851 3.997906 -0.522188 -1.426545 \n","623 472.0 -3.043541 -3.157307 1.088463 2.288644 1.359805 -1.064823 \n","4920 4462.0 -2.303350 1.759247 -0.359745 2.330243 -0.821628 -0.075788 \n","6108 6986.0 -4.397974 1.358367 -2.592844 2.679787 -1.128131 -1.706536 \n","6329 7519.0 1.234235 3.019740 -4.304597 4.732795 3.624201 -1.357746 \n","... ... ... ... ... ... ... ... \n","279863 169142.0 -1.927883 1.125653 -4.518331 1.749293 -1.566487 -2.010494 \n","280143 169347.0 1.378559 1.289381 -5.004247 1.411850 0.442581 -1.326536 \n","280149 169351.0 -0.676143 1.126366 -2.213700 0.468308 -1.120541 -0.003346 \n","281144 169966.0 -3.113832 0.585864 -5.399730 1.817092 -0.840618 -2.943548 \n","281674 170348.0 1.991976 0.158476 -2.583441 0.408670 1.151147 -0.096695 \n","\n"," V7 V8 V9 ... V21 V22 V23 \\\n","541 -2.537387 1.391657 -2.770089 ... 0.517232 -0.035049 -0.465211 \n","623 0.325574 -0.067794 -0.270953 ... 0.661696 0.435477 1.375966 \n","4920 0.562320 -0.399147 -0.238253 ... -0.294166 -0.932391 0.172726 \n","6108 -3.496197 -0.248778 -0.247768 ... 0.573574 0.176968 -0.436207 \n","6329 1.713445 -0.496358 -1.282858 ... -0.379068 -0.704181 -0.656805 \n","... ... ... ... ... ... ... ... \n","279863 -0.882850 0.697211 -2.064945 ... 0.778584 -0.319189 0.639419 \n","280143 -1.413170 0.248525 -1.127396 ... 0.370612 0.028234 -0.145640 \n","280149 -2.234739 1.210158 -0.652250 ... 0.751826 0.834108 0.190944 \n","281144 -2.208002 1.058733 -1.632333 ... 0.583276 -0.269209 -0.456108 \n","281674 0.223050 -0.068384 0.577829 ... -0.164350 -0.295135 -0.072173 \n","\n"," V24 V25 V26 V27 V28 Amount Class \n","541 0.320198 0.044519 0.177840 0.261145 -0.143276 0.00 1 \n","623 -0.293803 0.279798 -0.145362 -0.252773 0.035764 529.00 1 \n","4920 -0.087330 -0.156114 -0.542628 0.039566 -0.153029 239.93 1 \n","6108 -0.053502 0.252405 -0.657488 -0.827136 0.849573 59.00 1 \n","6329 -1.632653 1.488901 0.566797 -0.010016 0.146793 1.00 1 \n","... ... ... ... ... ... ... ... \n","279863 -0.294885 0.537503 0.788395 0.292680 0.147968 390.00 1 \n","280143 -0.081049 0.521875 0.739467 0.389152 0.186637 0.76 1 \n","280149 0.032070 -0.739695 0.471111 0.385107 0.194361 77.89 1 \n","281144 -0.183659 -0.328168 0.606116 0.884876 -0.253700 245.00 1 \n","281674 -0.450261 0.313267 -0.289617 0.002988 -0.015309 42.53 1 \n","\n","[492 rows x 31 columns]"],"text/html":["\n"," <div id=\"df-9b59323b-8390-49c9-a288-3c1ca3a35276\">\n"," <div class=\"colab-df-container\">\n"," <div>\n","<style scoped>\n"," .dataframe tbody tr th:only-of-type {\n"," vertical-align: middle;\n"," }\n","\n"," .dataframe tbody tr th {\n"," vertical-align: top;\n"," }\n","\n"," .dataframe thead th {\n"," text-align: right;\n"," }\n","</style>\n","<table border=\"1\" class=\"dataframe\">\n"," <thead>\n"," <tr style=\"text-align: right;\">\n"," <th></th>\n"," <th>Time</th>\n"," <th>V1</th>\n"," <th>V2</th>\n"," <th>V3</th>\n"," <th>V4</th>\n"," <th>V5</th>\n"," <th>V6</th>\n"," <th>V7</th>\n"," <th>V8</th>\n"," <th>V9</th>\n"," <th>...</th>\n"," <th>V21</th>\n"," <th>V22</th>\n"," <th>V23</th>\n"," <th>V24</th>\n"," <th>V25</th>\n"," <th>V26</th>\n"," <th>V27</th>\n"," <th>V28</th>\n"," <th>Amount</th>\n"," <th>Class</th>\n"," </tr>\n"," </thead>\n"," <tbody>\n"," <tr>\n"," <th>541</th>\n"," <td>406.0</td>\n"," <td>-2.312227</td>\n"," <td>1.951992</td>\n"," <td>-1.609851</td>\n"," <td>3.997906</td>\n"," <td>-0.522188</td>\n"," <td>-1.426545</td>\n"," <td>-2.537387</td>\n"," <td>1.391657</td>\n"," <td>-2.770089</td>\n"," <td>...</td>\n"," <td>0.517232</td>\n"," <td>-0.035049</td>\n"," <td>-0.465211</td>\n"," <td>0.320198</td>\n"," <td>0.044519</td>\n"," <td>0.177840</td>\n"," <td>0.261145</td>\n"," <td>-0.143276</td>\n"," <td>0.00</td>\n"," <td>1</td>\n"," </tr>\n"," <tr>\n"," <th>623</th>\n"," <td>472.0</td>\n"," <td>-3.043541</td>\n"," <td>-3.157307</td>\n"," <td>1.088463</td>\n"," <td>2.288644</td>\n"," <td>1.359805</td>\n"," <td>-1.064823</td>\n"," <td>0.325574</td>\n"," <td>-0.067794</td>\n"," <td>-0.270953</td>\n"," <td>...</td>\n"," <td>0.661696</td>\n"," <td>0.435477</td>\n"," <td>1.375966</td>\n"," <td>-0.293803</td>\n"," <td>0.279798</td>\n"," <td>-0.145362</td>\n"," <td>-0.252773</td>\n"," <td>0.035764</td>\n"," <td>529.00</td>\n"," <td>1</td>\n"," </tr>\n"," <tr>\n"," <th>4920</th>\n"," <td>4462.0</td>\n"," <td>-2.303350</td>\n"," <td>1.759247</td>\n"," <td>-0.359745</td>\n"," <td>2.330243</td>\n"," <td>-0.821628</td>\n"," <td>-0.075788</td>\n"," <td>0.562320</td>\n"," <td>-0.399147</td>\n"," <td>-0.238253</td>\n"," <td>...</td>\n"," <td>-0.294166</td>\n"," <td>-0.932391</td>\n"," <td>0.172726</td>\n"," <td>-0.087330</td>\n"," <td>-0.156114</td>\n"," <td>-0.542628</td>\n"," <td>0.039566</td>\n"," <td>-0.153029</td>\n"," <td>239.93</td>\n"," <td>1</td>\n"," </tr>\n"," <tr>\n"," <th>6108</th>\n"," <td>6986.0</td>\n"," <td>-4.397974</td>\n"," <td>1.358367</td>\n"," <td>-2.592844</td>\n"," <td>2.679787</td>\n"," <td>-1.128131</td>\n"," <td>-1.706536</td>\n"," <td>-3.496197</td>\n"," <td>-0.248778</td>\n"," <td>-0.247768</td>\n"," <td>...</td>\n"," <td>0.573574</td>\n"," <td>0.176968</td>\n"," <td>-0.436207</td>\n"," <td>-0.053502</td>\n"," <td>0.252405</td>\n"," <td>-0.657488</td>\n"," <td>-0.827136</td>\n"," <td>0.849573</td>\n"," <td>59.00</td>\n"," <td>1</td>\n"," </tr>\n"," <tr>\n"," <th>6329</th>\n"," <td>7519.0</td>\n"," <td>1.234235</td>\n"," <td>3.019740</td>\n"," <td>-4.304597</td>\n"," <td>4.732795</td>\n"," <td>3.624201</td>\n"," <td>-1.357746</td>\n"," <td>1.713445</td>\n"," <td>-0.496358</td>\n"," <td>-1.282858</td>\n"," <td>...</td>\n"," <td>-0.379068</td>\n"," <td>-0.704181</td>\n"," <td>-0.656805</td>\n"," <td>-1.632653</td>\n"," <td>1.488901</td>\n"," <td>0.566797</td>\n"," <td>-0.010016</td>\n"," <td>0.146793</td>\n"," <td>1.00</td>\n"," <td>1</td>\n"," </tr>\n"," <tr>\n"," <th>...</th>\n"," <td>...</td>\n"," <td>...</td>\n"," <td>...</td>\n"," <td>...</td>\n"," <td>...</td>\n"," <td>...</td>\n"," <td>...</td>\n"," <td>...</td>\n"," <td>...</td>\n"," <td>...</td>\n"," <td>...</td>\n"," <td>...</td>\n"," <td>...</td>\n"," <td>...</td>\n"," <td>...</td>\n"," <td>...</td>\n"," <td>...</td>\n"," <td>...</td>\n"," <td>...</td>\n"," <td>...</td>\n"," <td>...</td>\n"," </tr>\n"," <tr>\n"," <th>279863</th>\n"," <td>169142.0</td>\n"," <td>-1.927883</td>\n"," <td>1.125653</td>\n"," <td>-4.518331</td>\n"," <td>1.749293</td>\n"," <td>-1.566487</td>\n"," <td>-2.010494</td>\n"," <td>-0.882850</td>\n"," <td>0.697211</td>\n"," <td>-2.064945</td>\n"," <td>...</td>\n"," <td>0.778584</td>\n"," <td>-0.319189</td>\n"," <td>0.639419</td>\n"," <td>-0.294885</td>\n"," <td>0.537503</td>\n"," <td>0.788395</td>\n"," <td>0.292680</td>\n"," <td>0.147968</td>\n"," <td>390.00</td>\n"," <td>1</td>\n"," </tr>\n"," <tr>\n"," <th>280143</th>\n"," <td>169347.0</td>\n"," <td>1.378559</td>\n"," <td>1.289381</td>\n"," <td>-5.004247</td>\n"," <td>1.411850</td>\n"," <td>0.442581</td>\n"," <td>-1.326536</td>\n"," <td>-1.413170</td>\n"," <td>0.248525</td>\n"," <td>-1.127396</td>\n"," <td>...</td>\n"," <td>0.370612</td>\n"," <td>0.028234</td>\n"," <td>-0.145640</td>\n"," <td>-0.081049</td>\n"," <td>0.521875</td>\n"," <td>0.739467</td>\n"," <td>0.389152</td>\n"," <td>0.186637</td>\n"," <td>0.76</td>\n"," <td>1</td>\n"," </tr>\n"," <tr>\n"," <th>280149</th>\n"," <td>169351.0</td>\n"," <td>-0.676143</td>\n"," <td>1.126366</td>\n"," <td>-2.213700</td>\n"," <td>0.468308</td>\n"," <td>-1.120541</td>\n"," <td>-0.003346</td>\n"," <td>-2.234739</td>\n"," <td>1.210158</td>\n"," <td>-0.652250</td>\n"," <td>...</td>\n"," <td>0.751826</td>\n"," <td>0.834108</td>\n"," <td>0.190944</td>\n"," <td>0.032070</td>\n"," <td>-0.739695</td>\n"," <td>0.471111</td>\n"," <td>0.385107</td>\n"," <td>0.194361</td>\n"," <td>77.89</td>\n"," <td>1</td>\n"," </tr>\n"," <tr>\n"," <th>281144</th>\n"," <td>169966.0</td>\n"," <td>-3.113832</td>\n"," <td>0.585864</td>\n"," <td>-5.399730</td>\n"," <td>1.817092</td>\n"," <td>-0.840618</td>\n"," <td>-2.943548</td>\n"," <td>-2.208002</td>\n"," <td>1.058733</td>\n"," <td>-1.632333</td>\n"," <td>...</td>\n"," <td>0.583276</td>\n"," <td>-0.269209</td>\n"," <td>-0.456108</td>\n"," <td>-0.183659</td>\n"," <td>-0.328168</td>\n"," <td>0.606116</td>\n"," <td>0.884876</td>\n"," <td>-0.253700</td>\n"," <td>245.00</td>\n"," <td>1</td>\n"," </tr>\n"," <tr>\n"," <th>281674</th>\n"," <td>170348.0</td>\n"," <td>1.991976</td>\n"," <td>0.158476</td>\n"," <td>-2.583441</td>\n"," <td>0.408670</td>\n"," <td>1.151147</td>\n"," <td>-0.096695</td>\n"," <td>0.223050</td>\n"," <td>-0.068384</td>\n"," <td>0.577829</td>\n"," <td>...</td>\n"," <td>-0.164350</td>\n"," <td>-0.295135</td>\n"," <td>-0.072173</td>\n"," <td>-0.450261</td>\n"," <td>0.313267</td>\n"," <td>-0.289617</td>\n"," <td>0.002988</td>\n"," <td>-0.015309</td>\n"," <td>42.53</td>\n"," <td>1</td>\n"," </tr>\n"," </tbody>\n","</table>\n","<p>492 rows × 31 columns</p>\n","</div>\n"," <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-9b59323b-8390-49c9-a288-3c1ca3a35276')\"\n"," title=\"Convert this dataframe to an interactive table.\"\n"," style=\"display:none;\">\n"," \n"," <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n"," width=\"24px\">\n"," <path d=\"M0 0h24v24H0V0z\" fill=\"none\"/>\n"," <path d=\"M18.56 5.44l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94zm-11 1L8.5 8.5l.94-2.06 2.06-.94-2.06-.94L8.5 2.5l-.94 2.06-2.06.94zm10 10l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94z\"/><path d=\"M17.41 7.96l-1.37-1.37c-.4-.4-.92-.59-1.43-.59-.52 0-1.04.2-1.43.59L10.3 9.45l-7.72 7.72c-.78.78-.78 2.05 0 2.83L4 21.41c.39.39.9.59 1.41.59.51 0 1.02-.2 1.41-.59l7.78-7.78 2.81-2.81c.8-.78.8-2.07 0-2.86zM5.41 20L4 18.59l7.72-7.72 1.47 1.35L5.41 20z\"/>\n"," </svg>\n"," </button>\n"," \n"," <style>\n"," .colab-df-container {\n"," display:flex;\n"," flex-wrap:wrap;\n"," gap: 12px;\n"," }\n","\n"," .colab-df-convert {\n"," background-color: #E8F0FE;\n"," border: none;\n"," border-radius: 50%;\n"," cursor: pointer;\n"," display: none;\n"," fill: #1967D2;\n"," height: 32px;\n"," padding: 0 0 0 0;\n"," width: 32px;\n"," }\n","\n"," .colab-df-convert:hover {\n"," background-color: #E2EBFA;\n"," box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n"," fill: #174EA6;\n"," }\n","\n"," [theme=dark] .colab-df-convert {\n"," background-color: #3B4455;\n"," fill: #D2E3FC;\n"," }\n","\n"," [theme=dark] .colab-df-convert:hover {\n"," background-color: #434B5C;\n"," box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n"," filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n"," fill: #FFFFFF;\n"," }\n"," </style>\n","\n"," <script>\n"," const buttonEl =\n"," document.querySelector('#df-9b59323b-8390-49c9-a288-3c1ca3a35276 button.colab-df-convert');\n"," buttonEl.style.display =\n"," google.colab.kernel.accessAllowed ? 'block' : 'none';\n","\n"," async function convertToInteractive(key) {\n"," const element = document.querySelector('#df-9b59323b-8390-49c9-a288-3c1ca3a35276');\n"," const dataTable =\n"," await google.colab.kernel.invokeFunction('convertToInteractive',\n"," [key], {});\n"," if (!dataTable) return;\n","\n"," const docLinkHtml = 'Like what you see? Visit the ' +\n"," '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n"," + ' to learn more about interactive tables.';\n"," element.innerHTML = '';\n"," dataTable['output_type'] = 'display_data';\n"," await google.colab.output.renderOutput(dataTable, element);\n"," const docLink = document.createElement('div');\n"," docLink.innerHTML = docLinkHtml;\n"," element.appendChild(docLink);\n"," }\n"," </script>\n"," </div>\n"," </div>\n"," "]},"metadata":{},"execution_count":10}]},{"cell_type":"code","source":["non_fraud = cc_data[cc_data.Class == 0]\n","non_fraud"],"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":488},"id":"o2OtjIoNNLvp","executionInfo":{"status":"ok","timestamp":1678459335727,"user_tz":0,"elapsed":9,"user":{"displayName":"Nikita K","userId":"13085162869527705093"}},"outputId":"baa18ab0-3f28-4dd8-82f9-1cf91858cc71"},"execution_count":11,"outputs":[{"output_type":"execute_result","data":{"text/plain":[" Time V1 V2 V3 V4 V5 \\\n","0 0.0 -1.359807 -0.072781 2.536347 1.378155 -0.338321 \n","1 0.0 1.191857 0.266151 0.166480 0.448154 0.060018 \n","2 1.0 -1.358354 -1.340163 1.773209 0.379780 -0.503198 \n","3 1.0 -0.966272 -0.185226 1.792993 -0.863291 -0.010309 \n","4 2.0 -1.158233 0.877737 1.548718 0.403034 -0.407193 \n","... ... ... ... ... ... ... \n","284802 172786.0 -11.881118 10.071785 -9.834783 -2.066656 -5.364473 \n","284803 172787.0 -0.732789 -0.055080 2.035030 -0.738589 0.868229 \n","284804 172788.0 1.919565 -0.301254 -3.249640 -0.557828 2.630515 \n","284805 172788.0 -0.240440 0.530483 0.702510 0.689799 -0.377961 \n","284806 172792.0 -0.533413 -0.189733 0.703337 -0.506271 -0.012546 \n","\n"," V6 V7 V8 V9 ... V21 V22 \\\n","0 0.462388 0.239599 0.098698 0.363787 ... -0.018307 0.277838 \n","1 -0.082361 -0.078803 0.085102 -0.255425 ... -0.225775 -0.638672 \n","2 1.800499 0.791461 0.247676 -1.514654 ... 0.247998 0.771679 \n","3 1.247203 0.237609 0.377436 -1.387024 ... -0.108300 0.005274 \n","4 0.095921 0.592941 -0.270533 0.817739 ... -0.009431 0.798278 \n","... ... ... ... ... ... ... ... \n","284802 -2.606837 -4.918215 7.305334 1.914428 ... 0.213454 0.111864 \n","284803 1.058415 0.024330 0.294869 0.584800 ... 0.214205 0.924384 \n","284804 3.031260 -0.296827 0.708417 0.432454 ... 0.232045 0.578229 \n","284805 0.623708 -0.686180 0.679145 0.392087 ... 0.265245 0.800049 \n","284806 -0.649617 1.577006 -0.414650 0.486180 ... 0.261057 0.643078 \n","\n"," V23 V24 V25 V26 V27 V28 Amount \\\n","0 -0.110474 0.066928 0.128539 -0.189115 0.133558 -0.021053 149.62 \n","1 0.101288 -0.339846 0.167170 0.125895 -0.008983 0.014724 2.69 \n","2 0.909412 -0.689281 -0.327642 -0.139097 -0.055353 -0.059752 378.66 \n","3 -0.190321 -1.175575 0.647376 -0.221929 0.062723 0.061458 123.50 \n","4 -0.137458 0.141267 -0.206010 0.502292 0.219422 0.215153 69.99 \n","... ... ... ... ... ... ... ... \n","284802 1.014480 -0.509348 1.436807 0.250034 0.943651 0.823731 0.77 \n","284803 0.012463 -1.016226 -0.606624 -0.395255 0.068472 -0.053527 24.79 \n","284804 -0.037501 0.640134 0.265745 -0.087371 0.004455 -0.026561 67.88 \n","284805 -0.163298 0.123205 -0.569159 0.546668 0.108821 0.104533 10.00 \n","284806 0.376777 0.008797 -0.473649 -0.818267 -0.002415 0.013649 217.00 \n","\n"," Class \n","0 0 \n","1 0 \n","2 0 \n","3 0 \n","4 0 \n","... ... \n","284802 0 \n","284803 0 \n","284804 0 \n","284805 0 \n","284806 0 \n","\n","[284315 rows x 31 columns]"],"text/html":["\n"," <div id=\"df-04c4e5dc-10db-4dbc-a58f-42511d60f357\">\n"," <div class=\"colab-df-container\">\n"," <div>\n","<style scoped>\n"," .dataframe tbody tr th:only-of-type {\n"," vertical-align: middle;\n"," }\n","\n"," .dataframe tbody tr th {\n"," vertical-align: top;\n"," }\n","\n"," .dataframe thead th {\n"," text-align: right;\n"," }\n","</style>\n","<table border=\"1\" class=\"dataframe\">\n"," <thead>\n"," <tr style=\"text-align: right;\">\n"," <th></th>\n"," <th>Time</th>\n"," <th>V1</th>\n"," <th>V2</th>\n"," <th>V3</th>\n"," <th>V4</th>\n"," <th>V5</th>\n"," <th>V6</th>\n"," <th>V7</th>\n"," <th>V8</th>\n"," <th>V9</th>\n"," <th>...</th>\n"," <th>V21</th>\n"," <th>V22</th>\n"," <th>V23</th>\n"," <th>V24</th>\n"," <th>V25</th>\n"," <th>V26</th>\n"," <th>V27</th>\n"," <th>V28</th>\n"," <th>Amount</th>\n"," <th>Class</th>\n"," </tr>\n"," </thead>\n"," <tbody>\n"," <tr>\n"," <th>0</th>\n"," <td>0.0</td>\n"," <td>-1.359807</td>\n"," <td>-0.072781</td>\n"," <td>2.536347</td>\n"," <td>1.378155</td>\n"," <td>-0.338321</td>\n"," <td>0.462388</td>\n"," <td>0.239599</td>\n"," <td>0.098698</td>\n"," <td>0.363787</td>\n"," <td>...</td>\n"," <td>-0.018307</td>\n"," <td>0.277838</td>\n"," <td>-0.110474</td>\n"," <td>0.066928</td>\n"," <td>0.128539</td>\n"," <td>-0.189115</td>\n"," <td>0.133558</td>\n"," <td>-0.021053</td>\n"," <td>149.62</td>\n"," <td>0</td>\n"," </tr>\n"," <tr>\n"," <th>1</th>\n"," <td>0.0</td>\n"," <td>1.191857</td>\n"," <td>0.266151</td>\n"," <td>0.166480</td>\n"," <td>0.448154</td>\n"," <td>0.060018</td>\n"," <td>-0.082361</td>\n"," <td>-0.078803</td>\n"," <td>0.085102</td>\n"," <td>-0.255425</td>\n"," <td>...</td>\n"," <td>-0.225775</td>\n"," <td>-0.638672</td>\n"," <td>0.101288</td>\n"," <td>-0.339846</td>\n"," <td>0.167170</td>\n"," <td>0.125895</td>\n"," <td>-0.008983</td>\n"," <td>0.014724</td>\n"," <td>2.69</td>\n"," <td>0</td>\n"," </tr>\n"," <tr>\n"," <th>2</th>\n"," <td>1.0</td>\n"," <td>-1.358354</td>\n"," <td>-1.340163</td>\n"," <td>1.773209</td>\n"," <td>0.379780</td>\n"," <td>-0.503198</td>\n"," <td>1.800499</td>\n"," <td>0.791461</td>\n"," <td>0.247676</td>\n"," <td>-1.514654</td>\n"," <td>...</td>\n"," <td>0.247998</td>\n"," <td>0.771679</td>\n"," <td>0.909412</td>\n"," <td>-0.689281</td>\n"," <td>-0.327642</td>\n"," <td>-0.139097</td>\n"," <td>-0.055353</td>\n"," <td>-0.059752</td>\n"," <td>378.66</td>\n"," <td>0</td>\n"," </tr>\n"," <tr>\n"," <th>3</th>\n"," <td>1.0</td>\n"," <td>-0.966272</td>\n"," <td>-0.185226</td>\n"," <td>1.792993</td>\n"," <td>-0.863291</td>\n"," <td>-0.010309</td>\n"," <td>1.247203</td>\n"," <td>0.237609</td>\n"," <td>0.377436</td>\n"," <td>-1.387024</td>\n"," <td>...</td>\n"," <td>-0.108300</td>\n"," <td>0.005274</td>\n"," <td>-0.190321</td>\n"," <td>-1.175575</td>\n"," <td>0.647376</td>\n"," <td>-0.221929</td>\n"," <td>0.062723</td>\n"," <td>0.061458</td>\n"," <td>123.50</td>\n"," <td>0</td>\n"," </tr>\n"," <tr>\n"," <th>4</th>\n"," <td>2.0</td>\n"," <td>-1.158233</td>\n"," <td>0.877737</td>\n"," <td>1.548718</td>\n"," <td>0.403034</td>\n"," <td>-0.407193</td>\n"," <td>0.095921</td>\n"," <td>0.592941</td>\n"," <td>-0.270533</td>\n"," <td>0.817739</td>\n"," <td>...</td>\n"," <td>-0.009431</td>\n"," <td>0.798278</td>\n"," <td>-0.137458</td>\n"," <td>0.141267</td>\n"," <td>-0.206010</td>\n"," <td>0.502292</td>\n"," <td>0.219422</td>\n"," <td>0.215153</td>\n"," <td>69.99</td>\n"," <td>0</td>\n"," </tr>\n"," <tr>\n"," <th>...</th>\n"," <td>...</td>\n"," <td>...</td>\n"," <td>...</td>\n"," <td>...</td>\n"," <td>...</td>\n"," <td>...</td>\n"," <td>...</td>\n"," <td>...</td>\n"," <td>...</td>\n"," <td>...</td>\n"," <td>...</td>\n"," <td>...</td>\n"," <td>...</td>\n"," <td>...</td>\n"," <td>...</td>\n"," <td>...</td>\n"," <td>...</td>\n"," <td>...</td>\n"," <td>...</td>\n"," <td>...</td>\n"," <td>...</td>\n"," </tr>\n"," <tr>\n"," <th>284802</th>\n"," <td>172786.0</td>\n"," <td>-11.881118</td>\n"," <td>10.071785</td>\n"," <td>-9.834783</td>\n"," <td>-2.066656</td>\n"," <td>-5.364473</td>\n"," <td>-2.606837</td>\n"," <td>-4.918215</td>\n"," <td>7.305334</td>\n"," <td>1.914428</td>\n"," <td>...</td>\n"," <td>0.213454</td>\n"," <td>0.111864</td>\n"," <td>1.014480</td>\n"," <td>-0.509348</td>\n"," <td>1.436807</td>\n"," <td>0.250034</td>\n"," <td>0.943651</td>\n"," <td>0.823731</td>\n"," <td>0.77</td>\n"," <td>0</td>\n"," </tr>\n"," <tr>\n"," <th>284803</th>\n"," <td>172787.0</td>\n"," <td>-0.732789</td>\n"," <td>-0.055080</td>\n"," <td>2.035030</td>\n"," <td>-0.738589</td>\n"," <td>0.868229</td>\n"," <td>1.058415</td>\n"," <td>0.024330</td>\n"," <td>0.294869</td>\n"," <td>0.584800</td>\n"," <td>...</td>\n"," <td>0.214205</td>\n"," <td>0.924384</td>\n"," <td>0.012463</td>\n"," <td>-1.016226</td>\n"," <td>-0.606624</td>\n"," <td>-0.395255</td>\n"," <td>0.068472</td>\n"," <td>-0.053527</td>\n"," <td>24.79</td>\n"," <td>0</td>\n"," </tr>\n"," <tr>\n"," <th>284804</th>\n"," <td>172788.0</td>\n"," <td>1.919565</td>\n"," <td>-0.301254</td>\n"," <td>-3.249640</td>\n"," <td>-0.557828</td>\n"," <td>2.630515</td>\n"," <td>3.031260</td>\n"," <td>-0.296827</td>\n"," <td>0.708417</td>\n"," <td>0.432454</td>\n"," <td>...</td>\n"," <td>0.232045</td>\n"," <td>0.578229</td>\n"," <td>-0.037501</td>\n"," <td>0.640134</td>\n"," <td>0.265745</td>\n"," <td>-0.087371</td>\n"," <td>0.004455</td>\n"," <td>-0.026561</td>\n"," <td>67.88</td>\n"," <td>0</td>\n"," </tr>\n"," <tr>\n"," <th>284805</th>\n"," <td>172788.0</td>\n"," <td>-0.240440</td>\n"," <td>0.530483</td>\n"," <td>0.702510</td>\n"," <td>0.689799</td>\n"," <td>-0.377961</td>\n"," <td>0.623708</td>\n"," <td>-0.686180</td>\n"," <td>0.679145</td>\n"," <td>0.392087</td>\n"," <td>...</td>\n"," <td>0.265245</td>\n"," <td>0.800049</td>\n"," <td>-0.163298</td>\n"," <td>0.123205</td>\n"," <td>-0.569159</td>\n"," <td>0.546668</td>\n"," <td>0.108821</td>\n"," <td>0.104533</td>\n"," <td>10.00</td>\n"," <td>0</td>\n"," </tr>\n"," <tr>\n"," <th>284806</th>\n"," <td>172792.0</td>\n"," <td>-0.533413</td>\n"," <td>-0.189733</td>\n"," <td>0.703337</td>\n"," <td>-0.506271</td>\n"," <td>-0.012546</td>\n"," <td>-0.649617</td>\n"," <td>1.577006</td>\n"," <td>-0.414650</td>\n"," <td>0.486180</td>\n"," <td>...</td>\n"," <td>0.261057</td>\n"," <td>0.643078</td>\n"," <td>0.376777</td>\n"," <td>0.008797</td>\n"," <td>-0.473649</td>\n"," <td>-0.818267</td>\n"," <td>-0.002415</td>\n"," <td>0.013649</td>\n"," <td>217.00</td>\n"," <td>0</td>\n"," </tr>\n"," </tbody>\n","</table>\n","<p>284315 rows × 31 columns</p>\n","</div>\n"," <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-04c4e5dc-10db-4dbc-a58f-42511d60f357')\"\n"," title=\"Convert this dataframe to an interactive table.\"\n"," style=\"display:none;\">\n"," \n"," <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n"," width=\"24px\">\n"," <path d=\"M0 0h24v24H0V0z\" fill=\"none\"/>\n"," <path d=\"M18.56 5.44l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94zm-11 1L8.5 8.5l.94-2.06 2.06-.94-2.06-.94L8.5 2.5l-.94 2.06-2.06.94zm10 10l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94z\"/><path d=\"M17.41 7.96l-1.37-1.37c-.4-.4-.92-.59-1.43-.59-.52 0-1.04.2-1.43.59L10.3 9.45l-7.72 7.72c-.78.78-.78 2.05 0 2.83L4 21.41c.39.39.9.59 1.41.59.51 0 1.02-.2 1.41-.59l7.78-7.78 2.81-2.81c.8-.78.8-2.07 0-2.86zM5.41 20L4 18.59l7.72-7.72 1.47 1.35L5.41 20z\"/>\n"," </svg>\n"," </button>\n"," \n"," <style>\n"," .colab-df-container {\n"," display:flex;\n"," flex-wrap:wrap;\n"," gap: 12px;\n"," }\n","\n"," .colab-df-convert {\n"," background-color: #E8F0FE;\n"," border: none;\n"," border-radius: 50%;\n"," cursor: pointer;\n"," display: none;\n"," fill: #1967D2;\n"," height: 32px;\n"," padding: 0 0 0 0;\n"," width: 32px;\n"," }\n","\n"," .colab-df-convert:hover {\n"," background-color: #E2EBFA;\n"," box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n"," fill: #174EA6;\n"," }\n","\n"," [theme=dark] .colab-df-convert {\n"," background-color: #3B4455;\n"," fill: #D2E3FC;\n"," }\n","\n"," [theme=dark] .colab-df-convert:hover {\n"," background-color: #434B5C;\n"," box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n"," filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n"," fill: #FFFFFF;\n"," }\n"," </style>\n","\n"," <script>\n"," const buttonEl =\n"," document.querySelector('#df-04c4e5dc-10db-4dbc-a58f-42511d60f357 button.colab-df-convert');\n"," buttonEl.style.display =\n"," google.colab.kernel.accessAllowed ? 'block' : 'none';\n","\n"," async function convertToInteractive(key) {\n"," const element = document.querySelector('#df-04c4e5dc-10db-4dbc-a58f-42511d60f357');\n"," const dataTable =\n"," await google.colab.kernel.invokeFunction('convertToInteractive',\n"," [key], {});\n"," if (!dataTable) return;\n","\n"," const docLinkHtml = 'Like what you see? Visit the ' +\n"," '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n"," + ' to learn more about interactive tables.';\n"," element.innerHTML = '';\n"," dataTable['output_type'] = 'display_data';\n"," await google.colab.output.renderOutput(dataTable, element);\n"," const docLink = document.createElement('div');\n"," docLink.innerHTML = docLinkHtml;\n"," element.appendChild(docLink);\n"," }\n"," </script>\n"," </div>\n"," </div>\n"," "]},"metadata":{},"execution_count":11}]},{"cell_type":"code","source":["# Plot a bar graph to display the count of fraud and non-fraud data.\n","plt.figure(figsize = (6,5))\n","sns.countplot(cc_data.Class, color = \"purple\")\n","plt.title (\"Fraud over non-fraud transactions\")\n","plt.xlabel (\"Class\")\n","plt.ylabel (\"Count\")\n","plt.show()"],"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":441},"id":"LowcWN-P2tu_","executionInfo":{"status":"ok","timestamp":1678459335727,"user_tz":0,"elapsed":9,"user":{"displayName":"Nikita K","userId":"13085162869527705093"}},"outputId":"cb3ab1a0-e6dd-4777-9db1-2564b6dfdc14"},"execution_count":12,"outputs":[{"output_type":"stream","name":"stderr","text":["/usr/local/lib/python3.9/dist-packages/seaborn/_decorators.py:36: FutureWarning:\n","\n","Pass the following variable as a keyword arg: x. From version 0.12, the only valid positional argument will be `data`, and passing other arguments without an explicit keyword will result in an error or misinterpretation.\n","\n"]},{"output_type":"display_data","data":{"text/plain":["<Figure size 432x360 with 1 Axes>"],"image/png":"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\n"},"metadata":{"needs_background":"light"}}]},{"cell_type":"code","source":["correlation_matrix = cc_data.corr()\n","\n","fig = px.imshow(correlation_matrix, color_continuous_scale='plasma')\n","fig.show()"],"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":542},"id":"I26sou1G_HNP","executionInfo":{"status":"ok","timestamp":1678459335728,"user_tz":0,"elapsed":8,"user":{"displayName":"Nikita K","userId":"13085162869527705093"}},"outputId":"95111ac6-b96d-4aaa-ef45-92dcd4a5c0a4"},"execution_count":13,"outputs":[{"output_type":"display_data","data":{"text/html":["<html>\n","<head><meta charset=\"utf-8\" /></head>\n","<body>\n"," <div> <script src=\"https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_SVG\"></script><script type=\"text/javascript\">if (window.MathJax) {MathJax.Hub.Config({SVG: {font: \"STIX-Web\"}});}</script> <script type=\"text/javascript\">window.PlotlyConfig = {MathJaxConfig: 'local'};</script>\n"," <script src=\"https://cdn.plot.ly/plotly-2.8.3.min.js\"></script> <div id=\"1cdd4c43-0e47-4041-bbb2-d72b19cb4847\" class=\"plotly-graph-div\" style=\"height:525px; width:100%;\"></div> <script type=\"text/javascript\"> window.PLOTLYENV=window.PLOTLYENV || {}; if (document.getElementById(\"1cdd4c43-0e47-4041-bbb2-d72b19cb4847\")) { Plotly.newPlot( \"1cdd4c43-0e47-4041-bbb2-d72b19cb4847\", [{\"coloraxis\":\"coloraxis\",\"name\":\"0\",\"x\":[\"Time\",\"V1\",\"V2\",\"V3\",\"V4\",\"V5\",\"V6\",\"V7\",\"V8\",\"V9\",\"V10\",\"V11\",\"V12\",\"V13\",\"V14\",\"V15\",\"V16\",\"V17\",\"V18\",\"V19\",\"V20\",\"V21\",\"V22\",\"V23\",\"V24\",\"V25\",\"V26\",\"V27\",\"V28\",\"Amount\",\"Class\"],\"y\":[\"Time\",\"V1\",\"V2\",\"V3\",\"V4\",\"V5\",\"V6\",\"V7\",\"V8\",\"V9\",\"V10\",\"V11\",\"V12\",\"V13\",\"V14\",\"V15\",\"V16\",\"V17\",\"V18\",\"V19\",\"V20\",\"V21\",\"V22\",\"V23\",\"V24\",\"V25\",\"V26\",\"V27\",\"V28\",\"Amount\",\"Class\"],\"z\":[[1.0,0.11739630597838789,-0.010593327121342788,-0.41961817221152137,-0.1052602054457292,0.1730721233103911,-0.06301647037315108,0.08471437480498875,-0.03694943469000893,-0.008660433697684605,0.030616628592319686,-0.24768943748667419,0.12434806837193216,-0.06590202369761909,-0.09875681920622491,-0.18345327348103557,0.011902867722434273,-0.07329721331779822,0.09043813254861119,0.028975302561134116,-0.05086601846835266,0.04473572628908045,0.14405905486145879,0.05114236494177282,-0.016181868459307136,-0.23308279059831072,-0.04140710060605856,-0.0051345911239974755,-0.009412688179052135,-0.010596373389030208,-0.012322570929245588],[0.11739630597838789,1.0,4.1358354564892754e-16,-1.2278194121819788e-15,-9.215150243899318e-16,1.8126116695596912e-17,-6.506566620719457e-16,-1.005191388479541e-15,-2.433821872330018e-16,-1.5136779944803127e-16,7.388134717351061e-17,2.1254983311063253e-16,2.0534566920177348e-16,-2.4256031737394643e-17,-5.020280380415147e-16,3.5477819410318954e-16,7.212815001934148e-17,-3.87983961824813e-16,3.230205740239066e-17,1.5020239355025085e-16,4.654551139305108e-16,-2.4574089417386587e-16,-4.2909438718268266e-16,6.168652436530227e-16,-4.4251562937334496e-17,-9.605737402666084e-16,-1.5812895377398922e-17,1.1981236332134924e-16,2.0830815396728918e-15,-0.22770865292240447,-0.10134729859508294],[-0.010593327121342788,4.1358354564892754e-16,1.0,3.2437637564730876e-16,-1.1210645517879283e-15,5.157519226850325e-16,2.787345616249733e-16,2.0559335979979422e-16,-5.377040798099404e-17,1.9784883982576268e-17,-3.9913938358309816e-16,1.9754261716388057e-16,-9.568709787237782e-17,6.295388359367237e-16,-1.7305655729049333e-16,-4.995813738381819e-17,1.1773156245287562e-17,-2.6852960349785897e-16,3.2846050560664826e-16,-7.118719066768033e-18,2.50667497634529e-16,-8.480446676665688e-17,1.5263331954819332e-16,1.6342312638331767e-16,1.2479254148791624e-17,-4.478845863905263e-16,2.0573095296611221e-16,-4.966952901962228e-16,-5.093835621862943e-16,-0.5314089393280346,0.0912886503446179],[-0.41961817221152137,-1.2278194121819788e-15,3.2437637564730876e-16,1.0,4.711292683654366e-16,-6.539008510650542e-17,1.627626540252481e-15,4.895304621446415e-16,-1.268778573826182e-15,5.568366908598342e-16,1.1565865750566837e-15,1.5768296423313399e-15,6.310231445379778e-16,2.807651947490283e-16,4.739859022371114e-16,9.068793155133045e-16,8.299444784584843e-16,7.614711699539666e-16,1.5098965169385715e-16,3.463522445596662e-16,-9.316408952450645e-16,5.706192013553349e-17,-1.1339017399048806e-15,-4.983034749508378e-16,2.686833641516197e-19,-1.1047337449307866e-15,-1.2380624286864503e-16,1.0457467776682414e-15,9.775546470754552e-16,-0.2108804752899098,-0.19296082706741602],[-0.1052602054457292,-9.215150243899318e-16,-1.1210645517879283e-15,4.711292683654366e-16,1.0,-1.7199442557407963e-15,-7.491958618234819e-16,-4.104502892359598e-16,5.697192192200434e-16,6.92324681822723e-16,2.232684984042872e-16,3.459380257636673e-16,-5.625517514717779e-16,1.3033060401606038e-16,2.282279888410829e-16,1.3776486407170148e-16,-9.614528436638084e-16,-2.699612312806123e-16,-5.103644326568441e-16,-3.9805573017882795e-16,-1.8572469274698646e-16,-1.9495531570649426e-16,-6.276051371170312e-17,9.164206002886586e-17,1.5846375199907873e-16,6.0707156393623205e-16,-4.247267766169872e-16,3.977060870415758e-17,-2.7614028067346953e-18,0.09873166631356645,0.13344748623900718],[0.1730721233103911,1.8126116695596912e-17,5.157519226850325e-16,-6.539008510650542e-17,-1.7199442557407963e-15,1.0,2.408382066295025e-16,2.7155407001970747e-16,7.437229396632891e-16,7.391701641490924e-16,-5.202305881659873e-16,7.203963319401883e-16,7.412552025077167e-16,5.88699112533171e-16,6.56514268095602e-16,-8.720275105769596e-16,2.246261396202371e-15,1.2819137171547366e-16,5.308589701106476e-16,-1.4504208046983195e-16,-3.5540572101531124e-16,-3.9209757534272204e-16,1.2537514849245887e-16,-8.428682666724684e-18,-1.1492545365112402e-15,4.808531869137339e-16,4.3195414687166863e-16,6.590482071768851e-16,-5.6139507078607e-18,-0.38635625616306496,-0.09497429899144802],[-0.06301647037315108,-6.506566620719457e-16,2.787345616249733e-16,1.627626540252481e-15,-7.491958618234819e-16,2.408382066295025e-16,1.0,1.191667589072508e-16,-1.1042189042385735e-16,4.1312074945098704e-16,5.932243209613179e-17,1.9805032684309883e-15,2.3754678641019686e-16,-1.2111822796008627e-16,2.6213119453640026e-16,-1.531187930589043e-15,2.62367236701838e-18,2.0156175061319107e-16,1.2238142286241463e-16,-1.865597144392931e-16,-1.8587549872133942e-16,5.83331648964142e-17,-4.705234695674811e-19,1.0467124490962339e-16,-1.0715891491067084e-15,4.562860891491776e-16,-1.3570673248129112e-16,-4.452461023430561e-16,2.5947542005622326e-16,0.2159811802252743,-0.04364316069996494],[0.08471437480498875,-1.005191388479541e-15,2.0559335979979422e-16,4.895304621446415e-16,-4.104502892359598e-16,2.7155407001970747e-16,1.191667589072508e-16,1.0,3.344411790071421e-16,1.1225014439079958e-15,-7.492833952152939e-17,1.425247524346415e-16,-3.536654890142397e-18,1.2664616801613498e-17,2.6077718132499896e-16,-1.6905404766329277e-16,5.869302352475609e-17,2.1771917897320863e-16,7.604126146267294e-17,-1.8810082655751772e-16,9.379683965116646e-16,-2.027779286852274e-16,-8.898921641367619e-16,-4.3874007839257624e-16,7.434913059745356e-18,-3.094081780632013e-16,-9.6576365370981e-16,-1.782105558577791e-15,-2.7765300125288505e-16,0.39731127818168616,-0.18725659151430013],[-0.03694943469000893,-2.433821872330018e-16,-5.377040798099404e-17,-1.268778573826182e-15,5.697192192200434e-16,7.437229396632891e-16,-1.1042189042385735e-16,3.344411790071421e-16,1.0,4.3560780107095135e-16,-2.8013697927814445e-16,2.4870425457504684e-16,1.8398909286248454e-16,-2.9218563607763307e-16,-8.599156012879489e-16,4.127776868168695e-16,-5.254741203520614e-16,-2.2695491182086025e-16,-3.6679744894621306e-16,-3.8751862861351176e-16,2.0337373844141382e-16,3.892797882576912e-16,2.026927304278977e-16,6.377260397492483e-17,-1.0470966864794954e-16,-4.653279299017573e-16,-1.7272763062777551e-16,1.2999428307434422e-16,-6.200929902923697e-16,-0.10307909564498216,0.019875123914794384],[-0.008660433697684605,-1.5136779944803127e-16,1.9784883982576268e-17,5.568366908598342e-16,6.92324681822723e-16,7.391701641490924e-16,4.1312074945098704e-16,1.1225014439079958e-15,4.3560780107095135e-16,1.0,-4.642273732835462e-16,1.354679871690734e-16,-1.0793141135786758e-15,2.25107172875499e-15,3.784757449242497e-15,-1.0511668941135748e-15,-1.2140863766816202e-15,1.1136947155757017e-15,4.993240413816944e-16,-1.3761346879436734e-16,-2.3437201255055754e-16,1.9369527624153884e-16,-7.071869168133064e-16,-5.214137433230766e-16,-1.4303433360827164e-16,6.757763488818423e-16,-7.888852631707746e-16,-6.709655453239168e-17,1.1105414147536788e-15,-0.044245601964446046,-0.0977326860740807],[0.030616628592319686,7.388134717351061e-17,-3.9913938358309816e-16,1.1565865750566837e-15,2.232684984042872e-16,-5.202305881659873e-16,5.932243209613179e-17,-7.492833952152939e-17,-2.8013697927814445e-16,-4.642273732835462e-16,1.0,-4.622103201113089e-16,1.7718690256134556e-15,-5.41846042363259e-16,2.635935707413199e-16,5.786331888867675e-16,3.5454495198324955e-16,1.5429548968530055e-15,3.9024229309672283e-16,3.437632550965993e-17,-1.3315562020888575e-15,1.177546680203721e-15,-6.418201898812593e-16,3.2144914548249394e-16,-1.3558851667401352e-16,-2.8460524613966964e-16,-3.028119044190825e-16,-2.1979766088647894e-16,4.864782115587085e-17,-0.10150214079143287,-0.21688294364103206],[-0.24768943748667419,2.1254983311063253e-16,1.9754261716388057e-16,1.5768296423313399e-15,3.459380257636673e-16,7.203963319401883e-16,1.9805032684309883e-15,1.425247524346415e-16,2.4870425457504684e-16,1.354679871690734e-16,-4.622103201113089e-16,1.0,6.370788814620535e-16,1.9583765492499135e-16,2.700918120522286e-16,1.33232289054777e-15,5.840590486423018e-16,7.151184677340279e-16,1.4409133966272747e-16,-7.389747856226886e-16,-1.4812986481925614e-16,-5.658364095024855e-16,7.772895273742887e-16,-4.50533169539145e-16,1.9332673743056163e-15,-5.600474870340768e-16,-1.0032214647448814e-16,-2.6402807036751134e-16,-3.7923136685329124e-16,0.00010397702176455398,0.15487564474394433],[0.12434806837193216,2.0534566920177348e-16,-9.568709787237782e-17,6.310231445379778e-16,-5.625517514717779e-16,7.412552025077167e-16,2.3754678641019686e-16,-3.536654890142397e-18,1.8398909286248454e-16,-1.0793141135786758e-15,1.7718690256134556e-15,6.370788814620535e-16,1.0,-2.321486470875369e-14,2.770713709609466e-17,-1.3604164848978839e-15,5.335133837880831e-16,5.648453498612154e-16,3.0362933537772255e-17,1.4695566932489226e-16,3.4302823082768627e-16,7.300526505643876e-16,1.6446989102745604e-16,1.8008849567119045e-16,4.436512313010862e-16,-5.712973328249079e-16,-2.3599688285863116e-16,-4.672390666543685e-16,6.415167377154613e-16,-0.009541802153205721,-0.26059292487722485],[-0.06590202369761909,-2.4256031737394643e-17,6.295388359367237e-16,2.807651947490283e-16,1.3033060401606038e-16,5.88699112533171e-16,-1.2111822796008627e-16,1.2664616801613498e-17,-2.9218563607763307e-16,2.25107172875499e-15,-5.41846042363259e-16,1.9583765492499135e-16,-2.321486470875369e-14,1.0,2.1619667447619242e-15,1.3881430727848171e-16,6.044196816561422e-16,7.58443618897532e-17,4.157329569868424e-16,-1.861400225975483e-16,5.623856068616621e-18,1.0084610412063391e-16,6.747721388834886e-17,-7.132063821134473e-16,-1.3974698480577809e-16,-5.4976118194831325e-16,-1.7692551719944352e-16,-4.720898350671909e-16,1.1443723212653693e-15,0.005293409030421471,-0.004569778799461309],[-0.09875681920622491,-5.020280380415147e-16,-1.7305655729049333e-16,4.739859022371114e-16,2.282279888410829e-16,6.56514268095602e-16,2.6213119453640026e-16,2.6077718132499896e-16,-8.599156012879489e-16,3.784757449242497e-15,2.635935707413199e-16,2.700918120522286e-16,2.770713709609466e-17,2.1619667447619242e-15,1.0,-3.808117677028143e-17,-1.4398579669506511e-15,1.1625292244039494e-15,1.6423778676319633e-15,1.9770204722750855e-16,-1.1813415810258678e-17,-3.356561456685497e-16,3.7403829306912934e-16,3.8832038551662737e-16,2.0034820594137143e-16,-8.547932209845472e-16,-1.6603270649022016e-16,1.0442741526232177e-16,2.289426763919487e-15,0.03375117176310099,-0.3025436958044028],[-0.18345327348103557,3.5477819410318954e-16,-4.995813738381819e-17,9.068793155133045e-16,1.3776486407170148e-16,-8.720275105769596e-16,-1.531187930589043e-15,-1.6905404766329277e-16,4.127776868168695e-16,-1.0511668941135748e-15,5.786331888867675e-16,1.33232289054777e-15,-1.3604164848978839e-15,1.3881430727848171e-16,-3.808117677028143e-17,1.0,1.3323897310013163e-15,6.647712204946155e-16,3.475831683906772e-16,-1.483184738613011e-15,4.3000855225009244e-16,6.605262611180825e-17,-4.208920909942288e-16,-3.912242622329936e-16,-4.478262594798636e-16,3.206422537749195e-16,2.8177912755469397e-16,-1.143519016628987e-15,-1.1941296558075896e-15,-0.002985848124560203,-0.004223402267856675],[0.011902867722434273,7.212815001934148e-17,1.1773156245287562e-17,8.299444784584843e-16,-9.614528436638084e-16,2.246261396202371e-15,2.62367236701838e-18,5.869302352475609e-17,-5.254741203520614e-16,-1.2140863766816202e-15,3.5454495198324955e-16,5.840590486423018e-16,5.335133837880831e-16,6.044196816561422e-16,-1.4398579669506511e-15,1.3323897310013163e-15,1.0,2.4824133407817586e-15,-2.4209151101527034e-15,1.3072408226766222e-15,5.176563991109766e-16,-4.715089809650195e-16,-7.923386632671353e-17,5.020770392579101e-16,-3.005984585691083e-16,-1.3454182802830804e-15,-7.290009860413427e-16,6.789513022251935e-16,7.588849292409198e-16,-0.00390952671356023,-0.19653894030401736],[-0.07329721331779822,-3.87983961824813e-16,-2.6852960349785897e-16,7.614711699539666e-16,-2.699612312806123e-16,1.2819137171547366e-16,2.0156175061319107e-16,2.1771917897320863e-16,-2.2695491182086025e-16,1.1136947155757017e-15,1.5429548968530055e-15,7.151184677340279e-16,5.648453498612154e-16,7.58443618897532e-17,1.1625292244039494e-15,6.647712204946155e-16,2.4824133407817586e-15,1.0,-4.894900789370085e-15,-3.883099234888021e-16,-1.3903082185168376e-15,-8.230527090790586e-16,-8.743398013835714e-16,3.706214006042251e-16,-2.4038276613810414e-16,2.666806350880763e-16,6.932833169370984e-16,6.148525149662035e-16,-5.5345396559478415e-17,0.007309042077000943,-0.32648106724371595],[0.09043813254861119,3.230205740239066e-17,3.2846050560664826e-16,1.5098965169385715e-16,-5.103644326568441e-16,5.308589701106476e-16,1.2238142286241463e-16,7.604126146267294e-17,-3.6679744894621306e-16,4.993240413816944e-16,3.9024229309672283e-16,1.4409133966272747e-16,3.0362933537772255e-17,4.157329569868424e-16,1.6423778676319633e-15,3.475831683906772e-16,-2.4209151101527034e-15,-4.894900789370085e-15,1.0,-2.499137803305714e-15,-3.7113023021587404e-16,-9.408679913179306e-16,-4.819364879908379e-16,-1.9120062578048154e-16,-8.986915787227416e-17,-6.629212319357846e-17,2.990167114552731e-16,2.242790892503769e-16,7.976796011923423e-16,0.03565034071999803,-0.11148525388904133],[0.028975302561134116,1.5020239355025085e-16,-7.118719066768033e-18,3.463522445596662e-16,-3.9805573017882795e-16,-1.4504208046983195e-16,-1.865597144392931e-16,-1.8810082655751772e-16,-3.8751862861351176e-16,-1.3761346879436734e-16,3.437632550965993e-17,-7.389747856226886e-16,1.4695566932489226e-16,-1.861400225975483e-16,1.9770204722750855e-16,-1.483184738613011e-15,1.3072408226766222e-15,-3.883099234888021e-16,-2.499137803305714e-15,1.0,2.614882341538791e-16,5.115884856313123e-16,-1.1637680017755397e-15,7.032034760831833e-16,2.5877075288493672e-17,9.577163384465414e-16,5.898033286517297e-16,-2.959370459016359e-16,-1.4053791305781839e-15,-0.056150787231159356,0.034783013036515056],[-0.05086601846835266,4.654551139305108e-16,2.50667497634529e-16,-9.316408952450645e-16,-1.8572469274698646e-16,-3.5540572101531124e-16,-1.8587549872133942e-16,9.379683965116646e-16,2.0337373844141382e-16,-2.3437201255055754e-16,-1.3315562020888575e-15,-1.4812986481925614e-16,3.4302823082768627e-16,5.623856068616621e-18,-1.1813415810258678e-17,4.3000855225009244e-16,5.176563991109766e-16,-1.3903082185168376e-15,-3.7113023021587404e-16,2.614882341538791e-16,1.0,-7.614596864048146e-16,1.0092853441649329e-15,2.7128849971219144e-16,1.2772145475794786e-16,1.410053578162753e-16,-2.8035038658351056e-16,-1.1388292622518563e-15,-2.436795485900816e-16,0.3394034045461662,0.020090324196974638],[0.04473572628908045,-2.4574089417386587e-16,-8.480446676665688e-17,5.706192013553349e-17,-1.9495531570649426e-16,-3.9209757534272204e-16,5.83331648964142e-17,-2.027779286852274e-16,3.892797882576912e-16,1.9369527624153884e-16,1.177546680203721e-15,-5.658364095024855e-16,7.300526505643876e-16,1.0084610412063391e-16,-3.356561456685497e-16,6.605262611180825e-17,-4.715089809650195e-16,-8.230527090790586e-16,-9.408679913179306e-16,5.115884856313123e-16,-7.614596864048146e-16,1.0,3.649907950603145e-15,8.119580111568814e-16,1.7610536429210076e-16,-1.686082241916443e-16,-5.557329265483427e-16,-1.2112813171061738e-15,5.278775256171777e-16,0.10599892763771585,0.04041338061057565],[0.14405905486145879,-4.2909438718268266e-16,1.5263331954819332e-16,-1.1339017399048806e-15,-6.276051371170312e-17,1.2537514849245887e-16,-4.705234695674811e-19,-8.898921641367619e-16,2.026927304278977e-16,-7.071869168133064e-16,-6.418201898812593e-16,7.772895273742887e-16,1.6446989102745604e-16,6.747721388834886e-17,3.7403829306912934e-16,-4.208920909942288e-16,-7.923386632671353e-17,-8.743398013835714e-16,-4.819364879908379e-16,-1.1637680017755397e-15,1.0092853441649329e-15,3.649907950603145e-15,1.0,-7.303916009614304e-17,9.970809319742974e-17,-5.018574548524348e-16,-2.5031866261963618e-17,8.461336896977236e-17,-6.627203072789682e-16,-0.06480064637320102,0.0008053175052983079],[0.05114236494177282,6.168652436530227e-16,1.6342312638331767e-16,-4.983034749508378e-16,9.164206002886586e-17,-8.428682666724684e-18,1.0467124490962339e-16,-4.3874007839257624e-16,6.377260397492483e-17,-5.214137433230766e-16,3.2144914548249394e-16,-4.50533169539145e-16,1.8008849567119045e-16,-7.132063821134473e-16,3.8832038551662737e-16,-3.912242622329936e-16,5.020770392579101e-16,3.706214006042251e-16,-1.9120062578048154e-16,7.032034760831833e-16,2.7128849971219144e-16,8.119580111568814e-16,-7.303916009614304e-17,1.0,2.1305190029328768e-17,-8.232727103076186e-17,1.1145241168236824e-15,2.839721244163519e-16,1.4819033445012514e-15,-0.11263255363253537,-0.0026851557402507824],[-0.016181868459307136,-4.4251562937334496e-17,1.2479254148791624e-17,2.686833641516197e-19,1.5846375199907873e-16,-1.1492545365112402e-15,-1.0715891491067084e-15,7.434913059745356e-18,-1.0470966864794954e-16,-1.4303433360827164e-16,-1.3558851667401352e-16,1.9332673743056163e-15,4.436512313010862e-16,-1.3974698480577809e-16,2.0034820594137143e-16,-4.478262594798636e-16,-3.005984585691083e-16,-2.4038276613810414e-16,-8.986915787227416e-17,2.5877075288493672e-17,1.2772145475794786e-16,1.7610536429210076e-16,9.970809319742974e-17,2.1305190029328768e-17,1.0,1.0153909433800983e-15,1.3437216725460246e-16,-2.2741417470201383e-16,-2.819804827567825e-16,0.005146217430766927,-0.007220906715952582],[-0.23308279059831072,-9.605737402666084e-16,-4.478845863905263e-16,-1.1047337449307866e-15,6.0707156393623205e-16,4.808531869137339e-16,4.562860891491776e-16,-3.094081780632013e-16,-4.653279299017573e-16,6.757763488818423e-16,-2.8460524613966964e-16,-5.600474870340768e-16,-5.712973328249079e-16,-5.4976118194831325e-16,-8.547932209845472e-16,3.206422537749195e-16,-1.3454182802830804e-15,2.666806350880763e-16,-6.629212319357846e-17,9.577163384465414e-16,1.410053578162753e-16,-1.686082241916443e-16,-5.018574548524348e-16,-8.232727103076186e-17,1.0153909433800983e-15,1.0,2.646516743753724e-15,-6.406679398801401e-16,-7.008939470404916e-16,-0.047836863176140484,0.0033077055972996613],[-0.04140710060605856,-1.5812895377398922e-17,2.0573095296611221e-16,-1.2380624286864503e-16,-4.247267766169872e-16,4.3195414687166863e-16,-1.3570673248129112e-16,-9.6576365370981e-16,-1.7272763062777551e-16,-7.888852631707746e-16,-3.028119044190825e-16,-1.0032214647448814e-16,-2.3599688285863116e-16,-1.7692551719944352e-16,-1.6603270649022016e-16,2.8177912755469397e-16,-7.290009860413427e-16,6.932833169370984e-16,2.990167114552731e-16,5.898033286517297e-16,-2.8035038658351056e-16,-5.557329265483427e-16,-2.5031866261963618e-17,1.1145241168236824e-15,1.3437216725460246e-16,2.646516743753724e-15,1.0,-3.667714660858756e-16,-2.782203783187239e-16,-0.003208037150978886,0.0044553975012833254],[-0.0051345911239974755,1.1981236332134924e-16,-4.966952901962228e-16,1.0457467776682414e-15,3.977060870415758e-17,6.590482071768851e-16,-4.452461023430561e-16,-1.782105558577791e-15,1.2999428307434422e-16,-6.709655453239168e-17,-2.1979766088647894e-16,-2.6402807036751134e-16,-4.672390666543685e-16,-4.720898350671909e-16,1.0442741526232177e-16,-1.143519016628987e-15,6.789513022251935e-16,6.148525149662035e-16,2.242790892503769e-16,-2.959370459016359e-16,-1.1388292622518563e-15,-1.2112813171061738e-15,8.461336896977236e-17,2.839721244163519e-16,-2.2741417470201383e-16,-6.406679398801401e-16,-3.667714660858756e-16,1.0,-3.0612868120245353e-16,0.028825463424359793,0.01757972818951348],[-0.009412688179052135,2.0830815396728918e-15,-5.093835621862943e-16,9.775546470754552e-16,-2.7614028067346953e-18,-5.6139507078607e-18,2.5947542005622326e-16,-2.7765300125288505e-16,-6.200929902923697e-16,1.1105414147536788e-15,4.864782115587085e-17,-3.7923136685329124e-16,6.415167377154613e-16,1.1443723212653693e-15,2.289426763919487e-15,-1.1941296558075896e-15,7.588849292409198e-16,-5.5345396559478415e-17,7.976796011923423e-16,-1.4053791305781839e-15,-2.436795485900816e-16,5.278775256171777e-16,-6.627203072789682e-16,1.4819033445012514e-15,-2.819804827567825e-16,-7.008939470404916e-16,-2.782203783187239e-16,-3.0612868120245353e-16,1.0,0.010258215893044719,0.00953604091623609],[-0.010596373389030208,-0.22770865292240447,-0.5314089393280346,-0.2108804752899098,0.09873166631356645,-0.38635625616306496,0.2159811802252743,0.39731127818168616,-0.10307909564498216,-0.044245601964446046,-0.10150214079143287,0.00010397702176455398,-0.009541802153205721,0.005293409030421471,0.03375117176310099,-0.002985848124560203,-0.00390952671356023,0.007309042077000943,0.03565034071999803,-0.056150787231159356,0.3394034045461662,0.10599892763771585,-0.06480064637320102,-0.11263255363253537,0.005146217430766927,-0.047836863176140484,-0.003208037150978886,0.028825463424359793,0.010258215893044719,1.0,0.005631753006768552],[-0.012322570929245588,-0.10134729859508294,0.0912886503446179,-0.19296082706741602,0.13344748623900718,-0.09497429899144802,-0.04364316069996494,-0.18725659151430013,0.019875123914794384,-0.0977326860740807,-0.21688294364103206,0.15487564474394433,-0.26059292487722485,-0.004569778799461309,-0.3025436958044028,-0.004223402267856675,-0.19653894030401736,-0.32648106724371595,-0.11148525388904133,0.034783013036515056,0.020090324196974638,0.04041338061057565,0.0008053175052983079,-0.0026851557402507824,-0.007220906715952582,0.0033077055972996613,0.0044553975012833254,0.01757972818951348,0.00953604091623609,0.005631753006768552,1.0]],\"type\":\"heatmap\",\"xaxis\":\"x\",\"yaxis\":\"y\",\"hovertemplate\":\"x: %{x}<br>y: %{y}<br>color: %{z}<extra></extra>\"}], {\"template\":{\"data\":{\"bar\":[{\"error_x\":{\"color\":\"#2a3f5f\"},\"error_y\":{\"color\":\"#2a3f5f\"},\"marker\":{\"line\":{\"color\":\"#E5ECF6\",\"width\":0.5},\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"bar\"}],\"barpolar\":[{\"marker\":{\"line\":{\"color\":\"#E5ECF6\",\"width\":0.5},\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"barpolar\"}],\"carpet\":[{\"aaxis\":{\"endlinecolor\":\"#2a3f5f\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"minorgridcolor\":\"white\",\"startlinecolor\":\"#2a3f5f\"},\"baxis\":{\"endlinecolor\":\"#2a3f5f\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"minorgridcolor\":\"white\",\"startlinecolor\":\"#2a3f5f\"},\"type\":\"carpet\"}],\"choropleth\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"type\":\"choropleth\"}],\"contour\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"type\":\"contour\"}],\"contourcarpet\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"type\":\"contourcarpet\"}],\"heatmap\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"type\":\"heatmap\"}],\"heatmapgl\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"type\":\"heatmapgl\"}],\"histogram\":[{\"marker\":{\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"histogram\"}],\"histogram2d\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"type\":\"histogram2d\"}],\"histogram2dcontour\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"type\":\"histogram2dcontour\"}],\"mesh3d\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"type\":\"mesh3d\"}],\"parcoords\":[{\"line\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"parcoords\"}],\"pie\":[{\"automargin\":true,\"type\":\"pie\"}],\"scatter\":[{\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scatter\"}],\"scatter3d\":[{\"line\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scatter3d\"}],\"scattercarpet\":[{\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scattercarpet\"}],\"scattergeo\":[{\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scattergeo\"}],\"scattergl\":[{\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scattergl\"}],\"scattermapbox\":[{\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scattermapbox\"}],\"scatterpolar\":[{\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scatterpolar\"}],\"scatterpolargl\":[{\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scatterpolargl\"}],\"scatterternary\":[{\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scatterternary\"}],\"surface\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"type\":\"surface\"}],\"table\":[{\"cells\":{\"fill\":{\"color\":\"#EBF0F8\"},\"line\":{\"color\":\"white\"}},\"header\":{\"fill\":{\"color\":\"#C8D4E3\"},\"line\":{\"color\":\"white\"}},\"type\":\"table\"}]},\"layout\":{\"annotationdefaults\":{\"arrowcolor\":\"#2a3f5f\",\"arrowhead\":0,\"arrowwidth\":1},\"autotypenumbers\":\"strict\",\"coloraxis\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"colorscale\":{\"diverging\":[[0,\"#8e0152\"],[0.1,\"#c51b7d\"],[0.2,\"#de77ae\"],[0.3,\"#f1b6da\"],[0.4,\"#fde0ef\"],[0.5,\"#f7f7f7\"],[0.6,\"#e6f5d0\"],[0.7,\"#b8e186\"],[0.8,\"#7fbc41\"],[0.9,\"#4d9221\"],[1,\"#276419\"]],\"sequential\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"sequentialminus\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]},\"colorway\":[\"#636efa\",\"#EF553B\",\"#00cc96\",\"#ab63fa\",\"#FFA15A\",\"#19d3f3\",\"#FF6692\",\"#B6E880\",\"#FF97FF\",\"#FECB52\"],\"font\":{\"color\":\"#2a3f5f\"},\"geo\":{\"bgcolor\":\"white\",\"lakecolor\":\"white\",\"landcolor\":\"#E5ECF6\",\"showlakes\":true,\"showland\":true,\"subunitcolor\":\"white\"},\"hoverlabel\":{\"align\":\"left\"},\"hovermode\":\"closest\",\"mapbox\":{\"style\":\"light\"},\"paper_bgcolor\":\"white\",\"plot_bgcolor\":\"#E5ECF6\",\"polar\":{\"angularaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"bgcolor\":\"#E5ECF6\",\"radialaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"}},\"scene\":{\"xaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"gridwidth\":2,\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\"},\"yaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"gridwidth\":2,\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\"},\"zaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"gridwidth\":2,\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\"}},\"shapedefaults\":{\"line\":{\"color\":\"#2a3f5f\"}},\"ternary\":{\"aaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"baxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"bgcolor\":\"#E5ECF6\",\"caxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"}},\"title\":{\"x\":0.05},\"xaxis\":{\"automargin\":true,\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\",\"title\":{\"standoff\":15},\"zerolinecolor\":\"white\",\"zerolinewidth\":2},\"yaxis\":{\"automargin\":true,\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\",\"title\":{\"standoff\":15},\"zerolinecolor\":\"white\",\"zerolinewidth\":2}}},\"xaxis\":{\"anchor\":\"y\",\"domain\":[0.0,1.0],\"scaleanchor\":\"y\",\"constrain\":\"domain\"},\"yaxis\":{\"anchor\":\"x\",\"domain\":[0.0,1.0],\"autorange\":\"reversed\",\"constrain\":\"domain\"},\"coloraxis\":{\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]},\"margin\":{\"t\":60}}, {\"responsive\": true} ).then(function(){\n"," \n","var gd = document.getElementById('1cdd4c43-0e47-4041-bbb2-d72b19cb4847');\n","var x = new MutationObserver(function (mutations, observer) {{\n"," var display = window.getComputedStyle(gd).display;\n"," if (!display || display === 'none') {{\n"," console.log([gd, 'removed!']);\n"," Plotly.purge(gd);\n"," observer.disconnect();\n"," }}\n","}});\n","\n","// Listen for the removal of the full notebook cells\n","var notebookContainer = gd.closest('#notebook-container');\n","if (notebookContainer) {{\n"," x.observe(notebookContainer, {childList: true});\n","}}\n","\n","// Listen for the clearing of the current output cell\n","var outputEl = gd.closest('.output');\n","if (outputEl) {{\n"," x.observe(outputEl, {childList: true});\n","}}\n","\n"," }) }; </script> </div>\n","</body>\n","</html>"]},"metadata":{}}]},{"cell_type":"code","source":["# Separate the data into two arrays, one with the X array containing all columns except Class\n","# and the another with the Y array containing only Class column\n","X_arr = cc_data.iloc[:, cc_data.columns != 'Class']\n","Y_arr = cc_data.iloc[:, cc_data.columns == 'Class']\n","# print(X_arr.info())\n","# print(Y_arr.info())\n","print('Fraud cases count: ', len(Y_arr[Y_arr.Class ==1]))\n","print('Non Fraud cases count: ', len(Y_arr[Y_arr.Class ==0]))"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"I6GmhHhW5Acs","executionInfo":{"status":"ok","timestamp":1678459335728,"user_tz":0,"elapsed":8,"user":{"displayName":"Nikita K","userId":"13085162869527705093"}},"outputId":"89e92d73-fe99-4cf5-d340-53a340c41d84"},"execution_count":14,"outputs":[{"output_type":"stream","name":"stdout","text":["Fraud cases count: 492\n","Non Fraud cases count: 284315\n"]}]},{"cell_type":"code","source":["# The credit card data set is unbalanced, as it contains 284315 non-fraud and 492 fraud cases. \n","# Hence resampling of data is performed.\n","# First Undersampling is performed. Undersampling is the process of removing occurrences of the majority type, the non-fraud data.\n","# Second Oversampling is performed. Oversampling is the process of artificially replicating the minority type, the fraud data.\n","# Synthetic Minority Oversampling Technique (SMOTE) is a combination technique of the above two techniques.\n","\n","\n","# Count the number of fraud cases (492).\n","fraud_records_count = len (cc_data[cc_data.Class==1])\n","\n","# Create an array of indexes of the fraud and non-fraud cases.\n","fraud_indexes_arr = np.array (cc_data[cc_data.Class==1].index)\n","non_fraud_indexes_arr = np.array (cc_data[cc_data.Class==0].index)\n","print('Fraud cases indexes array length: ', len(fraud_indexes_arr))\n","print('Non Fraud cases indexes array length: ', len(non_fraud_indexes_arr))"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"Nd-icGh0897P","executionInfo":{"status":"ok","timestamp":1678459335728,"user_tz":0,"elapsed":7,"user":{"displayName":"Nikita K","userId":"13085162869527705093"}},"outputId":"36cfb796-25d0-4ad2-e230-807d50b47585"},"execution_count":15,"outputs":[{"output_type":"stream","name":"stdout","text":["Fraud cases indexes array length: 492\n","Non Fraud cases indexes array length: 284315\n"]}]},{"cell_type":"code","source":["# Produce an arbitrary number of non-fraud indices equal to the fraud indices.\n","random_non_fraud_indexes_arr = np.random.choice (non_fraud_indexes_arr, fraud_records_count, replace = False )\n","# Merge the fraud indexes array and the randomly selected indexes from the non fraud indexes array.\n","under_sample_indexes = np.concatenate ([fraud_indexes_arr, random_non_fraud_indexes_arr])\n","\n","print(len(random_non_fraud_indexes_arr))\n","print(len(under_sample_indexes))"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"DyFO0FVSJaBU","executionInfo":{"status":"ok","timestamp":1678459335728,"user_tz":0,"elapsed":6,"user":{"displayName":"Nikita K","userId":"13085162869527705093"}},"outputId":"26a9ef5d-ae97-4d65-9803-6ca4e1ad14e5"},"execution_count":16,"outputs":[{"output_type":"stream","name":"stdout","text":["492\n","984\n"]}]},{"cell_type":"code","source":["under_sample_values = cc_data.iloc[under_sample_indexes,:]\n","# Separate again into two arrays, one with the X array containing all columns except Class and the another with the Y array containing only Class column\n","X_undersample_arr = under_sample_values.iloc [:, under_sample_values.columns != 'Class'];\n","Y_undersample_arr = under_sample_values.iloc [:, under_sample_values.columns == 'Class'];\n","print(len(X_undersample_arr))\n","X_undersample_arr.info()"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"Ry624GuQKYyy","executionInfo":{"status":"ok","timestamp":1678459335728,"user_tz":0,"elapsed":6,"user":{"displayName":"Nikita K","userId":"13085162869527705093"}},"outputId":"37f67e92-5e71-4a1b-e9dc-e4b6549eb49b"},"execution_count":17,"outputs":[{"output_type":"stream","name":"stdout","text":["984\n","<class 'pandas.core.frame.DataFrame'>\n","Int64Index: 984 entries, 541 to 205499\n","Data columns (total 30 columns):\n"," # Column Non-Null Count Dtype \n","--- ------ -------------- ----- \n"," 0 Time 984 non-null float64\n"," 1 V1 984 non-null float64\n"," 2 V2 984 non-null float64\n"," 3 V3 984 non-null float64\n"," 4 V4 984 non-null float64\n"," 5 V5 984 non-null float64\n"," 6 V6 984 non-null float64\n"," 7 V7 984 non-null float64\n"," 8 V8 984 non-null float64\n"," 9 V9 984 non-null float64\n"," 10 V10 984 non-null float64\n"," 11 V11 984 non-null float64\n"," 12 V12 984 non-null float64\n"," 13 V13 984 non-null float64\n"," 14 V14 984 non-null float64\n"," 15 V15 984 non-null float64\n"," 16 V16 984 non-null float64\n"," 17 V17 984 non-null float64\n"," 18 V18 984 non-null float64\n"," 19 V19 984 non-null float64\n"," 20 V20 984 non-null float64\n"," 21 V21 984 non-null float64\n"," 22 V22 984 non-null float64\n"," 23 V23 984 non-null float64\n"," 24 V24 984 non-null float64\n"," 25 V25 984 non-null float64\n"," 26 V26 984 non-null float64\n"," 27 V27 984 non-null float64\n"," 28 V28 984 non-null float64\n"," 29 Amount 984 non-null float64\n","dtypes: float64(30)\n","memory usage: 238.3 KB\n"]}]},{"cell_type":"code","source":["print(len(Y_undersample_arr))\n","Y_undersample_arr.info()"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"CTMuM_flE1Vy","executionInfo":{"status":"ok","timestamp":1678459341393,"user_tz":0,"elapsed":5,"user":{"displayName":"Nikita K","userId":"13085162869527705093"}},"outputId":"b2f5d067-c976-4bd1-ec30-d5b8660bd23e"},"execution_count":18,"outputs":[{"output_type":"stream","name":"stdout","text":["984\n","<class 'pandas.core.frame.DataFrame'>\n","Int64Index: 984 entries, 541 to 205499\n","Data columns (total 1 columns):\n"," # Column Non-Null Count Dtype\n","--- ------ -------------- -----\n"," 0 Class 984 non-null int64\n","dtypes: int64(1)\n","memory usage: 15.4 KB\n"]}]},{"cell_type":"code","source":["print(X_undersample_arr)"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"XYEmLDb5EBRK","executionInfo":{"status":"ok","timestamp":1678450435788,"user_tz":0,"elapsed":15,"user":{"displayName":"Nikita K","userId":"13085162869527705093"}},"outputId":"510d3058-a81c-4d1b-f8f2-009200abc1e9"},"execution_count":234,"outputs":[{"output_type":"stream","name":"stdout","text":[" Time V1 V2 V3 V4 V5 V6 \\\n","541 406.0 -2.312227 1.951992 -1.609851 3.997906 -0.522188 -1.426545 \n","623 472.0 -3.043541 -3.157307 1.088463 2.288644 1.359805 -1.064823 \n","4920 4462.0 -2.303350 1.759247 -0.359745 2.330243 -0.821628 -0.075788 \n","6108 6986.0 -4.397974 1.358367 -2.592844 2.679787 -1.128131 -1.706536 \n","6329 7519.0 1.234235 3.019740 -4.304597 4.732795 3.624201 -1.357746 \n","... ... ... ... ... ... ... ... \n","180045 124354.0 -1.614797 0.485503 0.941988 -0.729117 0.214526 0.707181 \n","67852 52722.0 1.272177 -0.796610 1.096350 -0.479597 -1.623344 -0.340441 \n","125263 77595.0 -0.952828 0.610187 1.531572 2.069872 1.724917 5.319180 \n","49518 44096.0 1.360877 0.051215 -0.169653 -0.198012 0.120206 -0.272157 \n","211130 138274.0 1.987603 -1.269614 -0.524943 -0.967289 -1.110294 -0.110377 \n","\n"," V7 V8 V9 ... V20 V21 V22 \\\n","541 -2.537387 1.391657 -2.770089 ... 0.126911 0.517232 -0.035049 \n","623 0.325574 -0.067794 -0.270953 ... 2.102339 0.661696 0.435477 \n","4920 0.562320 -0.399147 -0.238253 ... -0.430022 -0.294166 -0.932391 \n","6108 -3.496197 -0.248778 -0.247768 ... -0.171608 0.573574 0.176968 \n","6329 1.713445 -0.496358 -1.282858 ... 0.009061 -0.379068 -0.704181 \n","... ... ... ... ... ... ... ... \n","180045 0.185118 0.607101 -0.078791 ... -0.352143 -0.188604 -0.515886 \n","67852 -1.067448 0.090425 -0.503187 ... -0.449255 -0.188596 0.037048 \n","125263 -0.892418 1.273084 -0.145271 ... 0.170932 -0.099275 -0.162020 \n","49518 0.001612 -0.165370 0.238509 ... 0.029820 -0.197539 -0.544093 \n","211130 -1.159431 0.090545 -0.132539 ... 0.154585 0.487620 1.217064 \n","\n"," V23 V24 V25 V26 V27 V28 Amount \n","541 -0.465211 0.320198 0.044519 0.177840 0.261145 -0.143276 0.00 \n","623 1.375966 -0.293803 0.279798 -0.145362 -0.252773 0.035764 529.00 \n","4920 0.172726 -0.087330 -0.156114 -0.542628 0.039566 -0.153029 239.93 \n","6108 -0.436207 -0.053502 0.252405 -0.657488 -0.827136 0.849573 59.00 \n","6329 -0.656805 -1.632653 1.488901 0.566797 -0.010016 0.146793 1.00 \n","... ... ... ... ... ... ... ... \n","180045 0.067328 -1.502668 0.519071 -0.334584 -0.199380 -0.070614 74.84 \n","67852 0.015099 0.594121 0.137427 1.134320 -0.022865 0.009186 15.90 \n","125263 -0.292582 1.040841 0.227236 0.296848 -0.259491 0.154709 30.27 \n","49518 -0.137374 -0.943818 0.460170 0.786713 -0.064314 -0.002177 15.00 \n","211130 0.102019 0.801211 -0.248845 -0.129142 -0.006795 -0.035122 83.00 \n","\n","[984 rows x 30 columns]\n"]}]},{"cell_type":"code","source":["print(Y_undersample_arr)"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"SCtsdnRJEFfv","executionInfo":{"status":"ok","timestamp":1678450435788,"user_tz":0,"elapsed":14,"user":{"displayName":"Nikita K","userId":"13085162869527705093"}},"outputId":"8f14ba3b-9b32-4f96-db19-8c2335c18739"},"execution_count":235,"outputs":[{"output_type":"stream","name":"stdout","text":[" Class\n","541 1\n","623 1\n","4920 1\n","6108 1\n","6329 1\n","... ...\n","180045 0\n","67852 0\n","125263 0\n","49518 0\n","211130 0\n","\n","[984 rows x 1 columns]\n"]}]},{"cell_type":"code","source":["# Balanced data\n","under_sample_values.Class.value_counts() # 492 of them Class = 1 (fraud), 492 of them Class = 0 (non_fraud)"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"rWdmFiY08l0f","executionInfo":{"status":"ok","timestamp":1678450435788,"user_tz":0,"elapsed":14,"user":{"displayName":"Nikita K","userId":"13085162869527705093"}},"outputId":"d3778979-d64c-41b5-fd00-82b714c0e8a3"},"execution_count":236,"outputs":[{"output_type":"execute_result","data":{"text/plain":["1 492\n","0 492\n","Name: Class, dtype: int64"]},"metadata":{},"execution_count":236}]},{"cell_type":"code","source":["# Plot a bar graph to display the balanced count of fraud and non-fraud data.\n","count_Class = under_sample_values.Class.value_counts()\n","fig = px.bar(\n"," count_Class.reset_index(), \n"," x='index', y='Class', \n"," color='Class',\n"," height=600, width=600,\n"," title='Fraud Transcation Count',\n",")\n","fig.show()"],"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":617},"id":"5BVhVAeI84sA","executionInfo":{"status":"ok","timestamp":1678450435788,"user_tz":0,"elapsed":13,"user":{"displayName":"Nikita K","userId":"13085162869527705093"}},"outputId":"9a97f097-7dba-4008-c768-be7d69851394"},"execution_count":237,"outputs":[{"output_type":"display_data","data":{"text/html":["<html>\n","<head><meta charset=\"utf-8\" /></head>\n","<body>\n"," <div> <script src=\"https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_SVG\"></script><script type=\"text/javascript\">if (window.MathJax) {MathJax.Hub.Config({SVG: {font: \"STIX-Web\"}});}</script> <script type=\"text/javascript\">window.PlotlyConfig = {MathJaxConfig: 'local'};</script>\n"," <script src=\"https://cdn.plot.ly/plotly-2.8.3.min.js\"></script> <div id=\"fa97dd67-3a6c-478a-aae6-50198de8d4a4\" class=\"plotly-graph-div\" style=\"height:600px; width:600px;\"></div> <script type=\"text/javascript\"> window.PLOTLYENV=window.PLOTLYENV || {}; if (document.getElementById(\"fa97dd67-3a6c-478a-aae6-50198de8d4a4\")) { Plotly.newPlot( \"fa97dd67-3a6c-478a-aae6-50198de8d4a4\", [{\"alignmentgroup\":\"True\",\"hovertemplate\":\"index=%{x}<br>Class=%{marker.color}<extra></extra>\",\"legendgroup\":\"\",\"marker\":{\"color\":[492,492],\"coloraxis\":\"coloraxis\",\"pattern\":{\"shape\":\"\"}},\"name\":\"\",\"offsetgroup\":\"\",\"orientation\":\"v\",\"showlegend\":false,\"textposition\":\"auto\",\"x\":[1,0],\"xaxis\":\"x\",\"y\":[492,492],\"yaxis\":\"y\",\"type\":\"bar\"}], {\"template\":{\"data\":{\"bar\":[{\"error_x\":{\"color\":\"#2a3f5f\"},\"error_y\":{\"color\":\"#2a3f5f\"},\"marker\":{\"line\":{\"color\":\"#E5ECF6\",\"width\":0.5},\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"bar\"}],\"barpolar\":[{\"marker\":{\"line\":{\"color\":\"#E5ECF6\",\"width\":0.5},\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"barpolar\"}],\"carpet\":[{\"aaxis\":{\"endlinecolor\":\"#2a3f5f\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"minorgridcolor\":\"white\",\"startlinecolor\":\"#2a3f5f\"},\"baxis\":{\"endlinecolor\":\"#2a3f5f\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"minorgridcolor\":\"white\",\"startlinecolor\":\"#2a3f5f\"},\"type\":\"carpet\"}],\"choropleth\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"type\":\"choropleth\"}],\"contour\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"type\":\"contour\"}],\"contourcarpet\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"type\":\"contourcarpet\"}],\"heatmap\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"type\":\"heatmap\"}],\"heatmapgl\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"type\":\"heatmapgl\"}],\"histogram\":[{\"marker\":{\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"histogram\"}],\"histogram2d\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"type\":\"histogram2d\"}],\"histogram2dcontour\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"type\":\"histogram2dcontour\"}],\"mesh3d\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"type\":\"mesh3d\"}],\"parcoords\":[{\"line\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"parcoords\"}],\"pie\":[{\"automargin\":true,\"type\":\"pie\"}],\"scatter\":[{\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scatter\"}],\"scatter3d\":[{\"line\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scatter3d\"}],\"scattercarpet\":[{\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scattercarpet\"}],\"scattergeo\":[{\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scattergeo\"}],\"scattergl\":[{\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scattergl\"}],\"scattermapbox\":[{\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scattermapbox\"}],\"scatterpolar\":[{\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scatterpolar\"}],\"scatterpolargl\":[{\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scatterpolargl\"}],\"scatterternary\":[{\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"type\":\"scatterternary\"}],\"surface\":[{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"type\":\"surface\"}],\"table\":[{\"cells\":{\"fill\":{\"color\":\"#EBF0F8\"},\"line\":{\"color\":\"white\"}},\"header\":{\"fill\":{\"color\":\"#C8D4E3\"},\"line\":{\"color\":\"white\"}},\"type\":\"table\"}]},\"layout\":{\"annotationdefaults\":{\"arrowcolor\":\"#2a3f5f\",\"arrowhead\":0,\"arrowwidth\":1},\"autotypenumbers\":\"strict\",\"coloraxis\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"colorscale\":{\"diverging\":[[0,\"#8e0152\"],[0.1,\"#c51b7d\"],[0.2,\"#de77ae\"],[0.3,\"#f1b6da\"],[0.4,\"#fde0ef\"],[0.5,\"#f7f7f7\"],[0.6,\"#e6f5d0\"],[0.7,\"#b8e186\"],[0.8,\"#7fbc41\"],[0.9,\"#4d9221\"],[1,\"#276419\"]],\"sequential\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"sequentialminus\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]},\"colorway\":[\"#636efa\",\"#EF553B\",\"#00cc96\",\"#ab63fa\",\"#FFA15A\",\"#19d3f3\",\"#FF6692\",\"#B6E880\",\"#FF97FF\",\"#FECB52\"],\"font\":{\"color\":\"#2a3f5f\"},\"geo\":{\"bgcolor\":\"white\",\"lakecolor\":\"white\",\"landcolor\":\"#E5ECF6\",\"showlakes\":true,\"showland\":true,\"subunitcolor\":\"white\"},\"hoverlabel\":{\"align\":\"left\"},\"hovermode\":\"closest\",\"mapbox\":{\"style\":\"light\"},\"paper_bgcolor\":\"white\",\"plot_bgcolor\":\"#E5ECF6\",\"polar\":{\"angularaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"bgcolor\":\"#E5ECF6\",\"radialaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"}},\"scene\":{\"xaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"gridwidth\":2,\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\"},\"yaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"gridwidth\":2,\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\"},\"zaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"gridwidth\":2,\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\"}},\"shapedefaults\":{\"line\":{\"color\":\"#2a3f5f\"}},\"ternary\":{\"aaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"baxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"bgcolor\":\"#E5ECF6\",\"caxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"}},\"title\":{\"x\":0.05},\"xaxis\":{\"automargin\":true,\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\",\"title\":{\"standoff\":15},\"zerolinecolor\":\"white\",\"zerolinewidth\":2},\"yaxis\":{\"automargin\":true,\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\",\"title\":{\"standoff\":15},\"zerolinecolor\":\"white\",\"zerolinewidth\":2}}},\"xaxis\":{\"anchor\":\"y\",\"domain\":[0.0,1.0],\"title\":{\"text\":\"index\"}},\"yaxis\":{\"anchor\":\"x\",\"domain\":[0.0,1.0],\"title\":{\"text\":\"Class\"}},\"coloraxis\":{\"colorbar\":{\"title\":{\"text\":\"Class\"}},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]},\"legend\":{\"tracegroupgap\":0},\"title\":{\"text\":\"Fraud Transcation Count\"},\"barmode\":\"relative\",\"height\":600,\"width\":600}, {\"responsive\": true} ).then(function(){\n"," \n","var gd = document.getElementById('fa97dd67-3a6c-478a-aae6-50198de8d4a4');\n","var x = new MutationObserver(function (mutations, observer) {{\n"," var display = window.getComputedStyle(gd).display;\n"," if (!display || display === 'none') {{\n"," console.log([gd, 'removed!']);\n"," Plotly.purge(gd);\n"," observer.disconnect();\n"," }}\n","}});\n","\n","// Listen for the removal of the full notebook cells\n","var notebookContainer = gd.closest('#notebook-container');\n","if (notebookContainer) {{\n"," x.observe(notebookContainer, {childList: true});\n","}}\n","\n","// Listen for the clearing of the current output cell\n","var outputEl = gd.closest('.output');\n","if (outputEl) {{\n"," x.observe(outputEl, {childList: true});\n","}}\n","\n"," }) }; </script> </div>\n","</body>\n","</html>"]},"metadata":{}}]},{"cell_type":"code","source":["Xtrain, Xtest, Ytrain, Ytest = train_test_split (X_arr, Y_arr, test_size = 0.3, random_state = 0)\n","Xtrain_under, Xtest_under, Ytrain_under, Ytest_under = train_test_split (X_undersample_arr,Y_undersample_arr, test_size = 0.3, random_state = 0)\n","\n","print(Xtrain.shape)\n","print(Xtest.shape)\n","print(Ytrain.shape)\n","print(Ytest.shape)\n","\n","print(Xtrain_under.shape)\n","print(Xtest_under.shape)\n","print(Ytrain_under.shape)\n","print(Ytest_under.shape)"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"ipqPLlEGL9nJ","executionInfo":{"status":"ok","timestamp":1678450435788,"user_tz":0,"elapsed":13,"user":{"displayName":"Nikita K","userId":"13085162869527705093"}},"outputId":"88972a42-2443-47d5-ceb7-38052306138a"},"execution_count":238,"outputs":[{"output_type":"stream","name":"stdout","text":["(199364, 30)\n","(85443, 30)\n","(199364, 1)\n","(85443, 1)\n","(688, 30)\n","(296, 30)\n","(688, 1)\n","(296, 1)\n"]}]},{"cell_type":"code","source":["MLPC_1 = MLPClassifier(hidden_layer_sizes=(200,100,50), max_iter=10000)\n","MLPC_1.fit(Xtrain_under, Ytrain_under)\n","Y_prediction_1 = MLPC_1.predict(Xtest)\n","\n","accuracy_1 = accuracy_score (Ytest,Y_prediction_1)\n","print('MLPClassifier with 3 hidden layers, each containing 200 neurons')\n","print('Accuracy: ', accuracy_1)"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"KKGdCLrcOPRT","executionInfo":{"status":"ok","timestamp":1678450679603,"user_tz":0,"elapsed":1944,"user":{"displayName":"Nikita K","userId":"13085162869527705093"}},"outputId":"e8f10bab-f979-4580-faf6-3ea9123d359c"},"execution_count":251,"outputs":[{"output_type":"stream","name":"stderr","text":["/usr/local/lib/python3.9/dist-packages/sklearn/neural_network/_multilayer_perceptron.py:1096: DataConversionWarning:\n","\n","A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n","\n"]},{"output_type":"stream","name":"stdout","text":["MLPClassifier with 3 hidden layers, each containing 200 neurons\n","Accuracy: 0.9929894783656941\n"]}]},{"cell_type":"code","source":["MLPC_2 = MLPClassifier(hidden_layer_sizes=(100,50,25), max_iter=10000)\n","MLPC_2.fit(Xtrain_under, Ytrain_under)\n","Y_prediction_2 = MLPC_2.predict(Xtest)\n","\n","accuracy_2 = accuracy_score (Ytest,Y_prediction_2)\n","print('MLPClassifier with 3 hidden layers, each containing 100 neurons')\n","print('Accuracy: ', accuracy_2)"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"eJkrt01iQ7B_","executionInfo":{"status":"ok","timestamp":1678450756065,"user_tz":0,"elapsed":712,"user":{"displayName":"Nikita K","userId":"13085162869527705093"}},"outputId":"07cb7a0b-39ce-45db-9203-a219181c3938"},"execution_count":260,"outputs":[{"output_type":"stream","name":"stderr","text":["/usr/local/lib/python3.9/dist-packages/sklearn/neural_network/_multilayer_perceptron.py:1096: DataConversionWarning:\n","\n","A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n","\n"]},{"output_type":"stream","name":"stdout","text":["MLPClassifier with 3 hidden layers, each containing 100 neurons\n","Accuracy: 0.9950493311330361\n"]}]},{"cell_type":"code","source":["MLPC_3 = MLPClassifier(hidden_layer_sizes=(50,25,12), max_iter=10000)\n","MLPC_3.fit(Xtrain_under, Ytrain_under)\n","Y_prediction_3 = MLPC_3.predict(Xtest)\n","\n","accuracy_3 = accuracy_score (Ytest,Y_prediction_3)\n","print('MLPClassifier with 3 hidden layers, each containing 50 neurons')\n","print('Accuracy: ', accuracy_3)"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"NZIPGigwREmJ","executionInfo":{"status":"ok","timestamp":1678450773607,"user_tz":0,"elapsed":427,"user":{"displayName":"Nikita K","userId":"13085162869527705093"}},"outputId":"95be0778-9962-4cfa-f8dc-645d222c7f1f"},"execution_count":265,"outputs":[{"output_type":"stream","name":"stderr","text":["/usr/local/lib/python3.9/dist-packages/sklearn/neural_network/_multilayer_perceptron.py:1096: DataConversionWarning:\n","\n","A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n","\n"]},{"output_type":"stream","name":"stdout","text":["MLPClassifier with 3 hidden layers, each containing 50 neurons\n","Accuracy: 0.9961260723523284\n"]}]},{"cell_type":"code","source":["MLPC_4 = MLPClassifier(hidden_layer_sizes=(25,12,6), max_iter=10000)\n","MLPC_4.fit(Xtrain_under, Ytrain_under)\n","Y_prediction_4 = MLPC_4.predict(Xtest)\n","\n","accuracy_4 = accuracy_score (Ytest,Y_prediction_4)\n","print('MLPClassifier with 3 hidden layers, each containing 25 neurons')\n","print('Accuracy: ', accuracy_4)"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"5MaR_9SP4A2j","executionInfo":{"status":"ok","timestamp":1678450812169,"user_tz":0,"elapsed":368,"user":{"displayName":"Nikita K","userId":"13085162869527705093"}},"outputId":"87b56e72-c65c-4664-f1e9-15acde087b5e"},"execution_count":270,"outputs":[{"output_type":"stream","name":"stdout","text":["MLPClassifier with 3 hidden layers, each containing 25 neurons\n","Accuracy: 0.9886239949439978\n"]},{"output_type":"stream","name":"stderr","text":["/usr/local/lib/python3.9/dist-packages/sklearn/neural_network/_multilayer_perceptron.py:1096: DataConversionWarning:\n","\n","A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n","\n"]}]},{"cell_type":"code","source":["# CNN Implementation¶\n","# First Layer:\n","# kernel size (the length of the 1D convolution window) - 2, filters (the output space dimensionality) - 32\n","\n","# In CNN (Convolutional Neural Network), activation = \"relu\" refers to the usage of a Rectified Linear Unit (ReLU) \n","# as the activation function in the network's convolutional layers. \n","# ReLU is a well-known deep learning activation function that works well with CNNs. \n","# ReLU is a function that only accepts positive values and sets all negative values to zero. \n","# It is a non-linear function that contributes to the speed and precision of a neural network.\n","\n","# Dropout is a pre-processing step in CNN used in order to reduce overfitting. \n","# It prevents the network from overfitting the data sets by randomly \"dropping out\" (setting to zero) a certain \n","# proportion of neurons in the network during training. \n","# Dropout removes all neurons during each iteration process, preventing the network from relying on any specific neurons. \n","# This forces the network to learn more general features, reducing overfitting.\n","\n","# Batch normalisation is a technique used to improve the training process and entire system performance in CNNs. \n","# It adapts and scales the activations to normalise the input layer. \n","# This reduces internal variables shift, a phenomenon in which the distribution of input changes during the training phase, \n","# leading to increased training error and lower precision. \n","# By adding noise to the activations and regularising the model, batch normalisation also helps to reduce overfitting.\n","\n","CNN = Sequential()\n","CNN.add(Conv1D(32, 2, activation = \"relu\", input_shape = (30,1)))\n","CNN.add(Dropout(0.1))\n","\n","\n","# Second Layer:\n","CNN.add(BatchNormalization()) \n","CNN.add(Conv1D(64, 2, activation = \"relu\"))\n","CNN.add(Dropout(0.2)) \n","\n","\n","# Flattening Layer:\n","# A flattening layer compresses the output from the convolutional layers into a single vector or matrix. \n","# This layer is used to prepare the output of the convolutional layers for regression or classification by minimising its complexity. \n","# The flattened output can then be sent to a fully-connected layer for subsequent processing.\n","CNN.add(Flatten())\n","CNN.add(Dropout(0.4))\n","CNN.add(Dense(64, activation = \"relu\"))\n","CNN.add(Dropout(0.5))\n","\n","\n","# Last Layer:\n","# dense is the fully connected layer\n","# In CNN, the activation=\"sigmoid\" is the activation function that is used to expose nonlinear behavior into the neural network. \n","# It is used to compute a neuron's output based on its input. \n","# Because the sigmoid function returns values between 0 and 1, it is ideal for issues with binary classification. \n","# It may also be utilized to introduce a threshold into the network when the likelihood of an output being categorised as 0 or 1 is intended.\n","\n","# Dense refers to a layer of neurons in a CNN in which each neuron is connected to every neuron in the preceding layer. \n","# This layer is commonly used to reduce the dimensions of input data and to add nonlinear behavior to the network.\n","CNN.add(Dense(1, activation = \"sigmoid\"))\n","CNN.summary()"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"hqIIgpnSUTtV","executionInfo":{"status":"ok","timestamp":1678450435789,"user_tz":0,"elapsed":11,"user":{"displayName":"Nikita K","userId":"13085162869527705093"}},"outputId":"6dda1cc9-f81d-497c-8b48-4329c1d9e9c6"},"execution_count":243,"outputs":[{"output_type":"stream","name":"stdout","text":["Model: \"sequential_3\"\n","_________________________________________________________________\n"," Layer (type) Output Shape Param # \n","=================================================================\n"," conv1d_6 (Conv1D) (None, 29, 32) 96 \n"," \n"," dropout_12 (Dropout) (None, 29, 32) 0 \n"," \n"," batch_normalization_3 (Batc (None, 29, 32) 128 \n"," hNormalization) \n"," \n"," conv1d_7 (Conv1D) (None, 28, 64) 4160 \n"," \n"," dropout_13 (Dropout) (None, 28, 64) 0 \n"," \n"," flatten_3 (Flatten) (None, 1792) 0 \n"," \n"," dropout_14 (Dropout) (None, 1792) 0 \n"," \n"," dense_6 (Dense) (None, 64) 114752 \n"," \n"," dropout_15 (Dropout) (None, 64) 0 \n"," \n"," dense_7 (Dense) (None, 1) 65 \n"," \n","=================================================================\n","Total params: 119,201\n","Trainable params: 119,137\n","Non-trainable params: 64\n","_________________________________________________________________\n"]}]},{"cell_type":"code","source":["plot_model(CNN)"],"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":1000},"id":"2u8UySB7UyZu","executionInfo":{"status":"ok","timestamp":1678450435789,"user_tz":0,"elapsed":8,"user":{"displayName":"Nikita K","userId":"13085162869527705093"}},"outputId":"de5ace1d-1aae-4190-e5dc-be0856d6791a"},"execution_count":244,"outputs":[{"output_type":"execute_result","data":{"image/png":"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gIDi4mLt5KVLlwIDA01YD5g5nKdAN55//nnt5c/w4cMRKKAfMgW6ERsb29raSggRCAQLFy40dTlg7nDtA90LDg4+d+4cIeTGjRuenp6mLgfMGs5ToHsLFixgWXbChAkIFOgWzlN+B080oBcyMzPnzp1r6irMBd510F5ycvLEiRNNXYXZWb9+/auvviqXy7vqkJaWRghZunSpEYsyC9HR0aYuwbwgU9qbOHEifud0NGbMGH9/fz0dDhw4QAgZgEOHTGkH91PAIPoDBUALmQIANCFTAIAmZAoA0IRMAQCakCkAQBMyBQBoQqYAAE3IFACgCZkCADQhUwCAJmQKANCETAEAmpApAEATMqVPEhISbGxsGIa5cOGCqWvpMY1Gk5aWFhoaqtu4Zs2a4cOH29raikQiPz+/t956q7GxkdYWDx486OPjw+gQCoXOzs5hYWGpqam1tbW0NgQmhEzpk507d+7YscPUVfRGSUnJE088sWzZMpVKpdv+ww8/vP766zdv3rx///66des2bdoUFRVFa6MRERHXr1/39fWVy+Usy2o0msrKyqysLG9v7xUrVgQGBv7yyy+0tgWmgkx5dDQ3N7c76ejKxYsX33777cWLF48ePbrdLJlMlpiYaG9vb2NjM3fu3NmzZ3/77bfl5eX9UC9hGEahUISFhe3evTsrK+vevXuzZs2qq6vrj231iOEjCR0hU/rKfF5hu2vXrsrKSkN6jho16uDBg3FxcSKRqN2sf/3rX7rfr+7o6EgIaXcu0x8iIyPj4+MrKys//fTT/t5WtwwfSegImdJjLMumpqYOHTpUJBLJ5fI333yTa//www8lEomNjU1lZWVKSsrgwYOLi4tZlt24ceOwYcNEIpGdnV14eHhRUREh5JNPPhGLxc7OzosWLXJ1dRWLxaGhoXl5edpNdLpUUlKSUCh0cXHhur322mtSqZRhmPv37ycnJ6ekpJSWljIM4+fnR2tnb9++bW1t7e3tTWuFesTHxxNCjh49+kiO5ADCgg5CSGZmpv4+q1atYhjm448/rq2tValU6enphJDz589zswghS5Ys2bx585w5c65cubJ69WqhUJiRkaFUKvPz88eOHevo6Hj37l2WZRMTE6VS6eXLlx88eFBYWDh+/HgbG5uysjKWZfUsFRcXN2jQIG0xqamphJCqqiqWZSMiInx9fXu0v48//vio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\n","text/plain":["<IPython.core.display.Image object>"]},"metadata":{},"execution_count":244}]},{"cell_type":"code","source":["CNN.compile(optimizer = Adam(learning_rate=0.0001), loss = \"binary_crossentropy\", metrics = [\"accuracy\"])\n","history = CNN.fit(Xtrain_under, Ytrain_under, epochs = 5, validation_data=(Xtest, Ytest), verbose=1)"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"oKpDDs9aU929","executionInfo":{"status":"ok","timestamp":1678450497048,"user_tz":0,"elapsed":61268,"user":{"displayName":"Nikita K","userId":"13085162869527705093"}},"outputId":"fa771412-6417-46fa-8c0f-f0aa465b6b09"},"execution_count":245,"outputs":[{"output_type":"stream","name":"stdout","text":["Epoch 1/5\n","22/22 [==============================] - 13s 526ms/step - loss: 0.7098 - accuracy: 0.5872 - val_loss: 0.9310 - val_accuracy: 0.1080\n","Epoch 2/5\n","22/22 [==============================] - 10s 484ms/step - loss: 0.4947 - accuracy: 0.7645 - val_loss: 0.5630 - val_accuracy: 0.8919\n","Epoch 3/5\n","22/22 [==============================] - 21s 995ms/step - loss: 0.4131 - accuracy: 0.8314 - val_loss: 0.4114 - val_accuracy: 0.9539\n","Epoch 4/5\n","22/22 [==============================] - 11s 507ms/step - loss: 0.3776 - accuracy: 0.8619 - val_loss: 0.3615 - val_accuracy: 0.9636\n","Epoch 5/5\n","22/22 [==============================] - 8s 358ms/step - loss: 0.3338 - accuracy: 0.8779 - val_loss: 0.2930 - val_accuracy: 0.9745\n"]}]},{"cell_type":"code","source":["X_predict=CNN.predict(Xtest) #flatten()\n","CNN_prediction=np.argmax(X_predict,axis=-1)\n","\n","accuracy_CNN = accuracy_score (Ytest,CNN_prediction)\n","print('Accuracy: ', accuracy_CNN)"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"yZaFDhiKVGSm","executionInfo":{"status":"ok","timestamp":1678450507696,"user_tz":0,"elapsed":10679,"user":{"displayName":"Nikita K","userId":"13085162869527705093"}},"outputId":"4680120a-2e55-4f60-9977-f2ebb1fd7072"},"execution_count":246,"outputs":[{"output_type":"stream","name":"stdout","text":["2671/2671 [==============================] - 7s 3ms/step\n","Accuracy: 0.9982795547909132\n"]}]},{"cell_type":"code","source":["confusion_matrix = confusion_matrix(Ytest,CNN_prediction)\n","fig, ax = plt.subplots(figsize=(5, 5))\n","ax.matshow(confusion_matrix, cmap=plt.cm.Oranges, alpha=0.3)\n","for i in range(confusion_matrix.shape[0]):\n"," for j in range(confusion_matrix.shape[1]):\n"," ax.text(x=j, y=i,s=confusion_matrix[i, j], va='center', ha='center', size='xx-large')\n"," \n","plt.xlabel('Predictions', fontsize=18)\n","plt.ylabel('Actuals', fontsize=18)\n","plt.title('Confusion Matrix', fontsize=18)\n","plt.show()"],"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":365},"id":"6uyBl8khJ2yy","executionInfo":{"status":"ok","timestamp":1678450507697,"user_tz":0,"elapsed":30,"user":{"displayName":"Nikita K","userId":"13085162869527705093"}},"outputId":"9b1b8e5c-de7d-4217-88a6-18c24b8566b0"},"execution_count":247,"outputs":[{"output_type":"display_data","data":{"text/plain":["<Figure size 360x360 with 1 Axes>"],"image/png":"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\n"},"metadata":{"needs_background":"light"}}]},{"cell_type":"code","source":["fig, ax1 = plt.subplots(figsize= (10, 5))\n","plt.plot(history.history[\"accuracy\"])\n","plt.plot(history.history[\"val_accuracy\"])\n","plt.title(\"Model accuracy\")\n","plt.ylabel(\"Accuracy\")\n","plt.xlabel(\"Epoch\")\n","plt.legend([\"Train\", \"Test\"], loc = \"upper left\")\n","plt.show()"],"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":350},"id":"1I8CsXrUSj5z","executionInfo":{"status":"ok","timestamp":1678450507697,"user_tz":0,"elapsed":27,"user":{"displayName":"Nikita K","userId":"13085162869527705093"}},"outputId":"33b37c7e-2c44-4f3f-a7c0-b386cd2dc153"},"execution_count":248,"outputs":[{"output_type":"display_data","data":{"text/plain":["<Figure size 720x360 with 1 Axes>"],"image/png":"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\n"},"metadata":{"needs_background":"light"}}]},{"cell_type":"code","source":["fig, ax1 = plt.subplots(figsize= (10, 5))\n","plt.plot(history.history[\"loss\"])\n","plt.plot(history.history[\"val_loss\"])\n","plt.title(\"Model loss\")\n","plt.ylabel(\"Loss\")\n","plt.xlabel(\"Epoch\")\n","plt.legend([\"Train\", \"Test\"], loc = \"upper right\")\n","plt.show()"],"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":350},"id":"jJ7QWsMgSrPY","executionInfo":{"status":"ok","timestamp":1678450508086,"user_tz":0,"elapsed":415,"user":{"displayName":"Nikita K","userId":"13085162869527705093"}},"outputId":"60498f4e-beef-4b84-a643-5f94e087bee5"},"execution_count":249,"outputs":[{"output_type":"display_data","data":{"text/plain":["<Figure size 720x360 with 1 Axes>"],"image/png":"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\n"},"metadata":{"needs_background":"light"}}]},{"cell_type":"code","source":["precision_1 = precision_score (Ytest,Y_prediction_1) \n","recall_1 = recall_score (Ytest,Y_prediction_1) \n","fscore_1 = fbeta_score(Ytest,Y_prediction_1, beta=1.0) \n","\n","print('MLPClassifier with 3 hidden layers, each containing 200 neurons')\n","print('precision: ', precision_1)\n","print('recall: ', recall_1)\n","print('fscore: ', fscore_1)\n","\n","precision_2 = precision_score (Ytest,Y_prediction_2) \n","recall_2 = recall_score (Ytest,Y_prediction_2) \n","fscore_2 = fbeta_score(Ytest,Y_prediction_2, beta=1.0) \n","\n","print('MLPClassifier with 3 hidden layers, each containing 100 neurons')\n","print('precision: ', precision_2)\n","print('recall: ', recall_2)\n","print('fscore: ', fscore_2)\n","\n","precision_3 = precision_score (Ytest,Y_prediction_3) \n","recall_3 = recall_score (Ytest,Y_prediction_3) \n","fscore_3 = fbeta_score(Ytest,Y_prediction_3, beta=1.0) \n","\n","print('MLPClassifier with 3 hidden layers, each containing 50 neurons')\n","print('precision: ', precision_3)\n","print('recall: ', recall_3)\n","print('fscore: ', fscore_3)\n","\n","precision_4 = precision_score (Ytest,Y_prediction_4) \n","recall_4 = recall_score (Ytest,Y_prediction_4) \n","fscore_4 = fbeta_score(Ytest,Y_prediction_4, beta=1.0) \n","\n","print('MLPClassifier with 3 hidden layers, each containing 25 neurons')\n","print('precision: ', precision_4)\n","print('recall: ', recall_4)\n","print('fscore: ', fscore_4)"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"sjfb8fhOI71u","executionInfo":{"status":"ok","timestamp":1678451381304,"user_tz":0,"elapsed":718,"user":{"displayName":"Nikita K","userId":"13085162869527705093"}},"outputId":"57b6aa53-bf24-4138-8dd7-6134e1f9525b"},"execution_count":271,"outputs":[{"output_type":"stream","name":"stdout","text":["MLPClassifier with 3 hidden layers, each containing 200 neurons\n","precision: 0.0043859649122807015\n","recall: 0.013605442176870748\n","fscore: 0.006633499170812603\n","MLPClassifier with 3 hidden layers, each containing 100 neurons\n","precision: 0.0035971223021582736\n","recall: 0.006802721088435374\n","fscore: 0.004705882352941177\n","MLPClassifier with 3 hidden layers, each containing 50 neurons\n","precision: 0.21428571428571427\n","recall: 0.46938775510204084\n","fscore: 0.2942430703624733\n","MLPClassifier with 3 hidden layers, each containing 25 neurons\n","precision: 0.005988023952095809\n","recall: 0.034013605442176874\n","fscore: 0.010183299389002039\n"]}]}]}