Created
October 3, 2023 08:50
-
-
Save tensorvijay/ff365171602c127f34659ce8f3b5c6cd to your computer and use it in GitHub Desktop.
Random_Forest_Creditcard_Fraud.ipynb
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "cells": [ | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "id": "view-in-github", | |
| "colab_type": "text" | |
| }, | |
| "source": [ | |
| "<a href=\"https://colab.research.google.com/gist/tensorvijay/ff365171602c127f34659ce8f3b5c6cd/random_forest_creditcard_fraud.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "id": "XVbif3K6SXwY" | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "import pandas as pd\n", | |
| "import numpy as np\n", | |
| "from sklearn.model_selection import train_test_split\n", | |
| "from sklearn.ensemble import RandomForestClassifier\n", | |
| "from sklearn.metrics import average_precision_score\n", | |
| "from sklearn.metrics import recall_score\n", | |
| "from sklearn.metrics import accuracy_score\n", | |
| "import scipy.stats\n", | |
| "import seaborn as sns\n", | |
| "import matplotlib.pyplot as plt" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "id": "MCdIUyJgRxnZ" | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "\n", | |
| "\n", | |
| "df=pd.read_csv('/content/drive/MyDrive/Fraud.csv')\n", | |
| "df = df.replace(to_replace={'PAYMENT':1,'TRANSFER':2,'CASH_OUT':3,\n", | |
| " 'CASH_IN':4,'DEBIT':5,'No':0,'Yes':1})\n", | |
| "df.drop(['nameOrig','nameDest','isFlaggedFraud'],axis=1,inplace=True)\n" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "colab": { | |
| "base_uri": "https://localhost:8080/", | |
| "height": 175 | |
| }, | |
| "id": "LiuYRDCMSpke", | |
| "outputId": "9084aceb-96fd-4d48-9a4b-f272192500e3" | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/html": [ | |
| "\n", | |
| " <div id=\"df-a228dd9d-b2b6-4310-bdd2-6915ebf3f727\" 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>step</th>\n", | |
| " <th>type</th>\n", | |
| " <th>amount</th>\n", | |
| " <th>oldbalanceOrg</th>\n", | |
| " <th>newbalanceOrig</th>\n", | |
| " <th>oldbalanceDest</th>\n", | |
| " <th>newbalanceDest</th>\n", | |
| " <th>isFraud</th>\n", | |
| " </tr>\n", | |
| " </thead>\n", | |
| " <tbody>\n", | |
| " <tr>\n", | |
| " <th>1814542</th>\n", | |
| " <td>163</td>\n", | |
| " <td>4</td>\n", | |
| " <td>131783.46</td>\n", | |
| " <td>1544963.45</td>\n", | |
| " <td>1676746.92</td>\n", | |
| " <td>4624925.7</td>\n", | |
| " <td>4493142.24</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>3643655</th>\n", | |
| " <td>275</td>\n", | |
| " <td>3</td>\n", | |
| " <td>86656.57</td>\n", | |
| " <td>402013.00</td>\n", | |
| " <td>315356.43</td>\n", | |
| " <td>0.0</td>\n", | |
| " <td>86656.57</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>6015227</th>\n", | |
| " <td>451</td>\n", | |
| " <td>3</td>\n", | |
| " <td>184559.81</td>\n", | |
| " <td>82705.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>3079590.5</td>\n", | |
| " <td>3264150.31</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>1915608</th>\n", | |
| " <td>166</td>\n", | |
| " <td>3</td>\n", | |
| " <td>63102.08</td>\n", | |
| " <td>12497.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.0</td>\n", | |
| " <td>63102.08</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| "</table>\n", | |
| "</div>\n", | |
| " <div class=\"colab-df-buttons\">\n", | |
| "\n", | |
| " <div class=\"colab-df-container\">\n", | |
| " <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-a228dd9d-b2b6-4310-bdd2-6915ebf3f727')\"\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 -960 960 960\">\n", | |
| " <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n", | |
| " </svg>\n", | |
| " </button>\n", | |
| "\n", | |
| " <style>\n", | |
| " .colab-df-container {\n", | |
| " display:flex;\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", | |
| " .colab-df-buttons div {\n", | |
| " margin-bottom: 4px;\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-a228dd9d-b2b6-4310-bdd2-6915ebf3f727 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-a228dd9d-b2b6-4310-bdd2-6915ebf3f727');\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", | |
| "\n", | |
| "\n", | |
| "<div id=\"df-e1753b54-5478-4ecb-9f41-d5ddb03dd4fc\">\n", | |
| " <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-e1753b54-5478-4ecb-9f41-d5ddb03dd4fc')\"\n", | |
| " title=\"Suggest charts.\"\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", | |
| " <g>\n", | |
| " <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n", | |
| " </g>\n", | |
| "</svg>\n", | |
| " </button>\n", | |
| "\n", | |
| "<style>\n", | |
| " .colab-df-quickchart {\n", | |
| " --bg-color: #E8F0FE;\n", | |
| " --fill-color: #1967D2;\n", | |
| " --hover-bg-color: #E2EBFA;\n", | |
| " --hover-fill-color: #174EA6;\n", | |
| " --disabled-fill-color: #AAA;\n", | |
| " --disabled-bg-color: #DDD;\n", | |
| " }\n", | |
| "\n", | |
| " [theme=dark] .colab-df-quickchart {\n", | |
| " --bg-color: #3B4455;\n", | |
| " --fill-color: #D2E3FC;\n", | |
| " --hover-bg-color: #434B5C;\n", | |
| " --hover-fill-color: #FFFFFF;\n", | |
| " --disabled-bg-color: #3B4455;\n", | |
| " --disabled-fill-color: #666;\n", | |
| " }\n", | |
| "\n", | |
| " .colab-df-quickchart {\n", | |
| " background-color: var(--bg-color);\n", | |
| " border: none;\n", | |
| " border-radius: 50%;\n", | |
| " cursor: pointer;\n", | |
| " display: none;\n", | |
| " fill: var(--fill-color);\n", | |
| " height: 32px;\n", | |
| " padding: 0;\n", | |
| " width: 32px;\n", | |
| " }\n", | |
| "\n", | |
| " .colab-df-quickchart:hover {\n", | |
| " background-color: var(--hover-bg-color);\n", | |
| " box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n", | |
| " fill: var(--button-hover-fill-color);\n", | |
| " }\n", | |
| "\n", | |
| " .colab-df-quickchart-complete:disabled,\n", | |
| " .colab-df-quickchart-complete:disabled:hover {\n", | |
| " background-color: var(--disabled-bg-color);\n", | |
| " fill: var(--disabled-fill-color);\n", | |
| " box-shadow: none;\n", | |
| " }\n", | |
| "\n", | |
| " .colab-df-spinner {\n", | |
| " border: 2px solid var(--fill-color);\n", | |
| " border-color: transparent;\n", | |
| " border-bottom-color: var(--fill-color);\n", | |
| " animation:\n", | |
| " spin 1s steps(1) infinite;\n", | |
| " }\n", | |
| "\n", | |
| " @keyframes spin {\n", | |
| " 0% {\n", | |
| " border-color: transparent;\n", | |
| " border-bottom-color: var(--fill-color);\n", | |
| " border-left-color: var(--fill-color);\n", | |
| " }\n", | |
| " 20% {\n", | |
| " border-color: transparent;\n", | |
| " border-left-color: var(--fill-color);\n", | |
| " border-top-color: var(--fill-color);\n", | |
| " }\n", | |
| " 30% {\n", | |
| " border-color: transparent;\n", | |
| " border-left-color: var(--fill-color);\n", | |
| " border-top-color: var(--fill-color);\n", | |
| " border-right-color: var(--fill-color);\n", | |
| " }\n", | |
| " 40% {\n", | |
| " border-color: transparent;\n", | |
| " border-right-color: var(--fill-color);\n", | |
| " border-top-color: var(--fill-color);\n", | |
| " }\n", | |
| " 60% {\n", | |
| " border-color: transparent;\n", | |
| " border-right-color: var(--fill-color);\n", | |
| " }\n", | |
| " 80% {\n", | |
| " border-color: transparent;\n", | |
| " border-right-color: var(--fill-color);\n", | |
| " border-bottom-color: var(--fill-color);\n", | |
| " }\n", | |
| " 90% {\n", | |
| " border-color: transparent;\n", | |
| " border-bottom-color: var(--fill-color);\n", | |
| " }\n", | |
| " }\n", | |
| "</style>\n", | |
| "\n", | |
| " <script>\n", | |
| " async function quickchart(key) {\n", | |
| " const quickchartButtonEl =\n", | |
| " document.querySelector('#' + key + ' button');\n", | |
| " quickchartButtonEl.disabled = true; // To prevent multiple clicks.\n", | |
| " quickchartButtonEl.classList.add('colab-df-spinner');\n", | |
| " try {\n", | |
| " const charts = await google.colab.kernel.invokeFunction(\n", | |
| " 'suggestCharts', [key], {});\n", | |
| " } catch (error) {\n", | |
| " console.error('Error during call to suggestCharts:', error);\n", | |
| " }\n", | |
| " quickchartButtonEl.classList.remove('colab-df-spinner');\n", | |
| " quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n", | |
| " }\n", | |
| " (() => {\n", | |
| " let quickchartButtonEl =\n", | |
| " document.querySelector('#df-e1753b54-5478-4ecb-9f41-d5ddb03dd4fc button');\n", | |
| " quickchartButtonEl.style.display =\n", | |
| " google.colab.kernel.accessAllowed ? 'block' : 'none';\n", | |
| " })();\n", | |
| " </script>\n", | |
| "</div>\n", | |
| " </div>\n", | |
| " </div>\n" | |
| ], | |
| "text/plain": [ | |
| " step type amount oldbalanceOrg newbalanceOrig oldbalanceDest \\\n", | |
| "1814542 163 4 131783.46 1544963.45 1676746.92 4624925.7 \n", | |
| "3643655 275 3 86656.57 402013.00 315356.43 0.0 \n", | |
| "6015227 451 3 184559.81 82705.00 0.00 3079590.5 \n", | |
| "1915608 166 3 63102.08 12497.00 0.00 0.0 \n", | |
| "\n", | |
| " newbalanceDest isFraud \n", | |
| "1814542 4493142.24 0 \n", | |
| "3643655 86656.57 0 \n", | |
| "6015227 3264150.31 0 \n", | |
| "1915608 63102.08 0 " | |
| ] | |
| }, | |
| "execution_count": 36, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "df.sample(4)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "id": "Ycoo_tWYSqmJ" | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "y = df[['isFraud']]\n", | |
| "X = df.drop(['isFraud'],axis=1)\n" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "id": "93fyTPDqS09I" | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "train_X, test_X, train_y, test_y = train_test_split(X, y, test_size = 0.2, random_state = 121)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "id": "Nd6QkY7AS_nE" | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "clf = RandomForestClassifier(n_estimators=50,criterion=\"entropy\",max_depth=10,min_samples_leaf=5)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "id": "3kLNvs2NTWB9" | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "if True:\n", | |
| " probabilities = clf.fit(train_X, train_y.values.ravel()).predict(test_X)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "colab": { | |
| "base_uri": "https://localhost:8080/" | |
| }, | |
| "id": "zeXcTaJjVAKk", | |
| "outputId": "d7a043f3-674b-4a60-bfed-8bd31d07eab8" | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "0.7154750639146131\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "if True:\n", | |
| " print(average_precision_score(test_y,probabilities))" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "id": "Pr4NH4xeVT1x" | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "from sklearn.metrics import confusion_matrix" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "colab": { | |
| "base_uri": "https://localhost:8080/" | |
| }, | |
| "id": "HI4gWqnJWOks", | |
| "outputId": "d82cd37c-50d9-4f44-8469-c10c8041310d" | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "0.860777662661556\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "import numpy as np\n", | |
| "\n", | |
| "\n", | |
| "print(recall_score(test_y,probabilities, average='macro'))" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "id": "Dcfy7DcpWSd9" | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "from sklearn.metrics import accuracy_score" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "colab": { | |
| "base_uri": "https://localhost:8080/" | |
| }, | |
| "id": "xxFzqmOVYnwf", | |
| "outputId": "16c221b4-c6dc-486f-849e-4ea1769c9ca0" | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "0.9996220110583376\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "print(accuracy_score(test_y,probabilities))" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "id": "qIKaweZSY_Xx" | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "clf1 = RandomForestClassifier()" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "id": "4-7hyRWsZIpP" | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "if True:\n", | |
| " probabilities = clf1.fit(train_X, train_y.values.ravel()).predict(test_X)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "colab": { | |
| "base_uri": "https://localhost:8080/" | |
| }, | |
| "id": "BMIHe9OhZMvX", | |
| "outputId": "2b9a4f7e-832c-47bd-cef0-0d9f158111b2" | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "0.7654222817166213\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "if True:\n", | |
| " print(average_precision_score(test_y,probabilities))" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "colab": { | |
| "base_uri": "https://localhost:8080/" | |
| }, | |
| "id": "pFUtxQYMZUM4", | |
| "outputId": "cd6a13ea-0beb-461d-b807-99e937f74649" | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "0.8903922206733668\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "print(recall_score(test_y,probabilities, average='macro'))" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "colab": { | |
| "base_uri": "https://localhost:8080/" | |
| }, | |
| "id": "XKqw5YkhZVBI", | |
| "outputId": "a5f835a1-e789-478c-d088-1a56778ad22f" | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "0.9996880216011643\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "print(accuracy_score(test_y,probabilities))" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "id": "4M_BNbSqGumJ" | |
| }, | |
| "source": [ | |
| "Let us reduce the number of estimators" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "id": "cKcvh6IId6Qb" | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "clf1 = RandomForestClassifier(n_estimators=10,criterion=\"entropy\",max_depth=10,min_samples_leaf=5)\n" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "id": "zmkUuDeXG-fq" | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "if True:\n", | |
| " probabilities = clf1.fit(train_X, train_y.values.ravel()).predict(test_X)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "colab": { | |
| "base_uri": "https://localhost:8080/" | |
| }, | |
| "id": "8BKyXOprI3yA", | |
| "outputId": "c5ceebc3-1234-42ac-ad66-48fe60fb1dec" | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "0.6929567392759193\n", | |
| "0.8480426630458983\n", | |
| "0.9995921491461065\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "if True:\n", | |
| " print(average_precision_score(test_y,probabilities))\n", | |
| " print(recall_score(test_y,probabilities, average='macro'))\n", | |
| " print(accuracy_score(test_y,probabilities))" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "id": "UJb6bxfTJXtS" | |
| }, | |
| "source": [ | |
| "The ideal number of estimators is around 15, 10 gives you less precision and recall. However, there is an slight increase in accuracy when the estimator size is reduced and deotg and minimum number of samples are adjusted. Further fine tuning will be interesting.\n" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "id": "pjX27afxKQd8" | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "if True:\n", | |
| " probabilitiest = clf1.fit(train_X, train_y.values.ravel()).predict(train_X)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "colab": { | |
| "base_uri": "https://localhost:8080/" | |
| }, | |
| "id": "OS0lBiZHOLvL", | |
| "outputId": "aa012486-e00d-4409-d232-ad7613bfd631" | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "array([0, 0, 0, ..., 0, 0, 0])" | |
| ] | |
| }, | |
| "execution_count": 12, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "probabilitiest.predict(train_X)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "colab": { | |
| "base_uri": "https://localhost:8080/" | |
| }, | |
| "id": "x3sx3uT1PagO", | |
| "outputId": "50baaf70-4964-404a-bb5a-921ab00f45f9" | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "0.7431942749256791\n", | |
| "0.8740196443998027\n", | |
| "0.9996703402057643\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "if True:\n", | |
| " print(average_precision_score(train_y,probabilitiest))\n", | |
| " print(recall_score(train_y,probabilitiest, average='macro'))\n", | |
| " print(accuracy_score(train_y,probabilitiest))" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "id": "O9XEgE_EQ63f" | |
| }, | |
| "source": [ | |
| "Here wer are comparing the performance between the training and the test data set, and we can see that the difference between the raining results and the test results are not particularly high. THis shows that there isn't much overfitting. However, it is highly likely that there is some undefitting since both training and test values are close together, so this is a case of underfitting." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "id": "H1COVTppRIVB" | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "clf15 = RandomForestClassifier(n_estimators=15)\n", | |
| "\n" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "id": "QhpEMjc3R04V" | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "\n", | |
| " probabilities15 = clf15.fit(train_X, train_y.values.ravel()).predict(test_X)\n", | |
| "\n", | |
| "\n" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "id": "0pgto4OLViPk" | |
| }, | |
| "source": [ | |
| "These are the results for the training data." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "colab": { | |
| "base_uri": "https://localhost:8080/" | |
| }, | |
| "id": "cvEegDT-VpkC", | |
| "outputId": "13535188-42bc-4353-f8bf-a79ae6eb2a2c" | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "0.763744863422387\n", | |
| "0.890686855436983\n", | |
| "0.9996856640817776\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| " print(average_precision_score(test_y,probabilities15))\n", | |
| " print(recall_score(test_y,probabilities15, average='macro'))\n", | |
| " print(accuracy_score(test_y,probabilities15))" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "id": "x3szVV9WV7Fb" | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "probabilities15t = clf15.fit(train_X, train_y.values.ravel()).predict(train_X)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "colab": { | |
| "base_uri": "https://localhost:8080/" | |
| }, | |
| "id": "jlNnyCRZWFh5", | |
| "outputId": "27d76ac0-eac1-4b86-cc8c-2fc6dbb481ad" | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "0.98484673816048\n", | |
| "0.9925668530963148\n", | |
| "0.99998055046506\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| " print(average_precision_score(train_y,probabilities15t))\n", | |
| " print(recall_score(train_y,probabilities15t, average='macro'))\n", | |
| " print(accuracy_score(train_y,probabilities15t))" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "id": "56Ea137hXtUF" | |
| }, | |
| "source": [ | |
| "This is a case of overfitting, where the training model has high variance. The training parameters need to be changed to reduce overfitting. So the previous result with n=10 parameters is a much better option than a highly overfitting model." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "id": "IYLUN1IBWax4" | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "clf12 = RandomForestClassifier(n_estimators=12)\n", | |
| "\n", | |
| "probabilities12 = clf15.fit(train_X, train_y.values.ravel()).predict(test_X)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "colab": { | |
| "base_uri": "https://localhost:8080/" | |
| }, | |
| "id": "3fHOFgIAZNNE", | |
| "outputId": "e27a1e86-a72b-4284-b950-304ec8b1120a" | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "0.7692047292921947\n", | |
| "0.8948318076592758\n", | |
| "0.9996927366399376\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| " print(average_precision_score(test_y,probabilities12))\n", | |
| " print(recall_score(test_y,probabilities12, average='macro'))\n", | |
| " print(accuracy_score(test_y,probabilities12))" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "id": "mJnz__wcaKYt" | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "probabilities12 = clf12.fit(train_X, train_y.values.ravel()).predict(train_X)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "colab": { | |
| "base_uri": "https://localhost:8080/" | |
| }, | |
| "id": "JmunW9RjfiFH", | |
| "outputId": "3a90bf05-2a72-4e0b-e2fe-3e35d7c8ef45" | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "0.9761224293704273\n", | |
| "0.9881225070079275\n", | |
| "0.9999693522479733\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| " print(average_precision_score(train_y,probabilities12))\n", | |
| " print(recall_score(train_y,probabilities12, average='macro'))\n", | |
| " print(accuracy_score(train_y,probabilities12))" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "id": "OS4901l68a0S" | |
| }, | |
| "source": [ | |
| "Data Analysis" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "colab": { | |
| "base_uri": "https://localhost:8080/", | |
| "height": 206 | |
| }, | |
| "id": "bLXBoFVI7iTi", | |
| "outputId": "af38d0ac-38f0-40ea-9d26-0f5bf0bf3f43" | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/html": [ | |
| "\n", | |
| " <div id=\"df-38ba0967-e9c5-4186-9bff-c50c044f9f49\" 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>step</th>\n", | |
| " <th>type</th>\n", | |
| " <th>amount</th>\n", | |
| " <th>oldbalanceOrg</th>\n", | |
| " <th>newbalanceOrig</th>\n", | |
| " <th>oldbalanceDest</th>\n", | |
| " <th>newbalanceDest</th>\n", | |
| " <th>isFraud</th>\n", | |
| " </tr>\n", | |
| " </thead>\n", | |
| " <tbody>\n", | |
| " <tr>\n", | |
| " <th>0</th>\n", | |
| " <td>1</td>\n", | |
| " <td>1</td>\n", | |
| " <td>9839.64</td>\n", | |
| " <td>170136.0</td>\n", | |
| " <td>160296.36</td>\n", | |
| " <td>0.0</td>\n", | |
| " <td>0.0</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>1</th>\n", | |
| " <td>1</td>\n", | |
| " <td>1</td>\n", | |
| " <td>1864.28</td>\n", | |
| " <td>21249.0</td>\n", | |
| " <td>19384.72</td>\n", | |
| " <td>0.0</td>\n", | |
| " <td>0.0</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2</th>\n", | |
| " <td>1</td>\n", | |
| " <td>2</td>\n", | |
| " <td>181.00</td>\n", | |
| " <td>181.0</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.0</td>\n", | |
| " <td>0.0</td>\n", | |
| " <td>1</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>3</th>\n", | |
| " <td>1</td>\n", | |
| " <td>3</td>\n", | |
| " <td>181.00</td>\n", | |
| " <td>181.0</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>21182.0</td>\n", | |
| " <td>0.0</td>\n", | |
| " <td>1</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>4</th>\n", | |
| " <td>1</td>\n", | |
| " <td>1</td>\n", | |
| " <td>11668.14</td>\n", | |
| " <td>41554.0</td>\n", | |
| " <td>29885.86</td>\n", | |
| " <td>0.0</td>\n", | |
| " <td>0.0</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| "</table>\n", | |
| "</div>\n", | |
| " <div class=\"colab-df-buttons\">\n", | |
| "\n", | |
| " <div class=\"colab-df-container\">\n", | |
| " <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-38ba0967-e9c5-4186-9bff-c50c044f9f49')\"\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 -960 960 960\">\n", | |
| " <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n", | |
| " </svg>\n", | |
| " </button>\n", | |
| "\n", | |
| " <style>\n", | |
| " .colab-df-container {\n", | |
| " display:flex;\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", | |
| " .colab-df-buttons div {\n", | |
| " margin-bottom: 4px;\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-38ba0967-e9c5-4186-9bff-c50c044f9f49 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-38ba0967-e9c5-4186-9bff-c50c044f9f49');\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", | |
| "\n", | |
| "\n", | |
| "<div id=\"df-a2fd117f-919f-4061-9c93-a83447ffeaba\">\n", | |
| " <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-a2fd117f-919f-4061-9c93-a83447ffeaba')\"\n", | |
| " title=\"Suggest charts.\"\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", | |
| " <g>\n", | |
| " <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n", | |
| " </g>\n", | |
| "</svg>\n", | |
| " </button>\n", | |
| "\n", | |
| "<style>\n", | |
| " .colab-df-quickchart {\n", | |
| " --bg-color: #E8F0FE;\n", | |
| " --fill-color: #1967D2;\n", | |
| " --hover-bg-color: #E2EBFA;\n", | |
| " --hover-fill-color: #174EA6;\n", | |
| " --disabled-fill-color: #AAA;\n", | |
| " --disabled-bg-color: #DDD;\n", | |
| " }\n", | |
| "\n", | |
| " [theme=dark] .colab-df-quickchart {\n", | |
| " --bg-color: #3B4455;\n", | |
| " --fill-color: #D2E3FC;\n", | |
| " --hover-bg-color: #434B5C;\n", | |
| " --hover-fill-color: #FFFFFF;\n", | |
| " --disabled-bg-color: #3B4455;\n", | |
| " --disabled-fill-color: #666;\n", | |
| " }\n", | |
| "\n", | |
| " .colab-df-quickchart {\n", | |
| " background-color: var(--bg-color);\n", | |
| " border: none;\n", | |
| " border-radius: 50%;\n", | |
| " cursor: pointer;\n", | |
| " display: none;\n", | |
| " fill: var(--fill-color);\n", | |
| " height: 32px;\n", | |
| " padding: 0;\n", | |
| " width: 32px;\n", | |
| " }\n", | |
| "\n", | |
| " .colab-df-quickchart:hover {\n", | |
| " background-color: var(--hover-bg-color);\n", | |
| " box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n", | |
| " fill: var(--button-hover-fill-color);\n", | |
| " }\n", | |
| "\n", | |
| " .colab-df-quickchart-complete:disabled,\n", | |
| " .colab-df-quickchart-complete:disabled:hover {\n", | |
| " background-color: var(--disabled-bg-color);\n", | |
| " fill: var(--disabled-fill-color);\n", | |
| " box-shadow: none;\n", | |
| " }\n", | |
| "\n", | |
| " .colab-df-spinner {\n", | |
| " border: 2px solid var(--fill-color);\n", | |
| " border-color: transparent;\n", | |
| " border-bottom-color: var(--fill-color);\n", | |
| " animation:\n", | |
| " spin 1s steps(1) infinite;\n", | |
| " }\n", | |
| "\n", | |
| " @keyframes spin {\n", | |
| " 0% {\n", | |
| " border-color: transparent;\n", | |
| " border-bottom-color: var(--fill-color);\n", | |
| " border-left-color: var(--fill-color);\n", | |
| " }\n", | |
| " 20% {\n", | |
| " border-color: transparent;\n", | |
| " border-left-color: var(--fill-color);\n", | |
| " border-top-color: var(--fill-color);\n", | |
| " }\n", | |
| " 30% {\n", | |
| " border-color: transparent;\n", | |
| " border-left-color: var(--fill-color);\n", | |
| " border-top-color: var(--fill-color);\n", | |
| " border-right-color: var(--fill-color);\n", | |
| " }\n", | |
| " 40% {\n", | |
| " border-color: transparent;\n", | |
| " border-right-color: var(--fill-color);\n", | |
| " border-top-color: var(--fill-color);\n", | |
| " }\n", | |
| " 60% {\n", | |
| " border-color: transparent;\n", | |
| " border-right-color: var(--fill-color);\n", | |
| " }\n", | |
| " 80% {\n", | |
| " border-color: transparent;\n", | |
| " border-right-color: var(--fill-color);\n", | |
| " border-bottom-color: var(--fill-color);\n", | |
| " }\n", | |
| " 90% {\n", | |
| " border-color: transparent;\n", | |
| " border-bottom-color: var(--fill-color);\n", | |
| " }\n", | |
| " }\n", | |
| "</style>\n", | |
| "\n", | |
| " <script>\n", | |
| " async function quickchart(key) {\n", | |
| " const quickchartButtonEl =\n", | |
| " document.querySelector('#' + key + ' button');\n", | |
| " quickchartButtonEl.disabled = true; // To prevent multiple clicks.\n", | |
| " quickchartButtonEl.classList.add('colab-df-spinner');\n", | |
| " try {\n", | |
| " const charts = await google.colab.kernel.invokeFunction(\n", | |
| " 'suggestCharts', [key], {});\n", | |
| " } catch (error) {\n", | |
| " console.error('Error during call to suggestCharts:', error);\n", | |
| " }\n", | |
| " quickchartButtonEl.classList.remove('colab-df-spinner');\n", | |
| " quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n", | |
| " }\n", | |
| " (() => {\n", | |
| " let quickchartButtonEl =\n", | |
| " document.querySelector('#df-a2fd117f-919f-4061-9c93-a83447ffeaba button');\n", | |
| " quickchartButtonEl.style.display =\n", | |
| " google.colab.kernel.accessAllowed ? 'block' : 'none';\n", | |
| " })();\n", | |
| " </script>\n", | |
| "</div>\n", | |
| " </div>\n", | |
| " </div>\n" | |
| ], | |
| "text/plain": [ | |
| " step type amount oldbalanceOrg newbalanceOrig oldbalanceDest \\\n", | |
| "0 1 1 9839.64 170136.0 160296.36 0.0 \n", | |
| "1 1 1 1864.28 21249.0 19384.72 0.0 \n", | |
| "2 1 2 181.00 181.0 0.00 0.0 \n", | |
| "3 1 3 181.00 181.0 0.00 21182.0 \n", | |
| "4 1 1 11668.14 41554.0 29885.86 0.0 \n", | |
| "\n", | |
| " newbalanceDest isFraud \n", | |
| "0 0.0 0 \n", | |
| "1 0.0 0 \n", | |
| "2 0.0 1 \n", | |
| "3 0.0 1 \n", | |
| "4 0.0 0 " | |
| ] | |
| }, | |
| "execution_count": 6, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "df.head()" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "id": "fgPe1gyBCJaE" | |
| }, | |
| "source": [ | |
| "From the data analysis in" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "colab": { | |
| "base_uri": "https://localhost:8080/" | |
| }, | |
| "id": "9JYpKg_u7mVW", | |
| "outputId": "601419ed-43e7-4ab6-932e-5bd52ff68376" | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "PearsonRResult(statistic=0.9988027631729837, pvalue=0.0)" | |
| ] | |
| }, | |
| "execution_count": 20, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "scipy.stats.pearsonr(df.iloc[:,3],df.iloc[:,4] )" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "id": "fx2m3F19FH87" | |
| }, | |
| "source": [ | |
| "From above it is clear that the oldbalanceOrg and NewbalanceOrig are highly correlated. For highly correlated data pearson correlation coefficient is 1, this data is highly correlated." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "colab": { | |
| "base_uri": "https://localhost:8080/" | |
| }, | |
| "id": "F6OnlCcEFP2h", | |
| "outputId": "3fc82b6b-a35d-43e5-bb3e-4a5b6a59491b" | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "PearsonRResult(statistic=-0.020403492367990984, pvalue=7.526433468566388e-253)" | |
| ] | |
| }, | |
| "execution_count": 41, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "scipy.stats.pearsonr(df.iloc[:,3],df.iloc[:,5] )" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "colab": { | |
| "base_uri": "https://localhost:8080/" | |
| }, | |
| "id": "TBCNP7-MYyqQ", | |
| "outputId": "1b14cfff-ee22-49a9-8c21-9d17c6efeebc" | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "PearsonRResult(statistic=0.9700604740242301, pvalue=0.0)" | |
| ] | |
| }, | |
| "execution_count": 58, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "scipy.stats.pearsonr(df.iloc[:,6],df.iloc[:,5] )" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "id": "tqQxGV5mZJhZ" | |
| }, | |
| "source": [ | |
| "IN additon oldbalacneDest and new balance dest are also showing high correlation" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "id": "Ia8tPCu3FwnX" | |
| }, | |
| "source": [ | |
| "However, other combinations show very little correlation" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "id": "M03XZlOFFXiM" | |
| }, | |
| "source": [ | |
| "Amount and" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "id": "szhJqw1prfPm" | |
| }, | |
| "source": [] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "colab": { | |
| "base_uri": "https://localhost:8080/", | |
| "height": 484 | |
| }, | |
| "id": "bWkcTJui9tIT", | |
| "outputId": "b134ad87-8ee1-4e32-939b-51c3cc471076" | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "Text(0, 0.5, 'Fraud')" | |
| ] | |
| }, | |
| "execution_count": 28, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| }, | |
| { | |
| "data": { | |
| "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkQAAAHCCAYAAAAO4dYCAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABI7klEQVR4nO3deXwO9/7//+eVkIuEK4ish0ZUS0JQtBpbLalIU12kC7VVVQ+ip2jR9Dgo5xyOVlVLqbaWthRdv0WL2CtCNRU7RW0tCaVyESQk8/ujv8zH1cTacEXmcb/d5nYy73lfM6/3NZeTZ2fe18RmGIYhAAAAC/NwdwEAAADuRiACAACWRyACAACWRyACAACWRyACAACWRyACAACWRyACAACWRyACAACWRyACAACWRyACLsFms6lfv35X7DdjxgzZbDbt37//mvbfsmVL1alT5zqrQ2H2798vm82mGTNm3PRjcz6L1kcffaRatWqpdOnSqlChgrvLMV3vv3cUfwQilDjz5s2TzWbTl19+WWBbvXr1ZLPZtGLFigLbbrvtNjVp0uRmlPiXjBgxQjab7YpLy5Yt3V3qDTN79my9+eab7i4DN8jOnTv19NNP6/bbb9d7772nqVOnurskWEApdxcAFLVmzZpJktasWaNHH33UbHc6ndq6datKlSql5ORktWrVytx26NAhHTp0SB07drzm43Xt2lUdO3aU3W7/68VfhQ4dOqhGjRrm+unTp9WnTx89+uij6tChg9keGBh4U+pxh9mzZ2vr1q3q37+/S3toaKjOnj2r0qVLu6cwFImVK1cqLy9PEyZMcPmsAzcSgQglTkhIiMLCwrRmzRqX9pSUFBmGoccff7zAtvz1/DB1LTw9PeXp6Xn9BV+junXrqm7duub6b7/9pj59+qhu3brq0qXLJV937tw5eXl5ycOj5F4YttlsKlOmjLvLsLQzZ87I29v7L+3j6NGjknTFW2WGYejcuXMqW7bsXzoeIHHLDCVUs2bNtHHjRp09e9ZsS05OVu3atRUbG6t169YpLy/PZZvNZlPTpk0L7Ourr75SnTp1ZLfbVbt2bS1atMhl+6XmFHz77be67777VL58eTkcDt19992aPXt2gf1v375drVq1kre3t/72t79p7Nixf3H0f/wXts1m05w5czR06FD97W9/k7e3t5xOp06cOKGXXnpJkZGRKleunBwOh2JjY7Vp06ZC9zFv3jz95z//UZUqVVSmTBm1adNGe/bscem7e/duxcfHKygoSGXKlFGVKlXUsWNHZWZmmn2mT5+u1q1bKyAgQHa7XREREZo8eXKh9V/uvWvZsqUWLlyoAwcOmLcHq1WrJunSc4iWL1+u5s2by8fHRxUqVNDDDz+sHTt2uPTJvxW5Z88ePf3006pQoYJ8fX3Vo0cPnTlz5qrf+yudz5ycHA0bNkwNGzaUr6+vfHx81Lx580Jv486ZM0cNGzY034fIyEhNmDDhssfPfw9ef/11TZo0SdWrV5e3t7fatm2rQ4cOyTAMjRo1SlWqVFHZsmX18MMP68SJEwX2884776h27dqy2+0KCQlRQkKCTp486dInf95UamqqWrRoIW9vb73yyiuSpOzsbA0fPlw1atSQ3W5X1apVNXjwYGVnZ1+2/mrVqmn48OGSJH9/f9lsNo0YMcLc9uCDD2rx4sVq1KiRypYtq3fffVfS1X++Lt7fn4/79NNPu7Rt27ZNrVu3VtmyZVWlShX9+9//dvn/DZQsXCFCidSsWTN99NFHWr9+vTmXJjk5WU2aNFGTJk2UmZmprVu3mldakpOTVatWLfn5+bnsZ82aNfriiy/Ut29flS9fXm+99Zbi4+N18ODBAn0vNmPGDD3zzDOqXbu2EhMTVaFCBW3cuFGLFi3SU089Zfb7/fff1a5dO3Xo0EFPPPGEPvvsMw0ZMkSRkZGKjY39y+/DqFGj5OXlpZdeeknZ2dny8vLS9u3b9dVXX+nxxx9XWFiYMjIy9O677+q+++7T9u3bFRIS4rKPMWPGyMPDQy+99JIyMzM1duxYde7cWevXr5f0xy/4mJgYZWdn6/nnn1dQUJB+/fVXLViwQCdPnpSvr68kafLkyapdu7YeeughlSpVSvPnz1ffvn2Vl5enhISEq37v/vnPfyozM1O//PKLxo8fL0kqV67cJd+DpUuXKjY2VtWrV9eIESN09uxZvf3222ratKl+/PFHM0zle+KJJxQWFqbRo0frxx9/1Pvvv6+AgAD973//u+L7fTXn0+l06v3331enTp3Uq1cvnTp1Sh988IFiYmL0/fffq379+pKkpKQkderUSW3atDGPvWPHDiUnJ+uFF164Yi2zZs1STk6Onn/+eZ04cUJjx47VE088odatW2vlypUaMmSI9uzZo7ffflsvvfSSpk2bZr52xIgRevXVVxUdHa0+ffpo165dmjx5sjZs2KDk5GSXW5LHjx9XbGysOnbsqC5duigwMFB5eXl66KGHtGbNGj333HMKDw/Xli1bNH78eP3000/66quvLln3m2++qQ8//FBffvmlJk+erHLlyrlcEd21a5c6deqkv//97+rVq5dq1qwp6eo/X1crPT1drVq10oULF/Tyyy/Lx8dHU6dO5WpUSWYAJdC2bdsMScaoUaMMwzCM8+fPGz4+PsbMmTMNwzCMwMBAY9KkSYZhGIbT6TQ8PT2NXr16uexDkuHl5WXs2bPHbNu0aZMhyXj77bfNtunTpxuSjH379hmGYRgnT540ypcvbzRu3Ng4e/asyz7z8vLMn++77z5DkvHhhx+abdnZ2UZQUJARHx9/1WM9duyYIckYPny42bZixQpDklG9enXjzJkzLv3PnTtn5ObmurTt27fPsNvtxsiRIwvsIzw83MjOzjbbJ0yYYEgytmzZYhiGYWzcuNGQZHz66aeXrfPPdRiGYcTExBjVq1c316/2vYuLizNCQ0ML7G/fvn2GJGP69OlmW/369Y2AgADj+PHjZtumTZsMDw8Po1u3bmbb8OHDDUnGM88847LPRx991PDz87vs2Azj6s/nhQsXXN5PwzCM33//3QgMDHQ59gsvvGA4HA7jwoULVzz2xfLfA39/f+PkyZNme2JioiHJqFevnnH+/HmzvVOnToaXl5dx7tw5wzAM4+jRo4aXl5fRtm1bl8/JxIkTDUnGtGnTCox5ypQpLjV89NFHhoeHh/Hdd9+5tE+ZMsWQZCQnJ192DPnn4tixYy7toaGhhiRj0aJFBV5zNZ8vwzAK/Fu5eN/du3c31/v3729IMtavX2+2HT161PD19XX5946Sg1tmKJHCw8Pl5+dnzg3atGmTsrKyzG+RNWnSRMnJyZL+mFuUm5tb6Pyh6Oho3X777eZ63bp15XA49PPPP1/y2ElJSTp16pRefvnlAvNZbDaby3q5cuVc5v14eXnpnnvuuez+r0X37t0L/Bet3W435xHl5ubq+PHjKleunGrWrKkff/yxwD569OghLy8vc7158+aSZNaYfwVo8eLFl721dHEdmZmZ+u2333Tffffp559/Nm+tXct7dzWOHDmitLQ0Pf3006pUqZLZXrduXd1///365ptvCrymd+/eLuvNmzfX8ePH5XQ6r3i8qzmfnp6e5vuZl5enEydO6MKFC2rUqJHL+1+hQgVlZWUpKSnp6gd8kccff9w8N5LUuHFjSVKXLl1UqlQpl/acnBz9+uuvkv64opaTk6P+/fu7zDfr1auXHA6HFi5c6HIcu92uHj16uLR9+umnCg8PV61atfTbb7+ZS+vWrSWp0NuDVyssLEwxMTEF2q/m83UtvvnmG91777265557zDZ/f3917tz5+gpHsUcgQolks9nUpEkTc65QcnKyAgICzG+sXByI8v+3sEB02223FWirWLGifv/990see+/evZJ0Vc+kqVKlSoFf9Ffa/7UICwsr0JaXl6fx48frjjvukN1uV+XKleXv76/NmzcX+ovjz+9BxYoVJcmsMSwsTAMHDtT777+vypUrKyYmRpMmTSqwr+TkZEVHR5vzePz9/c35Jvl9r+W9uxoHDhyQJPO2ysXCw8P122+/KSsry6X9SuO9nKs9nzNnzlTdunVVpkwZ+fn5yd/fXwsXLnR5z/r27as777xTsbGxqlKlip555pkC89cu58/jyA9HVatWLbQ9v8ZLvWdeXl6qXr26uT3f3/72N5fALP0xp2zbtm3y9/d3We68805J/zdp+noU9pmWru7zdS0OHDigO+64o0B7YZ8llAwEIpRYzZo1U2ZmprZs2WLOH8rXpEkTHThwQL/++qvWrFmjkJAQVa9evcA+LvXtMcMwiqTGG73/wuY7/Pe//9XAgQPVokULffzxx1q8eLGSkpJUu3btQieMXk2N48aN0+bNm/XKK6/o7Nmz+sc//qHatWvrl19+kfRH0GnTpo1+++03vfHGG1q4cKGSkpI0YMAASSpWE1X/yjm5mtd+/PHH5jN2PvjgAy1atEhJSUlq3bq1y/sQEBCgtLQ0ff3113rooYe0YsUKxcbGqnv37n9pHEX9mSvsM5aXl6fIyEglJSUVuvTt2/e6jnWp4xXF5ys3N/e6a0LJwKRqlFgXP48oOTnZ5Zk1DRs2lN1u18qVK7V+/Xo98MADRXbc/FtsW7duLZbPUPnss8/UqlUrffDBBy7tJ0+eVOXKla97v5GRkYqMjNTQoUO1du1aNW3aVFOmTNG///1vzZ8/X9nZ2fr6669drlz8+dbJ1b53V3v7LDQ0VNIfE3H/bOfOnapcubJ8fHyual9F5bPPPlP16tX1xRdfuIwj/5tVF/Py8lL79u3Vvn175eXlqW/fvnr33Xf1r3/964Z9ti5+zy7+j4ScnBzt27dP0dHRV9zH7bffrk2bNqlNmzbXdavzWl3t50v644rdn78tl5OToyNHjri0hYaGavfu3QVeX9hnCSUDV4hQYjVq1EhlypTRrFmz9Ouvv7pcIbLb7WrQoIEmTZqkrKys63r+0KW0bdtW5cuX1+jRo3Xu3DmXbUV15eev8PT0LFDHp59+as4huVZOp1MXLlxwaYuMjJSHh4f5Fev8qxIXHzczM1PTp093ed3Vvnc+Pj5XdRskODhY9evX18yZM11+CW7dulVLliwp0iB8tQp7L9avX6+UlBSXfsePH3dZ9/DwML9tdaWvrv8V0dHR8vLy0ltvveVS4wcffKDMzEzFxcVdcR9PPPGEfv31V7333nsFtp09e7bAbcq/6mo/X9IfYW316tUubVOnTi1wheiBBx7QunXr9P3335ttx44d06xZs4qydBQjXCFCieXl5aW7775b3333nex2uxo2bOiyvUmTJho3bpyk63sg46U4HA6NHz9ezz77rO6++2499dRTqlixojZt2qQzZ85o5syZRXas6/Hggw9q5MiR6tGjh5o0aaItW7Zo1qxZhd4yvBrLly9Xv3799Pjjj+vOO+/UhQsX9NFHH8nT01Px8fGS/gg6+Vc7/v73v+v06dN67733FBAQ4PJf5lf73jVs2FBz587VwIEDdffdd6tcuXJq3759ofW99tprio2NVVRUlHr27Gl+7d7X17fQ59HcaA8++KC++OILPfroo4qLi9O+ffs0ZcoURURE6PTp02a/Z599VidOnFDr1q1VpUoVHThwQG+//bbq16+v8PDwG1afv7+/EhMT9eqrr6pdu3Z66KGHtGvXLr3zzju6++67L/vwz3xdu3bVvHnz1Lt3b61YsUJNmzZVbm6udu7cqXnz5pnPESoqV/v5kv54X3v37q34+Hjdf//92rRpkxYvXlzg6ujgwYP10UcfqV27dnrhhRfMr92HhoZq8+bNRVY7ig8CEUq0Zs2a6bvvvjNvkV2sadOmGjdunMqXL6969eoV6XF79uypgIAAjRkzRqNGjVLp0qVVq1Ytc06DO73yyivKysrS7NmzNXfuXDVo0EALFy7Uyy+/fF37q1evnmJiYjR//nz9+uuv8vb2Vr169fTtt9/q3nvvlfTH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nT592qXP5s2b1bx5c5UpU0ZVq1bV2LFjb/TQAADALcStgSgrK0v16tXTpEmTLtmnXbt2OnLkiLl88sknLts7d+6sbdu2KSkpSQsWLNDq1av13HPPmdudTqfatm2r0NBQpaam6rXXXtOIESM0derUGzYuAABwaynlzoPHxsYqNjb2sn3sdruCgoIK3bZjxw4tWrRIGzZsUKNGjSRJb7/9th544AG9/vrrCgkJ0axZs5STk6Np06bJy8tLtWvXVlpamt544w2X4AQAAKyr2M8hWrlypQICAlSzZk316dNHx48fN7elpKSoQoUKZhiSpOjoaHl4eGj9+vVmnxYtWsjLy8vsExMTo127dun333+/eQMBAADFlluvEF1Ju3bt1KFDB4WFhWnv3r165ZVXFBsbq5SUFHl6eio9PV0BAQEurylVqpQqVaqk9PR0SVJ6errCwsJc+gQGBprbKlasWOC42dnZys7ONtedTmdRDw0AABQjxToQdezY0fw5MjJSdevW1e23366VK1eqTZs2N+y4o0eP1quvvnrD9g8AAIqXYn/L7GLVq1dX5cqVtWfPHklSUFCQjh496tLnwoULOnHihDnvKCgoSBkZGS598tcvNTcpMTFRmZmZ5nLo0KGiHgoAAChGbqlA9Msvv+j48eMKDg6WJEVFRenkyZNKTU01+yxfvlx5eXlq3Lix2Wf16tU6f/682ScpKUk1a9Ys9HaZ9MdEbofD4bIAAICSy62B6PTp00pLS1NaWpokad++fUpLS9PBgwd1+vRpDRo0SOvWrdP+/fu1bNkyPfzww6pRo4ZiYmIkSeHh4WrXrp169eql77//XsnJyerXr586duyokJAQSdJTTz0lLy8v9ezZU9u2bdPcuXM1YcIEDRw40F3DBgAAxYxbA9EPP/ygu+66S3fddZckaeDAgbrrrrs0bNgweXp6avPmzXrooYd05513qmfPnmrYsKG+++472e12cx+zZs1SrVq11KZNGz3wwANq1qyZyzOGfH19tWTJEu3bt08NGzbUiy++qGHDhvGVewAAYHLrpOqWLVvKMIxLbl+8ePEV91GpUiXNnj37sn3q1q2r77777prrAwAA1nBLzSECAAC4EQhEAADA8ghEAADA8ghEAADA8ghEAADA8ghEAADA8ghEAADA8ghEAADA8ghEAADA8ghEAADA8ghEAADA8ghE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cOCAkZOTYwwbNszYsGGD8fPPPxsff/yx4e3tbcydO9d8Xffu3Q2Hw2H07t3b2LFjhzF//nzD29vbmDp1qmEYhrFhwwbD09PTmD17trF//37jxx9/NCZMmGC+/rPPPjM+//xzY/fu3cbGjRuN9u3bG5GRkUZubq5hGH/8RfHq1asbzZs3N7777jtj9+7dxty5c421a9caZ86cMV588UWjdu3axpEjR4wjR44YZ86cMcfz5ZdfGoZhGKdPnzaCg4ONDh06GFu2bDGWLVtmhIWFGd27d7/qcQBWRSACUCAQrV+/3vD09DQOHz5sGIZhZGRkGKVKlTJWrlxpGMb/BY0xY8aYrzl//rxRpUoV43//+59hGIYxatQoo23bti7HOXTokCHJ2LVrV6F1PPXUU8b999/v0jZo0CAjIiLCXH/hhReM++6776rGdalA1L9//yu+NiEhwYiPjzfXu3fvboSGhhoXLlww2x5//HHjySefNAzDMD7//HPD4XAYTqfzqmo7duyYIcnYsmWLYRiG8e677xrly5e/ZMgbPny4Ua9evQLtFweiqVOnGhUrVjROnz5tbl+4cKHh4eFhpKenX9U4AKvilhmAAu655x7Vrl1bM2fOlCR9/PHHCg0NVYsWLVz6RUVFmT+XKlVKjRo10o4dOyRJmzZt0ooVK1SuXDlzqVWrliQVuFWUb8eOHWratKlLW9OmTbV79+4i/aOfjRo1KtA2adIkNWzYUP7+/ipXrpymTp2qgwcPuvSpXbu2PD09zfXg4GAdPXpUknT//fcrNDRU1atXV9euXTVr1iydOXPG7Lt792516tRJ1atXl8PhULVq1STJPEZaWpruuusuVapU6brHtWPHDtWrV08+Pj5mW9OmTZWXl+cyP+xy4wCsikAEoFDPPvusOU9l+vTp6tGjh2w221W//vTp02rfvr3S0tJclt27dxcIVjfbxYFBkubMmaOXXnpJPXv21JIlS5SWlqYePXqYk7Pz/Xnytc1mU15eniSpfPny+vHHH/XJJ58oODhYw4YNU7169czHArRv314nTpzQe++9p/Xr12v9+vWSZB6jbNmyN2KohbrcOACrIhABKFSXLl104MABvfXWW9q+fbu6d+9eoM+6devMny9cuKDU1FSFh4dLkho0aKBt27apWrVqqlGjhsvy50CSLzw8XMnJyS5tycnJuvPOO12uaBS15ORkNWnSRH379tVdd92lGjVqXPIq1uWUKlVK0dHRGjt2rDZv3qz9+/dr+fLlOn78uHbt2qWhQ4eqTZs2Cg8P1++//+7y2rp16yotLU0nTpwodN9eXl5XvEoWHh6uTZs2KSsry2VsHh4eqlmz5jWPB7ASAhGAQlWsWFEdOnTQoEGD1LZtW1WpUqVAn0mTJunLL7/Uzp07lZCQoN9//13PPPOMJCkhIUEnTpxQp06dtGHDBu3du1eLFy9Wjx49LvmL/cUXX9SyZcs0atQo/fTTT5o5c6YmTpyol1566YaO9Y477tAPP/ygxYsX66efftK//vUvbdiw4Zr2sWDBAr311ltKS0vTgQMH9OGHHyovL081a9ZUxYoV5efnp6lTp2rPnj1avny5Bg4c6PL6Tp06KSgoSI888oiSk5P1888/6/PPP1dKSookqVq1atq3b5/S0tL022+/KTs7u0ANnTt3VpkyZdS9e3dt3bpVK1as0PPPP6+uXbsqMDDw+t8gwAIIRAAuqWfPnsrJyTFDzp+NGTNGY8aMUb169bRmzRp9/fXXqly5siQpJCREycnJys3NVdu2bRUZGan+/furQoUK8vAo/P96GjRooHnz5mnOnDmqU6eOhg0bppEjR+rpp5++UUOUJP39739Xhw4d9OSTT6px48Y6fvy4+vbte037qFChgr744gu1bt1a4eHhmjJlij755BPVrl1bHh4emjNnjlJTU1WnTh0NGDBAr732msvrvby8tGTJEgUEBOiBBx5QZGSkxowZY14Zi4+PV7t27dSqVSv5+/vrk08+KVCDt7e3Fi9erBMnTujuu+/WY489pjZt2mjixInX/+YAFmEzDMNwdxEAiqePPvpIAwYM0OHDh10eaLh//36FhYVp48aNhT49GQBuNTypGkABZ86c0ZEjRzRmzBj9/e9/L/B0ZwAoabhlBqCAsWPHqlatWgoKClJiYqK7ywGAG45bZgAAwPK4QgQAACyPQAQAACyPQAQAACyPQAQAACyPQAQAACyPQAQAACyPQAQAACyPQAQAACyPQAQAACzv/wO04sEbQOu7WQAAAABJRU5ErkJggg==\n", | |
| "text/plain": [ | |
| "<Figure size 640x480 with 1 Axes>" | |
| ] | |
| }, | |
| "metadata": {}, | |
| "output_type": "display_data" | |
| } | |
| ], | |
| "source": [ | |
| "var = df.groupby('type').isFraud.sum()\n", | |
| "fig = plt.figure()\n", | |
| "ax1 = fig.add_subplot(1,1,1)\n", | |
| "var.plot(kind='bar')\n", | |
| "ax1.set_title(\"Which Transaction has more fraud\")\n", | |
| "ax1.set_xlabel('Type of Transaction')\n", | |
| "ax1.set_ylabel('Fraud')" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "id": "jzuYw4kKIFAG" | |
| }, | |
| "source": [ | |
| "{'PAYMENT':1,'TRANSFER':2,'CASH_OUT':3,'CASH_IN':4,'DEBIT':5}" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "id": "VB75WHM1JF8j" | |
| }, | |
| "source": [ | |
| "It is clear that the Fraudulent transactions are among the Transfer and Cash out transactions. Only two types of transactions are fraudulent" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "id": "tMsfmIkgDoTA" | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "df2=df.copy()" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "id": "RQUfyp-oOxpR" | |
| }, | |
| "source": [ | |
| "Removing all those contributions which do not contribute to a fraud" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "id": "0CYK1n_iJ06x" | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "df = df.drop(df[df['type'] == 1].index)\n", | |
| "df = df.drop(df[df['type'] == 4].index)\n", | |
| "df = df.drop(df[df['type'] == 5].index)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "colab": { | |
| "base_uri": "https://localhost:8080/", | |
| "height": 206 | |
| }, | |
| "id": "ztaVgbkEN677", | |
| "outputId": "558346e5-16cf-4b9e-ad9c-441d548abfef" | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/html": [ | |
| "\n", | |
| " <div id=\"df-2100021e-3d4c-4a69-816f-95e342820615\" 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>step</th>\n", | |
| " <th>type</th>\n", | |
| " <th>amount</th>\n", | |
| " <th>oldbalanceOrg</th>\n", | |
| " <th>newbalanceOrig</th>\n", | |
| " <th>oldbalanceDest</th>\n", | |
| " <th>newbalanceDest</th>\n", | |
| " <th>isFraud</th>\n", | |
| " </tr>\n", | |
| " </thead>\n", | |
| " <tbody>\n", | |
| " <tr>\n", | |
| " <th>5774894</th>\n", | |
| " <td>400</td>\n", | |
| " <td>2</td>\n", | |
| " <td>307161.86</td>\n", | |
| " <td>0.0</td>\n", | |
| " <td>0.0</td>\n", | |
| " <td>974551.18</td>\n", | |
| " <td>1281713.04</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>1059852</th>\n", | |
| " <td>119</td>\n", | |
| " <td>2</td>\n", | |
| " <td>2495.37</td>\n", | |
| " <td>0.0</td>\n", | |
| " <td>0.0</td>\n", | |
| " <td>810922.40</td>\n", | |
| " <td>813417.77</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>1126821</th>\n", | |
| " <td>131</td>\n", | |
| " <td>2</td>\n", | |
| " <td>507953.32</td>\n", | |
| " <td>0.0</td>\n", | |
| " <td>0.0</td>\n", | |
| " <td>2190855.92</td>\n", | |
| " <td>2728658.94</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2680670</th>\n", | |
| " <td>210</td>\n", | |
| " <td>3</td>\n", | |
| " <td>147178.76</td>\n", | |
| " <td>27590.0</td>\n", | |
| " <td>0.0</td>\n", | |
| " <td>190691.71</td>\n", | |
| " <td>337870.47</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>3240962</th>\n", | |
| " <td>250</td>\n", | |
| " <td>3</td>\n", | |
| " <td>168555.07</td>\n", | |
| " <td>0.0</td>\n", | |
| " <td>0.0</td>\n", | |
| " <td>378995.71</td>\n", | |
| " <td>547550.78</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| "</table>\n", | |
| "</div>\n", | |
| " <div class=\"colab-df-buttons\">\n", | |
| "\n", | |
| " <div class=\"colab-df-container\">\n", | |
| " <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-2100021e-3d4c-4a69-816f-95e342820615')\"\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 -960 960 960\">\n", | |
| " <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n", | |
| " </svg>\n", | |
| " </button>\n", | |
| "\n", | |
| " <style>\n", | |
| " .colab-df-container {\n", | |
| " display:flex;\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", | |
| " .colab-df-buttons div {\n", | |
| " margin-bottom: 4px;\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-2100021e-3d4c-4a69-816f-95e342820615 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-2100021e-3d4c-4a69-816f-95e342820615');\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", | |
| "\n", | |
| "\n", | |
| "<div id=\"df-eefe9c55-aaee-439e-9f9d-a7331935e64d\">\n", | |
| " <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-eefe9c55-aaee-439e-9f9d-a7331935e64d')\"\n", | |
| " title=\"Suggest charts.\"\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", | |
| " <g>\n", | |
| " <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n", | |
| " </g>\n", | |
| "</svg>\n", | |
| " </button>\n", | |
| "\n", | |
| "<style>\n", | |
| " .colab-df-quickchart {\n", | |
| " --bg-color: #E8F0FE;\n", | |
| " --fill-color: #1967D2;\n", | |
| " --hover-bg-color: #E2EBFA;\n", | |
| " --hover-fill-color: #174EA6;\n", | |
| " --disabled-fill-color: #AAA;\n", | |
| " --disabled-bg-color: #DDD;\n", | |
| " }\n", | |
| "\n", | |
| " [theme=dark] .colab-df-quickchart {\n", | |
| " --bg-color: #3B4455;\n", | |
| " --fill-color: #D2E3FC;\n", | |
| " --hover-bg-color: #434B5C;\n", | |
| " --hover-fill-color: #FFFFFF;\n", | |
| " --disabled-bg-color: #3B4455;\n", | |
| " --disabled-fill-color: #666;\n", | |
| " }\n", | |
| "\n", | |
| " .colab-df-quickchart {\n", | |
| " background-color: var(--bg-color);\n", | |
| " border: none;\n", | |
| " border-radius: 50%;\n", | |
| " cursor: pointer;\n", | |
| " display: none;\n", | |
| " fill: var(--fill-color);\n", | |
| " height: 32px;\n", | |
| " padding: 0;\n", | |
| " width: 32px;\n", | |
| " }\n", | |
| "\n", | |
| " .colab-df-quickchart:hover {\n", | |
| " background-color: var(--hover-bg-color);\n", | |
| " box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n", | |
| " fill: var(--button-hover-fill-color);\n", | |
| " }\n", | |
| "\n", | |
| " .colab-df-quickchart-complete:disabled,\n", | |
| " .colab-df-quickchart-complete:disabled:hover {\n", | |
| " background-color: var(--disabled-bg-color);\n", | |
| " fill: var(--disabled-fill-color);\n", | |
| " box-shadow: none;\n", | |
| " }\n", | |
| "\n", | |
| " .colab-df-spinner {\n", | |
| " border: 2px solid var(--fill-color);\n", | |
| " border-color: transparent;\n", | |
| " border-bottom-color: var(--fill-color);\n", | |
| " animation:\n", | |
| " spin 1s steps(1) infinite;\n", | |
| " }\n", | |
| "\n", | |
| " @keyframes spin {\n", | |
| " 0% {\n", | |
| " border-color: transparent;\n", | |
| " border-bottom-color: var(--fill-color);\n", | |
| " border-left-color: var(--fill-color);\n", | |
| " }\n", | |
| " 20% {\n", | |
| " border-color: transparent;\n", | |
| " border-left-color: var(--fill-color);\n", | |
| " border-top-color: var(--fill-color);\n", | |
| " }\n", | |
| " 30% {\n", | |
| " border-color: transparent;\n", | |
| " border-left-color: var(--fill-color);\n", | |
| " border-top-color: var(--fill-color);\n", | |
| " border-right-color: var(--fill-color);\n", | |
| " }\n", | |
| " 40% {\n", | |
| " border-color: transparent;\n", | |
| " border-right-color: var(--fill-color);\n", | |
| " border-top-color: var(--fill-color);\n", | |
| " }\n", | |
| " 60% {\n", | |
| " border-color: transparent;\n", | |
| " border-right-color: var(--fill-color);\n", | |
| " }\n", | |
| " 80% {\n", | |
| " border-color: transparent;\n", | |
| " border-right-color: var(--fill-color);\n", | |
| " border-bottom-color: var(--fill-color);\n", | |
| " }\n", | |
| " 90% {\n", | |
| " border-color: transparent;\n", | |
| " border-bottom-color: var(--fill-color);\n", | |
| " }\n", | |
| " }\n", | |
| "</style>\n", | |
| "\n", | |
| " <script>\n", | |
| " async function quickchart(key) {\n", | |
| " const quickchartButtonEl =\n", | |
| " document.querySelector('#' + key + ' button');\n", | |
| " quickchartButtonEl.disabled = true; // To prevent multiple clicks.\n", | |
| " quickchartButtonEl.classList.add('colab-df-spinner');\n", | |
| " try {\n", | |
| " const charts = await google.colab.kernel.invokeFunction(\n", | |
| " 'suggestCharts', [key], {});\n", | |
| " } catch (error) {\n", | |
| " console.error('Error during call to suggestCharts:', error);\n", | |
| " }\n", | |
| " quickchartButtonEl.classList.remove('colab-df-spinner');\n", | |
| " quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n", | |
| " }\n", | |
| " (() => {\n", | |
| " let quickchartButtonEl =\n", | |
| " document.querySelector('#df-eefe9c55-aaee-439e-9f9d-a7331935e64d button');\n", | |
| " quickchartButtonEl.style.display =\n", | |
| " google.colab.kernel.accessAllowed ? 'block' : 'none';\n", | |
| " })();\n", | |
| " </script>\n", | |
| "</div>\n", | |
| " </div>\n", | |
| " </div>\n" | |
| ], | |
| "text/plain": [ | |
| " step type amount oldbalanceOrg newbalanceOrig oldbalanceDest \\\n", | |
| "5774894 400 2 307161.86 0.0 0.0 974551.18 \n", | |
| "1059852 119 2 2495.37 0.0 0.0 810922.40 \n", | |
| "1126821 131 2 507953.32 0.0 0.0 2190855.92 \n", | |
| "2680670 210 3 147178.76 27590.0 0.0 190691.71 \n", | |
| "3240962 250 3 168555.07 0.0 0.0 378995.71 \n", | |
| "\n", | |
| " newbalanceDest isFraud \n", | |
| "5774894 1281713.04 0 \n", | |
| "1059852 813417.77 0 \n", | |
| "1126821 2728658.94 0 \n", | |
| "2680670 337870.47 0 \n", | |
| "3240962 547550.78 0 " | |
| ] | |
| }, | |
| "execution_count": 40, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "df.sample(5)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "id": "Qfdig9RYN8_J" | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "new=df.iloc[:,3]+df.iloc[:,4]" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "id": "NrJxtE2lWhlM" | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "df2=df.copy()" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "colab": { | |
| "base_uri": "https://localhost:8080/", | |
| "height": 206 | |
| }, | |
| "id": "AHeTOKlVWl8l", | |
| "outputId": "3fa83804-40b5-45a5-d041-edcb06fd1fad" | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/html": [ | |
| "\n", | |
| " <div id=\"df-d25fbc4e-1e79-41a8-8f89-151740eca5f8\" 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>step</th>\n", | |
| " <th>type</th>\n", | |
| " <th>amount</th>\n", | |
| " <th>oldbalanceOrg</th>\n", | |
| " <th>newbalanceOrig</th>\n", | |
| " <th>oldbalanceDest</th>\n", | |
| " <th>newbalanceDest</th>\n", | |
| " <th>isFraud</th>\n", | |
| " </tr>\n", | |
| " </thead>\n", | |
| " <tbody>\n", | |
| " <tr>\n", | |
| " <th>2</th>\n", | |
| " <td>1</td>\n", | |
| " <td>2</td>\n", | |
| " <td>181.00</td>\n", | |
| " <td>181.0</td>\n", | |
| " <td>0.0</td>\n", | |
| " <td>0.0</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>1</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>3</th>\n", | |
| " <td>1</td>\n", | |
| " <td>3</td>\n", | |
| " <td>181.00</td>\n", | |
| " <td>181.0</td>\n", | |
| " <td>0.0</td>\n", | |
| " <td>21182.0</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>1</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>15</th>\n", | |
| " <td>1</td>\n", | |
| " <td>3</td>\n", | |
| " <td>229133.94</td>\n", | |
| " <td>15325.0</td>\n", | |
| " <td>0.0</td>\n", | |
| " <td>5083.0</td>\n", | |
| " <td>51513.44</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>19</th>\n", | |
| " <td>1</td>\n", | |
| " <td>2</td>\n", | |
| " <td>215310.30</td>\n", | |
| " <td>705.0</td>\n", | |
| " <td>0.0</td>\n", | |
| " <td>22425.0</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>24</th>\n", | |
| " <td>1</td>\n", | |
| " <td>2</td>\n", | |
| " <td>311685.89</td>\n", | |
| " <td>10835.0</td>\n", | |
| " <td>0.0</td>\n", | |
| " <td>6267.0</td>\n", | |
| " <td>2719172.89</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| "</table>\n", | |
| "</div>\n", | |
| " <div class=\"colab-df-buttons\">\n", | |
| "\n", | |
| " <div class=\"colab-df-container\">\n", | |
| " <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-d25fbc4e-1e79-41a8-8f89-151740eca5f8')\"\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 -960 960 960\">\n", | |
| " <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n", | |
| " </svg>\n", | |
| " </button>\n", | |
| "\n", | |
| " <style>\n", | |
| " .colab-df-container {\n", | |
| " display:flex;\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", | |
| " .colab-df-buttons div {\n", | |
| " margin-bottom: 4px;\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-d25fbc4e-1e79-41a8-8f89-151740eca5f8 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-d25fbc4e-1e79-41a8-8f89-151740eca5f8');\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", | |
| "\n", | |
| "\n", | |
| "<div id=\"df-2a8717c2-0ed2-402f-bb36-41badb1744c9\">\n", | |
| " <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-2a8717c2-0ed2-402f-bb36-41badb1744c9')\"\n", | |
| " title=\"Suggest charts.\"\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", | |
| " <g>\n", | |
| " <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n", | |
| " </g>\n", | |
| "</svg>\n", | |
| " </button>\n", | |
| "\n", | |
| "<style>\n", | |
| " .colab-df-quickchart {\n", | |
| " --bg-color: #E8F0FE;\n", | |
| " --fill-color: #1967D2;\n", | |
| " --hover-bg-color: #E2EBFA;\n", | |
| " --hover-fill-color: #174EA6;\n", | |
| " --disabled-fill-color: #AAA;\n", | |
| " --disabled-bg-color: #DDD;\n", | |
| " }\n", | |
| "\n", | |
| " [theme=dark] .colab-df-quickchart {\n", | |
| " --bg-color: #3B4455;\n", | |
| " --fill-color: #D2E3FC;\n", | |
| " --hover-bg-color: #434B5C;\n", | |
| " --hover-fill-color: #FFFFFF;\n", | |
| " --disabled-bg-color: #3B4455;\n", | |
| " --disabled-fill-color: #666;\n", | |
| " }\n", | |
| "\n", | |
| " .colab-df-quickchart {\n", | |
| " background-color: var(--bg-color);\n", | |
| " border: none;\n", | |
| " border-radius: 50%;\n", | |
| " cursor: pointer;\n", | |
| " display: none;\n", | |
| " fill: var(--fill-color);\n", | |
| " height: 32px;\n", | |
| " padding: 0;\n", | |
| " width: 32px;\n", | |
| " }\n", | |
| "\n", | |
| " .colab-df-quickchart:hover {\n", | |
| " background-color: var(--hover-bg-color);\n", | |
| " box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n", | |
| " fill: var(--button-hover-fill-color);\n", | |
| " }\n", | |
| "\n", | |
| " .colab-df-quickchart-complete:disabled,\n", | |
| " .colab-df-quickchart-complete:disabled:hover {\n", | |
| " background-color: var(--disabled-bg-color);\n", | |
| " fill: var(--disabled-fill-color);\n", | |
| " box-shadow: none;\n", | |
| " }\n", | |
| "\n", | |
| " .colab-df-spinner {\n", | |
| " border: 2px solid var(--fill-color);\n", | |
| " border-color: transparent;\n", | |
| " border-bottom-color: var(--fill-color);\n", | |
| " animation:\n", | |
| " spin 1s steps(1) infinite;\n", | |
| " }\n", | |
| "\n", | |
| " @keyframes spin {\n", | |
| " 0% {\n", | |
| " border-color: transparent;\n", | |
| " border-bottom-color: var(--fill-color);\n", | |
| " border-left-color: var(--fill-color);\n", | |
| " }\n", | |
| " 20% {\n", | |
| " border-color: transparent;\n", | |
| " border-left-color: var(--fill-color);\n", | |
| " border-top-color: var(--fill-color);\n", | |
| " }\n", | |
| " 30% {\n", | |
| " border-color: transparent;\n", | |
| " border-left-color: var(--fill-color);\n", | |
| " border-top-color: var(--fill-color);\n", | |
| " border-right-color: var(--fill-color);\n", | |
| " }\n", | |
| " 40% {\n", | |
| " border-color: transparent;\n", | |
| " border-right-color: var(--fill-color);\n", | |
| " border-top-color: var(--fill-color);\n", | |
| " }\n", | |
| " 60% {\n", | |
| " border-color: transparent;\n", | |
| " border-right-color: var(--fill-color);\n", | |
| " }\n", | |
| " 80% {\n", | |
| " border-color: transparent;\n", | |
| " border-right-color: var(--fill-color);\n", | |
| " border-bottom-color: var(--fill-color);\n", | |
| " }\n", | |
| " 90% {\n", | |
| " border-color: transparent;\n", | |
| " border-bottom-color: var(--fill-color);\n", | |
| " }\n", | |
| " }\n", | |
| "</style>\n", | |
| "\n", | |
| " <script>\n", | |
| " async function quickchart(key) {\n", | |
| " const quickchartButtonEl =\n", | |
| " document.querySelector('#' + key + ' button');\n", | |
| " quickchartButtonEl.disabled = true; // To prevent multiple clicks.\n", | |
| " quickchartButtonEl.classList.add('colab-df-spinner');\n", | |
| " try {\n", | |
| " const charts = await google.colab.kernel.invokeFunction(\n", | |
| " 'suggestCharts', [key], {});\n", | |
| " } catch (error) {\n", | |
| " console.error('Error during call to suggestCharts:', error);\n", | |
| " }\n", | |
| " quickchartButtonEl.classList.remove('colab-df-spinner');\n", | |
| " quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n", | |
| " }\n", | |
| " (() => {\n", | |
| " let quickchartButtonEl =\n", | |
| " document.querySelector('#df-2a8717c2-0ed2-402f-bb36-41badb1744c9 button');\n", | |
| " quickchartButtonEl.style.display =\n", | |
| " google.colab.kernel.accessAllowed ? 'block' : 'none';\n", | |
| " })();\n", | |
| " </script>\n", | |
| "</div>\n", | |
| " </div>\n", | |
| " </div>\n" | |
| ], | |
| "text/plain": [ | |
| " step type amount oldbalanceOrg newbalanceOrig oldbalanceDest \\\n", | |
| "2 1 2 181.00 181.0 0.0 0.0 \n", | |
| "3 1 3 181.00 181.0 0.0 21182.0 \n", | |
| "15 1 3 229133.94 15325.0 0.0 5083.0 \n", | |
| "19 1 2 215310.30 705.0 0.0 22425.0 \n", | |
| "24 1 2 311685.89 10835.0 0.0 6267.0 \n", | |
| "\n", | |
| " newbalanceDest isFraud \n", | |
| "2 0.00 1 \n", | |
| "3 0.00 1 \n", | |
| "15 51513.44 0 \n", | |
| "19 0.00 0 \n", | |
| "24 2719172.89 0 " | |
| ] | |
| }, | |
| "execution_count": 48, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "df2.head()" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "id": "aHF00JItXMCM" | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "df2['oldbalanceOrg']=(df2['oldbalanceOrg']+df2['newbalanceOrig'])/2" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "colab": { | |
| "base_uri": "https://localhost:8080/", | |
| "height": 206 | |
| }, | |
| "id": "XvXbhqMCXkUE", | |
| "outputId": "9d10bcc3-6b91-48f3-f334-e61bf38042eb" | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/html": [ | |
| "\n", | |
| " <div id=\"df-50baf5e1-a3e2-402a-8eb8-153659839e5f\" 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>step</th>\n", | |
| " <th>type</th>\n", | |
| " <th>amount</th>\n", | |
| " <th>oldbalanceOrg</th>\n", | |
| " <th>newbalanceOrig</th>\n", | |
| " <th>oldbalanceDest</th>\n", | |
| " <th>newbalanceDest</th>\n", | |
| " <th>isFraud</th>\n", | |
| " </tr>\n", | |
| " </thead>\n", | |
| " <tbody>\n", | |
| " <tr>\n", | |
| " <th>2</th>\n", | |
| " <td>1</td>\n", | |
| " <td>2</td>\n", | |
| " <td>181.00</td>\n", | |
| " <td>90.5</td>\n", | |
| " <td>0.0</td>\n", | |
| " <td>0.0</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>1</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>3</th>\n", | |
| " <td>1</td>\n", | |
| " <td>3</td>\n", | |
| " <td>181.00</td>\n", | |
| " <td>90.5</td>\n", | |
| " <td>0.0</td>\n", | |
| " <td>21182.0</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>1</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>15</th>\n", | |
| " <td>1</td>\n", | |
| " <td>3</td>\n", | |
| " <td>229133.94</td>\n", | |
| " <td>7662.5</td>\n", | |
| " <td>0.0</td>\n", | |
| " <td>5083.0</td>\n", | |
| " <td>51513.44</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>19</th>\n", | |
| " <td>1</td>\n", | |
| " <td>2</td>\n", | |
| " <td>215310.30</td>\n", | |
| " <td>352.5</td>\n", | |
| " <td>0.0</td>\n", | |
| " <td>22425.0</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>24</th>\n", | |
| " <td>1</td>\n", | |
| " <td>2</td>\n", | |
| " <td>311685.89</td>\n", | |
| " <td>5417.5</td>\n", | |
| " <td>0.0</td>\n", | |
| " <td>6267.0</td>\n", | |
| " <td>2719172.89</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| "</table>\n", | |
| "</div>\n", | |
| " <div class=\"colab-df-buttons\">\n", | |
| "\n", | |
| " <div class=\"colab-df-container\">\n", | |
| " <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-50baf5e1-a3e2-402a-8eb8-153659839e5f')\"\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 -960 960 960\">\n", | |
| " <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n", | |
| " </svg>\n", | |
| " </button>\n", | |
| "\n", | |
| " <style>\n", | |
| " .colab-df-container {\n", | |
| " display:flex;\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", | |
| " .colab-df-buttons div {\n", | |
| " margin-bottom: 4px;\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-50baf5e1-a3e2-402a-8eb8-153659839e5f 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-50baf5e1-a3e2-402a-8eb8-153659839e5f');\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", | |
| "\n", | |
| "\n", | |
| "<div id=\"df-168729e6-0faf-4b91-9686-1e3d58b3b556\">\n", | |
| " <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-168729e6-0faf-4b91-9686-1e3d58b3b556')\"\n", | |
| " title=\"Suggest charts.\"\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", | |
| " <g>\n", | |
| " <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n", | |
| " </g>\n", | |
| "</svg>\n", | |
| " </button>\n", | |
| "\n", | |
| "<style>\n", | |
| " .colab-df-quickchart {\n", | |
| " --bg-color: #E8F0FE;\n", | |
| " --fill-color: #1967D2;\n", | |
| " --hover-bg-color: #E2EBFA;\n", | |
| " --hover-fill-color: #174EA6;\n", | |
| " --disabled-fill-color: #AAA;\n", | |
| " --disabled-bg-color: #DDD;\n", | |
| " }\n", | |
| "\n", | |
| " [theme=dark] .colab-df-quickchart {\n", | |
| " --bg-color: #3B4455;\n", | |
| " --fill-color: #D2E3FC;\n", | |
| " --hover-bg-color: #434B5C;\n", | |
| " --hover-fill-color: #FFFFFF;\n", | |
| " --disabled-bg-color: #3B4455;\n", | |
| " --disabled-fill-color: #666;\n", | |
| " }\n", | |
| "\n", | |
| " .colab-df-quickchart {\n", | |
| " background-color: var(--bg-color);\n", | |
| " border: none;\n", | |
| " border-radius: 50%;\n", | |
| " cursor: pointer;\n", | |
| " display: none;\n", | |
| " fill: var(--fill-color);\n", | |
| " height: 32px;\n", | |
| " padding: 0;\n", | |
| " width: 32px;\n", | |
| " }\n", | |
| "\n", | |
| " .colab-df-quickchart:hover {\n", | |
| " background-color: var(--hover-bg-color);\n", | |
| " box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n", | |
| " fill: var(--button-hover-fill-color);\n", | |
| " }\n", | |
| "\n", | |
| " .colab-df-quickchart-complete:disabled,\n", | |
| " .colab-df-quickchart-complete:disabled:hover {\n", | |
| " background-color: var(--disabled-bg-color);\n", | |
| " fill: var(--disabled-fill-color);\n", | |
| " box-shadow: none;\n", | |
| " }\n", | |
| "\n", | |
| " .colab-df-spinner {\n", | |
| " border: 2px solid var(--fill-color);\n", | |
| " border-color: transparent;\n", | |
| " border-bottom-color: var(--fill-color);\n", | |
| " animation:\n", | |
| " spin 1s steps(1) infinite;\n", | |
| " }\n", | |
| "\n", | |
| " @keyframes spin {\n", | |
| " 0% {\n", | |
| " border-color: transparent;\n", | |
| " border-bottom-color: var(--fill-color);\n", | |
| " border-left-color: var(--fill-color);\n", | |
| " }\n", | |
| " 20% {\n", | |
| " border-color: transparent;\n", | |
| " border-left-color: var(--fill-color);\n", | |
| " border-top-color: var(--fill-color);\n", | |
| " }\n", | |
| " 30% {\n", | |
| " border-color: transparent;\n", | |
| " border-left-color: var(--fill-color);\n", | |
| " border-top-color: var(--fill-color);\n", | |
| " border-right-color: var(--fill-color);\n", | |
| " }\n", | |
| " 40% {\n", | |
| " border-color: transparent;\n", | |
| " border-right-color: var(--fill-color);\n", | |
| " border-top-color: var(--fill-color);\n", | |
| " }\n", | |
| " 60% {\n", | |
| " border-color: transparent;\n", | |
| " border-right-color: var(--fill-color);\n", | |
| " }\n", | |
| " 80% {\n", | |
| " border-color: transparent;\n", | |
| " border-right-color: var(--fill-color);\n", | |
| " border-bottom-color: var(--fill-color);\n", | |
| " }\n", | |
| " 90% {\n", | |
| " border-color: transparent;\n", | |
| " border-bottom-color: var(--fill-color);\n", | |
| " }\n", | |
| " }\n", | |
| "</style>\n", | |
| "\n", | |
| " <script>\n", | |
| " async function quickchart(key) {\n", | |
| " const quickchartButtonEl =\n", | |
| " document.querySelector('#' + key + ' button');\n", | |
| " quickchartButtonEl.disabled = true; // To prevent multiple clicks.\n", | |
| " quickchartButtonEl.classList.add('colab-df-spinner');\n", | |
| " try {\n", | |
| " const charts = await google.colab.kernel.invokeFunction(\n", | |
| " 'suggestCharts', [key], {});\n", | |
| " } catch (error) {\n", | |
| " console.error('Error during call to suggestCharts:', error);\n", | |
| " }\n", | |
| " quickchartButtonEl.classList.remove('colab-df-spinner');\n", | |
| " quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n", | |
| " }\n", | |
| " (() => {\n", | |
| " let quickchartButtonEl =\n", | |
| " document.querySelector('#df-168729e6-0faf-4b91-9686-1e3d58b3b556 button');\n", | |
| " quickchartButtonEl.style.display =\n", | |
| " google.colab.kernel.accessAllowed ? 'block' : 'none';\n", | |
| " })();\n", | |
| " </script>\n", | |
| "</div>\n", | |
| " </div>\n", | |
| " </div>\n" | |
| ], | |
| "text/plain": [ | |
| " step type amount oldbalanceOrg newbalanceOrig oldbalanceDest \\\n", | |
| "2 1 2 181.00 90.5 0.0 0.0 \n", | |
| "3 1 3 181.00 90.5 0.0 21182.0 \n", | |
| "15 1 3 229133.94 7662.5 0.0 5083.0 \n", | |
| "19 1 2 215310.30 352.5 0.0 22425.0 \n", | |
| "24 1 2 311685.89 5417.5 0.0 6267.0 \n", | |
| "\n", | |
| " newbalanceDest isFraud \n", | |
| "2 0.00 1 \n", | |
| "3 0.00 1 \n", | |
| "15 51513.44 0 \n", | |
| "19 0.00 0 \n", | |
| "24 2719172.89 0 " | |
| ] | |
| }, | |
| "execution_count": 52, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "df2.head()" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "id": "-e7z5L7fX8wd" | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "df2.drop(['newbalanceOrig'],axis=1,inplace=True)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "colab": { | |
| "base_uri": "https://localhost:8080/", | |
| "height": 206 | |
| }, | |
| "id": "iFPN-jQ6YPx0", | |
| "outputId": "8d5d0bb3-f7c4-4d61-f2a7-50ea4b63039e" | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/html": [ | |
| "\n", | |
| " <div id=\"df-64e652b6-550e-4457-aea7-c38f7986a206\" 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>step</th>\n", | |
| " <th>type</th>\n", | |
| " <th>amount</th>\n", | |
| " <th>oldbalanceOrg</th>\n", | |
| " <th>oldbalanceDest</th>\n", | |
| " <th>newbalanceDest</th>\n", | |
| " <th>isFraud</th>\n", | |
| " </tr>\n", | |
| " </thead>\n", | |
| " <tbody>\n", | |
| " <tr>\n", | |
| " <th>2</th>\n", | |
| " <td>1</td>\n", | |
| " <td>2</td>\n", | |
| " <td>181.00</td>\n", | |
| " <td>90.5</td>\n", | |
| " <td>0.0</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>1</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>3</th>\n", | |
| " <td>1</td>\n", | |
| " <td>3</td>\n", | |
| " <td>181.00</td>\n", | |
| " <td>90.5</td>\n", | |
| " <td>21182.0</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>1</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>15</th>\n", | |
| " <td>1</td>\n", | |
| " <td>3</td>\n", | |
| " <td>229133.94</td>\n", | |
| " <td>7662.5</td>\n", | |
| " <td>5083.0</td>\n", | |
| " <td>51513.44</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>19</th>\n", | |
| " <td>1</td>\n", | |
| " <td>2</td>\n", | |
| " <td>215310.30</td>\n", | |
| " <td>352.5</td>\n", | |
| " <td>22425.0</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>24</th>\n", | |
| " <td>1</td>\n", | |
| " <td>2</td>\n", | |
| " <td>311685.89</td>\n", | |
| " <td>5417.5</td>\n", | |
| " <td>6267.0</td>\n", | |
| " <td>2719172.89</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| "</table>\n", | |
| "</div>\n", | |
| " <div class=\"colab-df-buttons\">\n", | |
| "\n", | |
| " <div class=\"colab-df-container\">\n", | |
| " <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-64e652b6-550e-4457-aea7-c38f7986a206')\"\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 -960 960 960\">\n", | |
| " <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n", | |
| " </svg>\n", | |
| " </button>\n", | |
| "\n", | |
| " <style>\n", | |
| " .colab-df-container {\n", | |
| " display:flex;\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", | |
| " .colab-df-buttons div {\n", | |
| " margin-bottom: 4px;\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-64e652b6-550e-4457-aea7-c38f7986a206 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-64e652b6-550e-4457-aea7-c38f7986a206');\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", | |
| "\n", | |
| "\n", | |
| "<div id=\"df-9c27649e-cff6-430d-9de8-718c93e2ceaf\">\n", | |
| " <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-9c27649e-cff6-430d-9de8-718c93e2ceaf')\"\n", | |
| " title=\"Suggest charts.\"\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", | |
| " <g>\n", | |
| " <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n", | |
| " </g>\n", | |
| "</svg>\n", | |
| " </button>\n", | |
| "\n", | |
| "<style>\n", | |
| " .colab-df-quickchart {\n", | |
| " --bg-color: #E8F0FE;\n", | |
| " --fill-color: #1967D2;\n", | |
| " --hover-bg-color: #E2EBFA;\n", | |
| " --hover-fill-color: #174EA6;\n", | |
| " --disabled-fill-color: #AAA;\n", | |
| " --disabled-bg-color: #DDD;\n", | |
| " }\n", | |
| "\n", | |
| " [theme=dark] .colab-df-quickchart {\n", | |
| " --bg-color: #3B4455;\n", | |
| " --fill-color: #D2E3FC;\n", | |
| " --hover-bg-color: #434B5C;\n", | |
| " --hover-fill-color: #FFFFFF;\n", | |
| " --disabled-bg-color: #3B4455;\n", | |
| " --disabled-fill-color: #666;\n", | |
| " }\n", | |
| "\n", | |
| " .colab-df-quickchart {\n", | |
| " background-color: var(--bg-color);\n", | |
| " border: none;\n", | |
| " border-radius: 50%;\n", | |
| " cursor: pointer;\n", | |
| " display: none;\n", | |
| " fill: var(--fill-color);\n", | |
| " height: 32px;\n", | |
| " padding: 0;\n", | |
| " width: 32px;\n", | |
| " }\n", | |
| "\n", | |
| " .colab-df-quickchart:hover {\n", | |
| " background-color: var(--hover-bg-color);\n", | |
| " box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n", | |
| " fill: var(--button-hover-fill-color);\n", | |
| " }\n", | |
| "\n", | |
| " .colab-df-quickchart-complete:disabled,\n", | |
| " .colab-df-quickchart-complete:disabled:hover {\n", | |
| " background-color: var(--disabled-bg-color);\n", | |
| " fill: var(--disabled-fill-color);\n", | |
| " box-shadow: none;\n", | |
| " }\n", | |
| "\n", | |
| " .colab-df-spinner {\n", | |
| " border: 2px solid var(--fill-color);\n", | |
| " border-color: transparent;\n", | |
| " border-bottom-color: var(--fill-color);\n", | |
| " animation:\n", | |
| " spin 1s steps(1) infinite;\n", | |
| " }\n", | |
| "\n", | |
| " @keyframes spin {\n", | |
| " 0% {\n", | |
| " border-color: transparent;\n", | |
| " border-bottom-color: var(--fill-color);\n", | |
| " border-left-color: var(--fill-color);\n", | |
| " }\n", | |
| " 20% {\n", | |
| " border-color: transparent;\n", | |
| " border-left-color: var(--fill-color);\n", | |
| " border-top-color: var(--fill-color);\n", | |
| " }\n", | |
| " 30% {\n", | |
| " border-color: transparent;\n", | |
| " border-left-color: var(--fill-color);\n", | |
| " border-top-color: var(--fill-color);\n", | |
| " border-right-color: var(--fill-color);\n", | |
| " }\n", | |
| " 40% {\n", | |
| " border-color: transparent;\n", | |
| " border-right-color: var(--fill-color);\n", | |
| " border-top-color: var(--fill-color);\n", | |
| " }\n", | |
| " 60% {\n", | |
| " border-color: transparent;\n", | |
| " border-right-color: var(--fill-color);\n", | |
| " }\n", | |
| " 80% {\n", | |
| " border-color: transparent;\n", | |
| " border-right-color: var(--fill-color);\n", | |
| " border-bottom-color: var(--fill-color);\n", | |
| " }\n", | |
| " 90% {\n", | |
| " border-color: transparent;\n", | |
| " border-bottom-color: var(--fill-color);\n", | |
| " }\n", | |
| " }\n", | |
| "</style>\n", | |
| "\n", | |
| " <script>\n", | |
| " async function quickchart(key) {\n", | |
| " const quickchartButtonEl =\n", | |
| " document.querySelector('#' + key + ' button');\n", | |
| " quickchartButtonEl.disabled = true; // To prevent multiple clicks.\n", | |
| " quickchartButtonEl.classList.add('colab-df-spinner');\n", | |
| " try {\n", | |
| " const charts = await google.colab.kernel.invokeFunction(\n", | |
| " 'suggestCharts', [key], {});\n", | |
| " } catch (error) {\n", | |
| " console.error('Error during call to suggestCharts:', error);\n", | |
| " }\n", | |
| " quickchartButtonEl.classList.remove('colab-df-spinner');\n", | |
| " quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n", | |
| " }\n", | |
| " (() => {\n", | |
| " let quickchartButtonEl =\n", | |
| " document.querySelector('#df-9c27649e-cff6-430d-9de8-718c93e2ceaf button');\n", | |
| " quickchartButtonEl.style.display =\n", | |
| " google.colab.kernel.accessAllowed ? 'block' : 'none';\n", | |
| " })();\n", | |
| " </script>\n", | |
| "</div>\n", | |
| " </div>\n", | |
| " </div>\n" | |
| ], | |
| "text/plain": [ | |
| " step type amount oldbalanceOrg oldbalanceDest newbalanceDest \\\n", | |
| "2 1 2 181.00 90.5 0.0 0.00 \n", | |
| "3 1 3 181.00 90.5 21182.0 0.00 \n", | |
| "15 1 3 229133.94 7662.5 5083.0 51513.44 \n", | |
| "19 1 2 215310.30 352.5 22425.0 0.00 \n", | |
| "24 1 2 311685.89 5417.5 6267.0 2719172.89 \n", | |
| "\n", | |
| " isFraud \n", | |
| "2 1 \n", | |
| "3 1 \n", | |
| "15 0 \n", | |
| "19 0 \n", | |
| "24 0 " | |
| ] | |
| }, | |
| "execution_count": 56, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "df2.head()" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "id": "9PJiu0hKZc0B" | |
| }, | |
| "source": [ | |
| "We are averaging all the correlated values and removing the redundant ones" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "id": "yJ4_y2jKYRrK" | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "df2['oldbalanceDest']=(df2['oldbalanceDest']+df2['newbalanceDest'])/2" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "colab": { | |
| "base_uri": "https://localhost:8080/", | |
| "height": 206 | |
| }, | |
| "id": "B2ZHCzG0Z3m5", | |
| "outputId": "51d1d6bf-9fb8-44a2-d09c-73bf10282d8e" | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/html": [ | |
| "\n", | |
| " <div id=\"df-d4dd5424-7873-4248-b6d6-97c3fe671ea8\" 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>type</th>\n", | |
| " <th>amount</th>\n", | |
| " <th>oldbalanceOrg</th>\n", | |
| " <th>oldbalanceDest</th>\n", | |
| " <th>isFraud</th>\n", | |
| " </tr>\n", | |
| " </thead>\n", | |
| " <tbody>\n", | |
| " <tr>\n", | |
| " <th>2</th>\n", | |
| " <td>2</td>\n", | |
| " <td>181.00</td>\n", | |
| " <td>90.5</td>\n", | |
| " <td>0.000</td>\n", | |
| " <td>1</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>3</th>\n", | |
| " <td>3</td>\n", | |
| " <td>181.00</td>\n", | |
| " <td>90.5</td>\n", | |
| " <td>10591.000</td>\n", | |
| " <td>1</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>15</th>\n", | |
| " <td>3</td>\n", | |
| " <td>229133.94</td>\n", | |
| " <td>7662.5</td>\n", | |
| " <td>28298.220</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>19</th>\n", | |
| " <td>2</td>\n", | |
| " <td>215310.30</td>\n", | |
| " <td>352.5</td>\n", | |
| " <td>11212.500</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>24</th>\n", | |
| " <td>2</td>\n", | |
| " <td>311685.89</td>\n", | |
| " <td>5417.5</td>\n", | |
| " <td>1362719.945</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| "</table>\n", | |
| "</div>\n", | |
| " <div class=\"colab-df-buttons\">\n", | |
| "\n", | |
| " <div class=\"colab-df-container\">\n", | |
| " <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-d4dd5424-7873-4248-b6d6-97c3fe671ea8')\"\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 -960 960 960\">\n", | |
| " <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n", | |
| " </svg>\n", | |
| " </button>\n", | |
| "\n", | |
| " <style>\n", | |
| " .colab-df-container {\n", | |
| " display:flex;\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", | |
| " .colab-df-buttons div {\n", | |
| " margin-bottom: 4px;\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-d4dd5424-7873-4248-b6d6-97c3fe671ea8 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-d4dd5424-7873-4248-b6d6-97c3fe671ea8');\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", | |
| "\n", | |
| "\n", | |
| "<div id=\"df-8ab3dcdf-61fc-462e-99e2-013c62cf48bc\">\n", | |
| " <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-8ab3dcdf-61fc-462e-99e2-013c62cf48bc')\"\n", | |
| " title=\"Suggest charts.\"\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", | |
| " <g>\n", | |
| " <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n", | |
| " </g>\n", | |
| "</svg>\n", | |
| " </button>\n", | |
| "\n", | |
| "<style>\n", | |
| " .colab-df-quickchart {\n", | |
| " --bg-color: #E8F0FE;\n", | |
| " --fill-color: #1967D2;\n", | |
| " --hover-bg-color: #E2EBFA;\n", | |
| " --hover-fill-color: #174EA6;\n", | |
| " --disabled-fill-color: #AAA;\n", | |
| " --disabled-bg-color: #DDD;\n", | |
| " }\n", | |
| "\n", | |
| " [theme=dark] .colab-df-quickchart {\n", | |
| " --bg-color: #3B4455;\n", | |
| " --fill-color: #D2E3FC;\n", | |
| " --hover-bg-color: #434B5C;\n", | |
| " --hover-fill-color: #FFFFFF;\n", | |
| " --disabled-bg-color: #3B4455;\n", | |
| " --disabled-fill-color: #666;\n", | |
| " }\n", | |
| "\n", | |
| " .colab-df-quickchart {\n", | |
| " background-color: var(--bg-color);\n", | |
| " border: none;\n", | |
| " border-radius: 50%;\n", | |
| " cursor: pointer;\n", | |
| " display: none;\n", | |
| " fill: var(--fill-color);\n", | |
| " height: 32px;\n", | |
| " padding: 0;\n", | |
| " width: 32px;\n", | |
| " }\n", | |
| "\n", | |
| " .colab-df-quickchart:hover {\n", | |
| " background-color: var(--hover-bg-color);\n", | |
| " box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n", | |
| " fill: var(--button-hover-fill-color);\n", | |
| " }\n", | |
| "\n", | |
| " .colab-df-quickchart-complete:disabled,\n", | |
| " .colab-df-quickchart-complete:disabled:hover {\n", | |
| " background-color: var(--disabled-bg-color);\n", | |
| " fill: var(--disabled-fill-color);\n", | |
| " box-shadow: none;\n", | |
| " }\n", | |
| "\n", | |
| " .colab-df-spinner {\n", | |
| " border: 2px solid var(--fill-color);\n", | |
| " border-color: transparent;\n", | |
| " border-bottom-color: var(--fill-color);\n", | |
| " animation:\n", | |
| " spin 1s steps(1) infinite;\n", | |
| " }\n", | |
| "\n", | |
| " @keyframes spin {\n", | |
| " 0% {\n", | |
| " border-color: transparent;\n", | |
| " border-bottom-color: var(--fill-color);\n", | |
| " border-left-color: var(--fill-color);\n", | |
| " }\n", | |
| " 20% {\n", | |
| " border-color: transparent;\n", | |
| " border-left-color: var(--fill-color);\n", | |
| " border-top-color: var(--fill-color);\n", | |
| " }\n", | |
| " 30% {\n", | |
| " border-color: transparent;\n", | |
| " border-left-color: var(--fill-color);\n", | |
| " border-top-color: var(--fill-color);\n", | |
| " border-right-color: var(--fill-color);\n", | |
| " }\n", | |
| " 40% {\n", | |
| " border-color: transparent;\n", | |
| " border-right-color: var(--fill-color);\n", | |
| " border-top-color: var(--fill-color);\n", | |
| " }\n", | |
| " 60% {\n", | |
| " border-color: transparent;\n", | |
| " border-right-color: var(--fill-color);\n", | |
| " }\n", | |
| " 80% {\n", | |
| " border-color: transparent;\n", | |
| " border-right-color: var(--fill-color);\n", | |
| " border-bottom-color: var(--fill-color);\n", | |
| " }\n", | |
| " 90% {\n", | |
| " border-color: transparent;\n", | |
| " border-bottom-color: var(--fill-color);\n", | |
| " }\n", | |
| " }\n", | |
| "</style>\n", | |
| "\n", | |
| " <script>\n", | |
| " async function quickchart(key) {\n", | |
| " const quickchartButtonEl =\n", | |
| " document.querySelector('#' + key + ' button');\n", | |
| " quickchartButtonEl.disabled = true; // To prevent multiple clicks.\n", | |
| " quickchartButtonEl.classList.add('colab-df-spinner');\n", | |
| " try {\n", | |
| " const charts = await google.colab.kernel.invokeFunction(\n", | |
| " 'suggestCharts', [key], {});\n", | |
| " } catch (error) {\n", | |
| " console.error('Error during call to suggestCharts:', error);\n", | |
| " }\n", | |
| " quickchartButtonEl.classList.remove('colab-df-spinner');\n", | |
| " quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n", | |
| " }\n", | |
| " (() => {\n", | |
| " let quickchartButtonEl =\n", | |
| " document.querySelector('#df-8ab3dcdf-61fc-462e-99e2-013c62cf48bc button');\n", | |
| " quickchartButtonEl.style.display =\n", | |
| " google.colab.kernel.accessAllowed ? 'block' : 'none';\n", | |
| " })();\n", | |
| " </script>\n", | |
| "</div>\n", | |
| " </div>\n", | |
| " </div>\n" | |
| ], | |
| "text/plain": [ | |
| " type amount oldbalanceOrg oldbalanceDest isFraud\n", | |
| "2 2 181.00 90.5 0.000 1\n", | |
| "3 3 181.00 90.5 10591.000 1\n", | |
| "15 3 229133.94 7662.5 28298.220 0\n", | |
| "19 2 215310.30 352.5 11212.500 0\n", | |
| "24 2 311685.89 5417.5 1362719.945 0" | |
| ] | |
| }, | |
| "execution_count": 65, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "df2.head()" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "id": "vumRKvchZ4ve" | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "df2.drop(['newbalanceDest'],axis=1,inplace=True)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "id": "vPqre8uzbeu6" | |
| }, | |
| "source": [ | |
| "Actually step is also logically unnecassary" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "id": "TPaYuWYabiBC" | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "df2.drop(['step'],axis=1,inplace=True)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "id": "Y6b9Z-3UcAXy" | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "y = df2[['isFraud']]\n", | |
| "X = df2.drop(['isFraud'],axis=1)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "id": "RO7ncKrYcEA8" | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "train_X, test_X, train_y, test_y = train_test_split(X, y, test_size = 0.2, random_state = 121)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "id": "-lHUZFOKcc_K" | |
| }, | |
| "source": [ | |
| "We will now apply the lessons learn't from our previous experiments on the raw data" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "id": "-3pWb1eEcWiV" | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "clf1 = RandomForestClassifier(n_estimators=10)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "id": "8TFs0-hhccKL" | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "probabilities = clf1.fit(train_X, train_y.values.ravel()).predict(test_X)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "colab": { | |
| "base_uri": "https://localhost:8080/" | |
| }, | |
| "id": "Agp3zJ6NdKZK", | |
| "outputId": "21f5a097-1d8f-459b-87e9-39f8775a1e8e" | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "0.7256710801241542\n", | |
| "0.8768268835457358\n", | |
| "0.9992004793514317\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| " print(average_precision_score(test_y,probabilities))\n", | |
| " print(recall_score(test_y,probabilities, average='macro'))\n", | |
| " print(accuracy_score(test_y,probabilities))" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "id": "sxOhEq6mdsy6" | |
| }, | |
| "source": [ | |
| "The results are similar to the ones we applied to the raw data earlier. However, there is a slight improvement and more importantly, computational time is reduced to a considerable extent. So clearly, we have removed unncessary data. Ths is our final result" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "id": "HaAG7a2rd5zT" | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "probabilitiest = clf1.fit(train_X, train_y.values.ravel()).predict(train_X)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "colab": { | |
| "base_uri": "https://localhost:8080/" | |
| }, | |
| "id": "BCHBB8zuew7P", | |
| "outputId": "5d826387-30bf-4633-d25b-06d935846b93" | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "0.9547410553377302\n", | |
| "0.9776808174915346\n", | |
| "0.9998646409126452\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| " print(average_precision_score(train_y,probabilitiest))\n", | |
| " print(recall_score(train_y,probabilitiest, average='macro'))\n", | |
| " print(accuracy_score(train_y,probabilitiest))" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "id": "Yde-Su7Ie91s" | |
| }, | |
| "source": [ | |
| "Now we are suffering from a problem of only slight overfitting, in the case of precision, However, in the case of recall the difference between the training and test case is moderate and indicated ambient training (neither overfitting nor underfitting). It is clear that over data cleanup of removing redundant and unncecarry information has impvoed Machine learnign performance to a great extent. Perhaps with further tuning, we can improve the performance!" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "id": "X_7gT84nrDVe" | |
| }, | |
| "source": [ | |
| "1. Data cleaning including missing values, outliers and multi-collinearity.\n", | |
| "\n", | |
| "Missing Values: There were no missing values or 'Nan' hence data cleaning did not take much of an effort. However, we have removed redundant columns: 'step' and 'IsFlaggedFraud'.\n", | |
| "\n", | |
| "Outliers: As indicated by the graph above, only 'Tranfer' abd 'Cash out' has contributes to fraud, so we are removing all other types. This contributes to improvement in machine learning parameters and keep the overall process cogent.\n", | |
| "\n", | |
| "Multicollinearity: The balance transfer columns have shown considerable correlation as we have seen through the Pearson correlation coefficient. We are averaging them and eliminating the redundant column. This has demonstrated computational efficiency and has evidenced some positive changes in training parameters." | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "id": "uiLYoSHTsQY0" | |
| }, | |
| "source": [ | |
| "2. Describe your fraud detection model in elaboration.\n", | |
| "\n", | |
| "We use the Random forests ML algorithm, they are ensemble decision trees which use multitude of descision trees during the training phase, they deal with the overfitting charactersistics of basic decision trees. They create a multitude of descision trees and select the descisions through voting.\n", | |
| "\n", | |
| "We are using a random forest algorithm to detect fraud. Random forest algorithms are good with data with unbalanced data. There are many zeros in the data. After several trails and errors of both the input parameters in like number of estimators and error detection index, we have obtained good results with respect to minimal overfitting. We are using a total of 10 estimators. The difference between evaluation metrics on the training data and test data is minimal when we use around 10 estimators. We observe the performance metrics: precision, recall and accuracy are better when we use 'cleaned' data rather than the raw data. However, we note high metric values for training data, which can possible indicate overfitting.\n", | |
| "\n", | |
| "The interesting feature of this algorithm is that the cleaned data is responding much more positively with minimal difference between the train metrics and test metrics for accuracy and Recall. But for precision there is slightly higher difference. We dealt with multicollinearity through averaging, removed the redundant columns and chose the rows wit Transfer and Cash out alsone since they are the only ones that involve fraud." | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "id": "F6hdEr7av_ux" | |
| }, | |
| "source": [ | |
| "3. How did you select variables to be included in the model?\n", | |
| "\n", | |
| "The variables where choosen on the basis of relevance with respect to fraud. We also used basis common sense. This realizaiton happened after working with the raw data. The computational time for Random Forest was very high, this was unnecessary, so, we removed the step, IsFlaggedFraud is a rule based model so is unndecessary. Columns for source and destination for money were highly correlated with each other, so we averaged them to single columns. Types of transactions which wre not relevant to the fraud are excluded." | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "id": "CrZYQnoZyHyI" | |
| }, | |
| "source": [ | |
| "4. Demonstrate the performance of the model by using best set of tools.\n", | |
| "\n", | |
| "Accuracy, Precision and Recall are the performance tools that we have choosen. We have proactively carried out several experiments on the Raw data. Although the resuslts are in general not very different for the raw and the cleaned data, overfitting and underfitting are much lesser with the cleaned up data. We find that the difference in recall for test and train prediction involves optimal value. While the difference is slightly higher for the precision. However, high evaluation metrics for training data may possible indicate overfitting." | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "id": "ToSHZdYczBhe" | |
| }, | |
| "source": [ | |
| "5. What are the key factors that predict fraudulent customer?\n", | |
| "\n", | |
| "Transfer and Cash out are the modes in which Fraud takes place. Authorities have to be careful with these transactions. Fraud are anomalous transactions that take place. We have demonstrated very clearly as well as it is well published that Random Forests are the best machine Learning algorithms available. Since Random Forests are highly successful, Fraudulent transaction has a highly non linear nature. This means that it is not easy to detect. Random Forests are known to fail when the data contains considerable number of outliers. Frauds are implicit in the data set. The non linear yet implicit nature of frauds, help random forests predict the fradulent customer.\n" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "id": "Sf5-1BAcS2rj" | |
| }, | |
| "source": [ | |
| "6. Do these factors make sense? If yes, How? If not, How not?\n", | |
| "\n", | |
| "These factors make sense if the fraudulent activities are unorganized crimes: hence th non linearity. If it is a syndicate that involves in this crime then there will be a well established pattern and there would be considerable linearity in the data. If the crime is not organized this data does not make sense, if it is unorganized, then it makes a lot of sense. ALso the threat is not internal (Bank Employees), there would have been some linear pattern." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "id": "7Q0VE4S1Wmhj" | |
| }, | |
| "outputs": [], | |
| "source": [] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "id": "WRJClXAPT3lR" | |
| }, | |
| "source": [ | |
| "What kind of prevention should be adopted while company update its infrastructure?\n", | |
| "\n", | |
| "Since it is clear that there is no established explicit pattern, the best way is to reduce Transfer and Cash out transactions. Debit transactions have not shown much fraud. The key is to establish a pattern, that will take us to the source. Pattern can be established if Banks in crease the documentation in every transaction, more information is needed for better data analysis" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "id": "5wJYgydKWiK1" | |
| }, | |
| "source": [ | |
| "Assuming these actions have been implemented, how would you determine if they work?\n", | |
| "\n", | |
| "If the measures are working, Fraud will leave a detectable trail, a distinct pattern at least if not linearity" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "id": "OmMJ5Y9NWnxl" | |
| }, | |
| "source": [] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "colab": { | |
| "base_uri": "https://localhost:8080/" | |
| }, | |
| "id": "imYJLUeye5Sw", | |
| "outputId": "68feb3c8-2044-4dd3-f92e-27609d54dbab" | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "2" | |
| ] | |
| }, | |
| "execution_count": 74, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "1+1" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "id": "oZSdQxg53IMS" | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "df5=df2.copy()" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "id": "HRihJFI-DJwd" | |
| }, | |
| "outputs": [], | |
| "source": [] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "id": "doFfXYbWqj53" | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "df5 = df5.drop(df[df['type'] == 0].index)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "id": "5kNM4cxc_qEO" | |
| }, | |
| "source": [ | |
| "Smaller amounts of transaction show more fraud" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "colab": { | |
| "base_uri": "https://localhost:8080/", | |
| "height": 484 | |
| }, | |
| "id": "QoYXty3z-vWp", | |
| "outputId": "165ad9c5-c5a7-4e63-8ff6-fdb87c4bfd38" | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "Text(0, 0.5, 'Oldbalnce')" | |
| ] | |
| }, | |
| "execution_count": 98, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| }, | |
| { | |
| "data": { | |
| "image/png": "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evbsqSZNmmjQoEHu43/+85/11FNPafny5XrsscfUsGFDn3MBqD31oqjs2rVLFRUVuu666zz2O53OS/olCVzNOnfurNzcXKWlpWnSpElq2bKlpk6dqsOHD3sUlUmTJun48eN6//33tWzZMqWkpGjVqlWKiIjwON8rr7wif39/LVq0SD/99JN69+6ttWvXXtJl00mTJunQoUN68cUXderUKd1yyy0XLCpjxoxRYWGhFi5cqBkzZqhVq1YeRSUyMlJJSUlauXKl10elAVinXhSV06dPy9/fX9u2bfNaoNekSZNqnycqKkpHjx712Hf06FGFhIQwm4Kr0s0336ytW7d67Dv/brPSLx87nj9/vubPn++x/7eXeZo2baoFCxZ4Pcdv70w7YsQIjRgxwmtc3759vc4ZGRmpDz/8sFpjg4KCPD6CXJWAgAC1bdtWvXr1uug4AHWnXhSVbt26qaKiQseOHVOfPn18Pk+vXr20cuVKj315eXn8UgOuAocPH9aKFSvcd7kFYIarpqicPn1aRUVF7scHDhxQYWGhmjdvruuuu07Dhg3Tgw8+qJdeekndunXT8ePHlZ+fr86dO2vAgAGSpD179qi8vFw//PCDTp06pcLCQklS165dJUmPPvqoXn31VT311FMaNWqU/vd//1fLli3TihUr6vrlAqglBw4c0Keffqr58+erYcOGeuSRR6yOBOB8rqvERx995JLktQ0fPtzlcrlc5eXlrkmTJrlat27tatiwoatFixauIUOGuHbu3Ok+R6tWrao8x2+fp2vXrq6AgADXNddc41q4cGEdvkrAepMnT/Z6X1zJFi5c6JLkio2Ndb333ntWxwHwGzaX6zLcPQkAAKAW1Jv7qAAAgCsPRQUAABjril5MW1lZqX/9618KDg6u0a20AQCAdVwul06dOqXo6Gj5+V18zuSKLir/+te/FBMTY3UMAADgg5KSErVs2fKiY67oohIcHCzplxcaEhJicRoAAFAdZWVliomJcf89fjFXdFH59XJPSEgIRQUAgCtMdZZtsJgWAAAYi6ICAACMRVEBAADGoqgAAABjUVQAAICxKCoAAMBYFBUAAGAsigoAADAWRQUAABiLogIAAIxFUQEAAMaiqAAAAGNRVAAAgLEoKgAAwFiWFpWKigo988wzatOmjQIDA9W2bVs999xzcrlcVsYCAACGaGDlk7/w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\n", | |
| "text/plain": [ | |
| "<Figure size 640x480 with 1 Axes>" | |
| ] | |
| }, | |
| "metadata": {}, | |
| "output_type": "display_data" | |
| } | |
| ], | |
| "source": [ | |
| "var = df2.groupby('isFraud').oldbalanceOrg.sum()\n", | |
| "fig = plt.figure()\n", | |
| "ax1 = fig.add_subplot(1,1,1)\n", | |
| "var.plot(kind='bar')\n", | |
| "ax1.set_title(\"quantity\")\n", | |
| "ax1.set_xlabel('IsFraud')\n", | |
| "ax1.set_ylabel('Oldbalnce')" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "colab": { | |
| "base_uri": "https://localhost:8080/", | |
| "height": 484 | |
| }, | |
| "id": "Yb2tyUMv-8sK", | |
| "outputId": "f19daad3-436b-42a4-85ac-74a056aa92bc" | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "Text(0, 0.5, 'Oldbalnce')" | |
| ] | |
| }, | |
| "execution_count": 99, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| }, | |
| { | |
| "data": { | |
| "image/png": "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2bOn6/HHHntML774opYuXaqnn35alStX9nouAL5TIUJlz549KiwsVOPGjd2WOxwOr39JLliwQMnJyfrkk09Uq1YtX4wJGCU2NlarVq1SYmKixo4dq3r16ik5OVnHjh1zC5WxY8fq1KlTWrJkiRYvXqz4+HitWLHC4+fi7bfflr+/v+bPn6/z58/r9ttv19q1a71+F9Fvz33kyBG98cYbys/P11133XXFUBk+fLh27typefPmafLkyapfv75bqNSuXVvdunXT8uXLPd4qDcA61+Vn/dhsNi1dutT1zp20tDT1799fX331lccJetWqVVNkZKTbssGDB+vMmTNXfOfQokWLNHToUH344Yfq0aNHWbwEwFhJSUlKTk4uk5NardanTx/t2bNHWVlZVo8C4P+rEHtU2rRpo8LCQp08eVKdO3cu1bYWLlyooUOHatGiRUQKcB05duyYli1b5rrKLQAzXDehcvbsWbd/BR0+fFg7d+5UzZo11bhxY/Xv318DBw7Um2++qTZt2ujUqVPKyMhQbGysKzj27dungoIC/fTTT8rPz9fOnTslSa1bt5b06+GeQYMG6e2331bHjh11/PhxSb9eyIq3MQLXpsOHD+uLL77QnDlzVLlyZT355JNWjwTgUs7rxOeff+6U5HEbNGiQ0+l0OgsKCpxjx451NmjQwFm5cmVnnTp1nH369HHu3r3btY369etfdhu/ueuuu676HEBFMG7cOOd19KvDOW/ePKckZ3R0tPPDDz+0ehwAv3NdnqMCAACuDxXmOioAAODaQ6gAAABjXdMn0xYVFen7779XSEhIiS6lDQAArON0OpWfn6+6devKz+/q+0yu6VD5/vvvFRUVZfUYAADAC0ePHlW9evWuus41HSohISGSfn2hoaGhFk8DAACKIy8vT1FRUa6/41dzTYfKb4d7QkNDCRUAAK4xxTltg5NpAQCAsQgVAABgLEIFAAAYi1ABAADGIlQAAICxCBUAAGAsQgUAABiLUAEAAMYiVAAAgLEIFQAAYCxCBQAAGItQAQAAxiJUAACAsQgVAABgLEIFAAAYq5LVA8A7DV5aZvUIKEfZKT2sHgEALMEeFQAAYCxCBQAAGItQAQAAxiJUAACAsQgVAABgLEIFAAAYi1ABAADGsjRUkpKSZLPZ3G5Nmza1ciQAAGAQyy/41qJFC61du9Z1v1Ily0cCAACGsLwKKlWqpMjISKvHAAAABrL8HJWDBw+qbt26uvHGG9W/f3/l5ORYPRIAADCEpXtUOnbsqNTUVDVp0kTHjh1TcnKyOnfurL179yokJMRjfYfDIYfD4bqfl5dXnuMCAIByZmmoxMfHu76OjY1Vx44dVb9+fS1evFjDhg3zWH/ixIlKTk4uzxEBAICFLD/0c6nq1aurcePGysrKuuzjo0ePVm5urut29OjRcp4QAACUJ6NC5ezZszp06JDq1Klz2ccDAwMVGhrqdgMAANcvS0Pl+eef1/r165Wdna0NGzaoT58+8vf316OPPmrlWAAAwBCWnqPy7bff6tFHH9WPP/6oiIgI3XHHHdq0aZMiIiKsHAsAABjC0lBZtGiRlU8PAAAMZ9Q5KgAAAJciVAAAgLEIFQAAYCxCBQAAGItQAQAAxiJUAACAsQgVAABgLEIFAAAYi1ABAADGIlQAAICxCBUAAGAsQgUAABiLUAEAAMYiVAAAgLEIFQAAYCxCBQAAGItQAQAAxiJUAACAsQgVAABgLEIFAAAYi1ABAADGIlQAAICxCBUAAGAsQgUAABiLUAEAAMYiVAAAgLEIFQAAYCxCBQAAGItQAQAAxiJUAACAsQgVAABgLEIFAAAYi1ABAADGIlQAAICxCBUAAGAsQgUAABiLUAEAAMYiVAAAgLEIFQAAYCxCBQAAGItQAQAAxiJUAACAsQgVAABgLEIFAAAYi1ABAADGIlQAAICxCBUAAGAsQgUAABiLUAEAAMYiVAAAgLEIFQAAYCxCBQAAGItQAQAAxiJUAACAsQgVAABgLEIFAAAYi1ABAADGMiZUUlJSZLPZ9Oyzz1o9CgAAMIQRobJ161a98847io2NtXoUAABgEMtD5ezZs+rfv79mz56tGjVqWD0OAAAwiOWhkpCQoB49eiguLs7qUQAAgGEqWfnkixYt0vbt27V169Zire9wOORwOFz38/Lyymo0AABgAMv2qBw9elTPPPOM5s+frypVqhTreyZOnCi73e66RUVFlfGUAADASjan0+m04onT09PVp08f+fv7u5YVFhbKZrPJz89PDofD7THp8ntUoqKilJubq9DQ0HKb3QQNXlpm9QgoR9kpPaweAQB8Ji8vT3a7vVh/vy079HPvvfdqz549bsuGDBmipk2b6u9//7tHpEhSYGCgAgMDy2tEAABgMctCJSQkRC1btnRbFhwcrLCwMI/lAACgYrL8XT8AAABXYum7fn5v3bp1Vo8AAAAMwh4VAABgLEIFAAAYi1ABAADGIlQAAICxCBUAAGAsQgUAABiLUAEAAMYiVAAAgLEIFQAAYCxCBQAAGItQAQAAxiJUAACAsQgVAABgLEIFAAAYi1ABAADGIlQAAICxCBUAAGAsQgUAABiLUAEAAMYiVAAAgLEIFQAAYCxCBQAAGItQAQAAxiJUAACAsQgVAABgLEIFAAAYi1ABAADGIlQAAICxCBUAAGAsQgUAABiLUAEAAMYiVAAAgLEIFQAAYCxCBQAAGItQAQAAxiJUAACAsQgVAABgLEIFAAAYi1ABAADGIlQAAICxCBUAAGAsQgUAABiLUAEAAMYiVAAAgLEIFQAAYCxCBQAAGItQAQAAxipVqBQUFOjAgQO6ePGir+YBAABw8SpUfv75Zw0bNkxVq1ZVixYtlJOTI0kaOXKkUlJSfDogAACouLwKldGjR2vXrl1at26dqlSp4loeFxentLQ0nw0HAAAqtkrefFN6errS0tJ06623ymazuZa3aNFChw4d8tlwAACgYvNqj8qpU6dUq1Ytj+Xnzp1zCxcAAIDS8CpU2rVrp2XLlrnu/xYnc+bMUadOnXwzGQAAqPC8OvQzYcIExcfHa9++fbp48aLefvtt7du3Txs2bND69et9PSMAAKigvNqjcscdd2jnzp26ePGiYmJitHr1atWqVUsbN25U27ZtfT0jAACooLzaoyJJN910k2bPnu3LWQAAANx4tUdl+fLlWrVqlcfyVatWacWKFaUeCgAAQPIyVF566SUVFhZ6LHc6nXrppZeKvZ2ZM2cqNjZWoaGhCg0NVadOnQgdAADg4lWoHDx4UM2bN/dY3rRpU2VlZRV7O/Xq1VNKSoq2bdumL7/8Uvfcc48efPBBffXVV96MBQAArjNehYrdbtc333zjsTwrK0vBwcHF3k7Pnj11//336+abb1bjxo31+uuvq1q1atq0aZM3YwEAgOuMV6Hy4IMP6tlnn3W7Cm1WVpaee+459erVy6tBCgsLtWjRIp07d+6K12JxOBzKy8tzuwEAgOuXV6HyxhtvKDg4WE2bNlXDhg3VsGFDNWvWTGFhYZo0aVKJtrVnzx5Vq1ZNgYGBeuqpp7R06dLLHlaSpIkTJ8put7tuUVFR3owPAACuETan0+n05hudTqfWrFmjXbt2KSgoSLGxsbrzzjtLvJ2CggLl5OQoNzdXS5Ys0Zw5c7R+/frLxorD4ZDD4XDdz8vLU1RUlHJzcxUaGurNy7hmNXhp2R+vhOtGdkoPq0cAAJ/Jy8uT3W4v1t9vr0OlrMTFxemmm27SO++884frluSFXm8IlYqFUAFwPSnJ32+vL/iWkZGhjIwMnTx5UkVFRW6PzZ0719vNqqioyG2vCQAAqLi8CpXk5GSNHz9e7dq1U506dbz+xOTRo0crPj5e0dHRys/P14IFC7Ru3brLXkwOAABUPF6FyqxZs5SamqoBAwaU6slPnjypgQMH6tixY7Lb7YqNjdWqVavUtWvXUm0XAABcH7wKlYKCAt12222lfvL33nuv1NsAAADXL6/envz4449rwYIFvp4FAADAjVd7VM6fP693331Xa9euVWxsrCpXruz2+FtvveWT4QAAQMXmVajs3r1brVu3liTt3bvX7TFvT6wFAAD4Pa9C5fPPP/f1HAAAAB68OkcFAACgPBR7j8pDDz1U7I1+/PHHXg0DAABwqWKHit1uL8s5AAAAPBQ7VObNm1eWcwAAAHjgHBUAAGAsrz+UcMmSJVq8eLFycnJUUFDg9tj27dtLPRgAAIBXe1SmTp2qIUOGqHbt2tqxY4c6dOigsLAwffPNN4qPj/f1jAAAoILyKlRmzJihd999V9OmTVNAQIBefPFFrVmzRqNGjVJubq6vZwQAABWUV6GSk5Pj+lDCoKAg5efnS5IGDBighQsX+m46AABQoXkVKpGRkfrpp58kSdHR0dq0aZMk6fDhw3I6nb6bDgAAVGhehco999yjTz/9VJI0ZMgQ/e1vf1PXrl318MMPq0+fPj4dEAAAVFxevevn3XffVVFRkSQpISFBYWFh2rBhg3r16qUnn3zSpwMCAICKy6tQ8fPzk5/f/+2MeeSRR/TII4/4bCgAAACpFNdROX36tN577z3t379fktS8eXMNGTJENWvW9NlwAACgYvPqHJXMzEw1bNhQU6dO1enTp3X69GlNnTpVDRs2VGZmpq9nBAAAFZRXe1QSEhLUr18/zZw5U/7+/pKkwsJCDR8+XAkJCdqzZ49PhwQAABWTV3tUsrKy9Nxzz7kiRZL8/f2VmJiorKwsnw0HAAAqNq9C5ZZbbnGdm3Kp/fv3q1WrVqUeCgAAQCrBoZ/du3e7vh41apSeeeYZZWVl6dZbb5Ukbdq0SdOnT1dKSorvpwQAABWSzVnMS8n6+fnJZrP94ZVnbTabCgsLfTLcH8nLy5Pdbldubq5CQ0PL5TlN0eClZVaPgHKUndLD6hEAwGdK8ve72HtUDh8+XOrBAAAASqLYoVK/fv2ynAMAAMBDsUPlt8/2KY5evXp5NQwAAMClih0qvXv3drv/+/NVbDab6+vyOkcFAABc34r99uSioiLXbfXq1WrdurVWrFihM2fO6MyZM1q+fLluueUWrVy5siznBQAAFYhXV6Z99tlnNWvWLN1xxx2uZd27d1fVqlX1xBNPXPYaKwAAACXl1QXfDh06pOrVq3sst9vtys7OLuVIAAAAv/IqVNq3b6/ExESdOHHCtezEiRN64YUX1KFDB58NBwAAKjavQmXu3Lk6duyYoqOj1ahRIzVq1EjR0dH67rvv9N577/l6RgAAUEF5dY5Ko0aNtHv3bq1Zs0Zff/21JKlZs2aKi4tze/cPAABAaXgVKtKvb0fu1q2bunXr5st5AAAAXIodKlOnTi32RkeNGuXVMAAAAJcqdqhMnjy5WOvZbDZCBQAA+ESpPpTw1KlTstlsCg8P9+lQAAAAkhfv+jlz5owSEhIUHh6uyMhI1a5dW+Hh4RoxYoRyc3PLYkYAAFBBlehk2p9++kmdOnXSd999p/79+6tZs2aSpH379ik1NVUZGRnasGGDatSoUSbDAgCAiqVEoTJ+/HgFBATo0KFDql27tsdj3bp10/jx44t9PgsAAMDVlOjQT3p6uiZNmuQRKZIUGRmpN954Q0uXLvXZcAAAoGIrUagcO3ZMLVq0uOLjLVu21PHjx0s9FAAAgFTCUAkPD7/qhw4ePnxYNWvWLO1MAAAAkkoYKt27d9eYMWNUUFDg8ZjD4dArr7yi++67z2fDAQCAiq3EJ9O2a9dON998sxISEtS0aVM5nU7t379fM2bMkMPh0Pvvv19WswIAgAqmRKFSr149bdy4UcOHD9fo0aPldDol/Xo12q5du+pf//qXoqKiymRQAABQ8ZT4QwkbNmyoFStW6PTp0zp48KCkXz9NmXNTAACAr3n96ck1atRQhw4dfDkLAACAmxJfQh8AAKC8ECoAAMBYhAoAADAWoQIAAIxFqAAAAGMRKgAAwFiECgAAMBahAgAAjGVpqEycOFHt27dXSEiIatWqpd69e+vAgQNWjgQAAAxiaaisX79eCQkJ2rRpk9asWaMLFy6oW7duOnfunJVjAQAAQ3h9CX1fWLlypdv91NRU1apVS9u2bdOdd95p0VQAAMAUlobK7+Xm5krSFT/g0OFwyOFwuO7n5eWVy1wAAMAaxpxMW1RUpGeffVa33367WrZsedl1Jk6cKLvd7rpFRUWV85QAAKA8GRMqCQkJ2rt3rxYtWnTFdUaPHq3c3FzX7ejRo+U4IQAAKG9GHPoZMWKEPvvsM2VmZqpevXpXXC8wMFCBgYHlOBkAALCSpaHidDo1cuRILV26VOvWrVPDhg2tHAcAABjG0lBJSEjQggUL9MknnygkJETHjx+XJNntdgUFBVk5GgAAMICl56jMnDlTubm56tKli+rUqeO6paWlWTkWAAAwhOWHfgAAAK7EmHf9AAAA/B6hAgAAjEWoAAAAYxEqAADAWIQKAAAwFqECAACMRagAAABjESoAAMBYhAoAADAWoQIAAIxFqAAAAGMRKgAAwFiECgAAMBahAgAAjEWoAAAAYxEqAADAWIQKAAAwFqECAACMRagAAABjESoAAMBYhAoAADAWoQIAAIxFqAAAAGMRKgAAwFiECgAAMBahAgAAjEWoAAAAYxEqAADAWIQKAAAwFqECAACMRagAAABjESoAAMBYhAoAADAWoQIAAIxFqAAAAGMRKgAAwFiECgAAMBahAgAAjEWoAAAAYxEqAADAWIQKAAAwFqECAACMRagAAABjESoAAMBYhAoAADAWoQIAAIxFqAAAAGMRKgAAwFiECgAAMBahAgAAjEWoAAAAYxEqAADAWIQKAAAwFqECAACMRagAAABjESoAAMBYhAoAADCWpaGSmZmpnj17qm7durLZbEpPT7dyHAAAYBhLQ+XcuXNq1aqVpk+fbuUYAADAUJWsfPL4+HjFx8dbOQIAADCYpaFSUg6HQw6Hw3U/Ly/PwmkAAEBZu6ZOpp04caLsdrvrFhUVZfVIAACgDF1ToTJ69Gjl5ua6bkePHrV6JAAAUIauqUM/gYGBCgwMtHoMAABQTq6pPSoAAKBisXSPytmzZ5WVleW6f/jwYe3cuVM1a9ZUdHS0hZMBAAATWBoqX375pe6++27X/cTEREnSoEGDlJqaatFUAADAFJaGSpcuXeR0Oq0cAQAAGIxzVAAAgLEIFQAAYCxCBQAAGItQAQAAxiJUAACAsQgVAABgLEIFAAAYi1ABAADGIlQAAICxCBUAAGAsQgUAABiLUAEAAMYiVAAAgLEIFQAAYCxCBQAAGItQAQAAxiJUAACAsQgVAABgLEIFAAAYi1ABAADGIlQAAICxCBUAAGAsQgUAABiLUAEAAMYiVAAAgLEIFQAAYCxCBQAAGItQAQAAxiJUAACAsQgVAABgLEIFAAAYi1ABAADGIlQAAICxCBUAAGAsQgUAABiLUAEAAMYiVAAAgLEIFQAAYCxCBQAAGItQAQAAxiJUAACAsQgVAABgLEIFAAAYi1ABAADGIlQAAICxCBUAAGAsQgUAABiLUAEAAMYiVAAAgLEIFQAAYCxCBQAAGItQAQAAxiJUAACAsQgVAABgLEIFAAAYi1ABAADGMiJUpk+frgYNGqhKlSrq2LGjtmzZYvVIAADAAJaHSlpamhITEzVu3Dht375drVq1Uvfu3XXy5EmrRwMAABazPFTeeust/fWvf9WQIUPUvHlzzZo1S1WrVtXcuXOtHg0AAFjM0lApKCjQtm3bFBcX51rm5+enuLg4bdy40cLJAACACSpZ+eQ//PCDCgsLVbt2bbfltWvX1tdff+2xvsPhkMPhcN3Pzc2VJOXl5ZXtoAYqcvxs9QgoRxXx//GKrOW4VVaPgHK0N7m71SOUu99+pzmdzj9c19JQKamJEycqOTnZY3lUVJQF0wDlxz7F6gkAlJWK/POdn58vu91+1XUsDZXw8HD5+/vrxIkTbstPnDihyMhIj/VHjx6txMRE1/2ioiL99NNPCgsLk81mK/N5Ya28vDxFRUXp6NGjCg0NtXocAD7Ez3fF4nQ6lZ+fr7p16/7hupaGSkBAgNq2bauMjAz17t1b0q/xkZGRoREjRnisHxgYqMDAQLdl1atXL4dJYZLQ0FB+kQHXKX6+K44/2pPyG8sP/SQmJmrQoEFq166dOnTooClTpujcuXMaMmSI1aMBAACLWR4qDz/8sE6dOqWxY8fq+PHjat26tVauXOlxgi0AAKh4LA8VSRoxYsRlD/UAlwoMDNS4ceM8Dv8BuPbx840rsTmL894gAAAAC1h+ZVoAAIArIVQAAICxCBUAAGAsQgUAABjLiHf9AJfzww8/aO7cudq4caOOHz8uSYqMjNRtt92mwYMHKyIiwuIJAQBljXf9wEhbt25V9+7dVbVqVcXFxbmuq3PixAllZGTo559/1qpVq9SuXTuLJwUAlCVCBUa69dZb1apVK82aNcvjc5ycTqeeeuop7d69Wxs3brRoQgBl6ejRoxo3bpzmzp1r9SiwGKECIwUFBWnHjh1q2rTpZR//+uuv1aZNG/3yyy/lPBmA8rBr1y7dcsstKiwstHoUWIxzVGCkyMhIbdmy5YqhsmXLFj5mAbiGffrpp1d9/JtvvimnSWA6QgVGev755/XEE09o27Ztuvfeez3OUZk9e7YmTZpk8ZQAvNW7d2/ZbDZdbaf+7w/7omLi0A+MlZaWpsmTJ2vbtm2u3b/+/v5q27atEhMT1a9fP4snBOCtG264QTNmzNCDDz542cd37typtm3bcugHhArMd+HCBf3www+SpPDwcFWuXNniiQCUVq9evdS6dWuNHz/+so/v2rVLbdq0UVFRUTlPBtNw6AfGq1y5surUqWP1GAB86IUXXtC5c+eu+HijRo30+eefl+NEMBV7VAAAgLG4hD4AADAWoQIAAIxFqAAAAGMRKgAqlKSkJLVu3drqMQAUE6ECwGuDBw9W7969/3C9pKQk2Ww2j9vatWvLfkgA1zTengygXLRo0cIjTGrWrOmxXkFBgQICAsprLACGY48KAJ9YsmSJYmJiFBQUpLCwMMXFxbldJ6NSpUqKjIx0uwUEBLj2yrz++uuqW7eumjRpIkl6//331a5dO4WEhCgyMlKPPfaYTp486dpeamqqqlev7jZDenq6x2XXU1JSVLt2bYWEhGjYsGE6f/582f1HAOBzhAqAUjt27JgeffRRDR06VPv379e6dev00EMPXfVzXC6VkZGhAwcOaM2aNfrss88k/XpF4ldffVW7du1Senq6srOzNXjw4BLNtXjxYiUlJWnChAn68ssvVadOHc2YMaOkLw+AhTj0A6DUjh07posXL+qhhx5S/fr1JUkxMTFu6+zZs0fVqlVz3W/evLm2bNkiSQoODtacOXPcDvkMHTrU9fWNN96oqVOnqn379jp79qzbdq5mypQpGjZsmIYNGyZJeu2117R27Vr2qgDXEPaoACi1Vq1a6d5771VMTIz69u2r2bNn6/Tp027rNGnSRDt37nTdPvroI9djMTExHuelbNu2TT179lR0dLRCQkJ01113SZJycnKKPdf+/fvVsWNHt2WdOnUq6csDYCFCBUCp+fv7a82aNVqxYoWaN2+uadOmqUmTJjp8+LBrnYCAADVq1Mh1i4qKcj0WHBzstr1z586pe/fuCg0N1fz587V161YtXbpU0q8n20qSn5+fx6GlCxculNVLBGARQgWAT9hsNt1+++1KTk7Wjh07FBAQ4IqLkvr666/1448/KiUlRZ07d1bTpk3dTqSVpIiICOXn57udsLtz5063dZo1a6bNmze7Ldu0aZNXMwGwBueoACi1zZs3KyMjQ926dVOtWrW0efNmnTp1Ss2aNfNqe9HR0QoICNC0adP01FNPae/evXr11Vfd1unYsaOqVq2qf/zjHxo1apQ2b96s1NRUt3WeeeYZDR48WO3atdPtt9+u+fPn66uvvtKNN97o7UsFUM7YowKg1EJDQ5WZman7779fjRs31ssvv6w333xT8fHxXm0vIiJCqamp+vDDD9W8eXOlpKRo0qRJbuvUrFlTH3zwgZYvX66YmBgtXLhQSUlJbus8/PDDeuWVV/Tiiy+qbdu2OnLkiJ5++mlvXyYAC9icxX3/IAAAQDljjwoAADAWoQIAAIxFqAAAAGMRKgAAwFiECgAAMBahAgAAjEWoAAAAYxEqAADAWIQKAAAwFqECAACMRagAAABjESoAAMBY/w9dZ2fh+ZkhYgAAAABJRU5ErkJggg==\n", | |
| "text/plain": [ | |
| "<Figure size 640x480 with 1 Axes>" | |
| ] | |
| }, | |
| "metadata": {}, | |
| "output_type": "display_data" | |
| } | |
| ], | |
| "source": [ | |
| "var = df2.groupby('isFraud').oldbalanceDest.sum()\n", | |
| "fig = plt.figure()\n", | |
| "ax1 = fig.add_subplot(1,1,1)\n", | |
| "var.plot(kind='bar')\n", | |
| "ax1.set_title(\"quantity\")\n", | |
| "ax1.set_xlabel('IsFraud')\n", | |
| "ax1.set_ylabel('Oldbalnce')" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "colab": { | |
| "base_uri": "https://localhost:8080/", | |
| "height": 484 | |
| }, | |
| "id": "9hsAe3XqABrG", | |
| "outputId": "8224c575-2ea0-4cd3-b81d-dafd1bf56f1d" | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "Text(0, 0.5, 'Oldbalnce')" | |
| ] | |
| }, | |
| "execution_count": 100, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| }, | |
| { | |
| "data": { | |
| "image/png": "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\n", | |
| "text/plain": [ | |
| "<Figure size 640x480 with 1 Axes>" | |
| ] | |
| }, | |
| "metadata": {}, | |
| "output_type": "display_data" | |
| } | |
| ], | |
| "source": [ | |
| "var = df2.groupby('isFraud').amount.sum()\n", | |
| "fig = plt.figure()\n", | |
| "ax1 = fig.add_subplot(1,1,1)\n", | |
| "var.plot(kind='bar')\n", | |
| "ax1.set_title(\"quantity\")\n", | |
| "ax1.set_xlabel('IsFraud')\n", | |
| "ax1.set_ylabel('Oldbalnce')" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "id": "1qO4g2KhcOVS" | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "from sklearn.decomposition import PCA\n" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "colab": { | |
| "base_uri": "https://localhost:8080/", | |
| "height": 206 | |
| }, | |
| "id": "MPsn7uvxADVX", | |
| "outputId": "d44639c4-2049-467e-8e9e-5d844b9120e0" | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/html": [ | |
| "\n", | |
| " <div id=\"df-2a554f64-5041-4e2d-bf4f-973174d3457d\" 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>type</th>\n", | |
| " <th>amount</th>\n", | |
| " <th>oldbalanceOrg</th>\n", | |
| " <th>oldbalanceDest</th>\n", | |
| " <th>isFraud</th>\n", | |
| " </tr>\n", | |
| " </thead>\n", | |
| " <tbody>\n", | |
| " <tr>\n", | |
| " <th>2</th>\n", | |
| " <td>2</td>\n", | |
| " <td>181.00</td>\n", | |
| " <td>90.5</td>\n", | |
| " <td>0.000</td>\n", | |
| " <td>1</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>3</th>\n", | |
| " <td>3</td>\n", | |
| " <td>181.00</td>\n", | |
| " <td>90.5</td>\n", | |
| " <td>10591.000</td>\n", | |
| " <td>1</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>15</th>\n", | |
| " <td>3</td>\n", | |
| " <td>229133.94</td>\n", | |
| " <td>7662.5</td>\n", | |
| " <td>28298.220</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>19</th>\n", | |
| " <td>2</td>\n", | |
| " <td>215310.30</td>\n", | |
| " <td>352.5</td>\n", | |
| " <td>11212.500</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>24</th>\n", | |
| " <td>2</td>\n", | |
| " <td>311685.89</td>\n", | |
| " <td>5417.5</td>\n", | |
| " <td>1362719.945</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| "</table>\n", | |
| "</div>\n", | |
| " <div class=\"colab-df-buttons\">\n", | |
| "\n", | |
| " <div class=\"colab-df-container\">\n", | |
| " <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-2a554f64-5041-4e2d-bf4f-973174d3457d')\"\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 -960 960 960\">\n", | |
| " <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n", | |
| " </svg>\n", | |
| " </button>\n", | |
| "\n", | |
| " <style>\n", | |
| " .colab-df-container {\n", | |
| " display:flex;\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", | |
| " .colab-df-buttons div {\n", | |
| " margin-bottom: 4px;\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-2a554f64-5041-4e2d-bf4f-973174d3457d 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-2a554f64-5041-4e2d-bf4f-973174d3457d');\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", | |
| "\n", | |
| "\n", | |
| "<div id=\"df-048b2eb6-d476-4544-86bb-e8480c39dcaa\">\n", | |
| " <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-048b2eb6-d476-4544-86bb-e8480c39dcaa')\"\n", | |
| " title=\"Suggest charts.\"\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", | |
| " <g>\n", | |
| " <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n", | |
| " </g>\n", | |
| "</svg>\n", | |
| " </button>\n", | |
| "\n", | |
| "<style>\n", | |
| " .colab-df-quickchart {\n", | |
| " --bg-color: #E8F0FE;\n", | |
| " --fill-color: #1967D2;\n", | |
| " --hover-bg-color: #E2EBFA;\n", | |
| " --hover-fill-color: #174EA6;\n", | |
| " --disabled-fill-color: #AAA;\n", | |
| " --disabled-bg-color: #DDD;\n", | |
| " }\n", | |
| "\n", | |
| " [theme=dark] .colab-df-quickchart {\n", | |
| " --bg-color: #3B4455;\n", | |
| " --fill-color: #D2E3FC;\n", | |
| " --hover-bg-color: #434B5C;\n", | |
| " --hover-fill-color: #FFFFFF;\n", | |
| " --disabled-bg-color: #3B4455;\n", | |
| " --disabled-fill-color: #666;\n", | |
| " }\n", | |
| "\n", | |
| " .colab-df-quickchart {\n", | |
| " background-color: var(--bg-color);\n", | |
| " border: none;\n", | |
| " border-radius: 50%;\n", | |
| " cursor: pointer;\n", | |
| " display: none;\n", | |
| " fill: var(--fill-color);\n", | |
| " height: 32px;\n", | |
| " padding: 0;\n", | |
| " width: 32px;\n", | |
| " }\n", | |
| "\n", | |
| " .colab-df-quickchart:hover {\n", | |
| " background-color: var(--hover-bg-color);\n", | |
| " box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n", | |
| " fill: var(--button-hover-fill-color);\n", | |
| " }\n", | |
| "\n", | |
| " .colab-df-quickchart-complete:disabled,\n", | |
| " .colab-df-quickchart-complete:disabled:hover {\n", | |
| " background-color: var(--disabled-bg-color);\n", | |
| " fill: var(--disabled-fill-color);\n", | |
| " box-shadow: none;\n", | |
| " }\n", | |
| "\n", | |
| " .colab-df-spinner {\n", | |
| " border: 2px solid var(--fill-color);\n", | |
| " border-color: transparent;\n", | |
| " border-bottom-color: var(--fill-color);\n", | |
| " animation:\n", | |
| " spin 1s steps(1) infinite;\n", | |
| " }\n", | |
| "\n", | |
| " @keyframes spin {\n", | |
| " 0% {\n", | |
| " border-color: transparent;\n", | |
| " border-bottom-color: var(--fill-color);\n", | |
| " border-left-color: var(--fill-color);\n", | |
| " }\n", | |
| " 20% {\n", | |
| " border-color: transparent;\n", | |
| " border-left-color: var(--fill-color);\n", | |
| " border-top-color: var(--fill-color);\n", | |
| " }\n", | |
| " 30% {\n", | |
| " border-color: transparent;\n", | |
| " border-left-color: var(--fill-color);\n", | |
| " border-top-color: var(--fill-color);\n", | |
| " border-right-color: var(--fill-color);\n", | |
| " }\n", | |
| " 40% {\n", | |
| " border-color: transparent;\n", | |
| " border-right-color: var(--fill-color);\n", | |
| " border-top-color: var(--fill-color);\n", | |
| " }\n", | |
| " 60% {\n", | |
| " border-color: transparent;\n", | |
| " border-right-color: var(--fill-color);\n", | |
| " }\n", | |
| " 80% {\n", | |
| " border-color: transparent;\n", | |
| " border-right-color: var(--fill-color);\n", | |
| " border-bottom-color: var(--fill-color);\n", | |
| " }\n", | |
| " 90% {\n", | |
| " border-color: transparent;\n", | |
| " border-bottom-color: var(--fill-color);\n", | |
| " }\n", | |
| " }\n", | |
| "</style>\n", | |
| "\n", | |
| " <script>\n", | |
| " async function quickchart(key) {\n", | |
| " const quickchartButtonEl =\n", | |
| " document.querySelector('#' + key + ' button');\n", | |
| " quickchartButtonEl.disabled = true; // To prevent multiple clicks.\n", | |
| " quickchartButtonEl.classList.add('colab-df-spinner');\n", | |
| " try {\n", | |
| " const charts = await google.colab.kernel.invokeFunction(\n", | |
| " 'suggestCharts', [key], {});\n", | |
| " } catch (error) {\n", | |
| " console.error('Error during call to suggestCharts:', error);\n", | |
| " }\n", | |
| " quickchartButtonEl.classList.remove('colab-df-spinner');\n", | |
| " quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n", | |
| " }\n", | |
| " (() => {\n", | |
| " let quickchartButtonEl =\n", | |
| " document.querySelector('#df-048b2eb6-d476-4544-86bb-e8480c39dcaa button');\n", | |
| " quickchartButtonEl.style.display =\n", | |
| " google.colab.kernel.accessAllowed ? 'block' : 'none';\n", | |
| " })();\n", | |
| " </script>\n", | |
| "</div>\n", | |
| " </div>\n", | |
| " </div>\n" | |
| ], | |
| "text/plain": [ | |
| " type amount oldbalanceOrg oldbalanceDest isFraud\n", | |
| "2 2 181.00 90.5 0.000 1\n", | |
| "3 3 181.00 90.5 10591.000 1\n", | |
| "15 3 229133.94 7662.5 28298.220 0\n", | |
| "19 2 215310.30 352.5 11212.500 0\n", | |
| "24 2 311685.89 5417.5 1362719.945 0" | |
| ] | |
| }, | |
| "execution_count": 107, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "df2.head()" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "colab": { | |
| "base_uri": "https://localhost:8080/", | |
| "height": 323 | |
| }, | |
| "id": "AZEQiGA2cCIe", | |
| "outputId": "73d95c96-5702-4dae-d6b7-ae85acbb6995" | |
| }, | |
| "outputs": [ | |
| { | |
| "ename": "ValueError", | |
| "evalue": "ignored", | |
| "output_type": "error", | |
| "traceback": [ | |
| "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", | |
| "\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)", | |
| "\u001b[0;32m<ipython-input-131-f902c1760de2>\u001b[0m in \u001b[0;36m<cell line: 1>\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mFraud\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mdf2\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mgroupby\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdf2\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mdf2\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'isFraud'\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mindex\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", | |
| "\u001b[0;32m/usr/local/lib/python3.10/dist-packages/pandas/core/frame.py\u001b[0m in \u001b[0;36mgroupby\u001b[0;34m(self, by, axis, level, as_index, sort, group_keys, squeeze, observed, dropna)\u001b[0m\n\u001b[1;32m 8400\u001b[0m \u001b[0maxis\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_get_axis_number\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0maxis\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 8401\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 8402\u001b[0;31m return DataFrameGroupBy(\n\u001b[0m\u001b[1;32m 8403\u001b[0m \u001b[0mobj\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 8404\u001b[0m \u001b[0mkeys\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mby\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", | |
| "\u001b[0;32m/usr/local/lib/python3.10/dist-packages/pandas/core/groupby/groupby.py\u001b[0m in \u001b[0;36m__init__\u001b[0;34m(self, obj, keys, axis, level, grouper, exclusions, selection, as_index, sort, group_keys, squeeze, observed, mutated, dropna)\u001b[0m\n\u001b[1;32m 963\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0mpandas\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcore\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mgroupby\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mgrouper\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mget_grouper\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 964\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 965\u001b[0;31m grouper, exclusions, obj = get_grouper(\n\u001b[0m\u001b[1;32m 966\u001b[0m \u001b[0mobj\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 967\u001b[0m \u001b[0mkeys\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", | |
| "\u001b[0;32m/usr/local/lib/python3.10/dist-packages/pandas/core/groupby/grouper.py\u001b[0m in \u001b[0;36mget_grouper\u001b[0;34m(obj, key, axis, level, sort, observed, mutated, validate, dropna)\u001b[0m\n\u001b[1;32m 897\u001b[0m \u001b[0;31m# allow us to passing the actual Grouping as the gpr\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 898\u001b[0m ping = (\n\u001b[0;32m--> 899\u001b[0;31m Grouping(\n\u001b[0m\u001b[1;32m 900\u001b[0m \u001b[0mgroup_axis\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 901\u001b[0m \u001b[0mgpr\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", | |
| "\u001b[0;32m/usr/local/lib/python3.10/dist-packages/pandas/core/groupby/grouper.py\u001b[0m in \u001b[0;36m__init__\u001b[0;34m(self, index, grouper, obj, level, sort, observed, in_axis, dropna)\u001b[0m\n\u001b[1;32m 478\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mlevel\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mlevel\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 479\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_orig_grouper\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mgrouper\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 480\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mgrouping_vector\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_convert_grouper\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mindex\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mgrouper\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 481\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_all_grouper\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 482\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_index\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mindex\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", | |
| "\u001b[0;32m/usr/local/lib/python3.10/dist-packages/pandas/core/groupby/grouper.py\u001b[0m in \u001b[0;36m_convert_grouper\u001b[0;34m(axis, grouper)\u001b[0m\n\u001b[1;32m 941\u001b[0m \u001b[0;32melif\u001b[0m \u001b[0misinstance\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mgrouper\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mlist\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtuple\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mIndex\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mCategorical\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mndarray\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 942\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mgrouper\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m!=\u001b[0m \u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0maxis\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 943\u001b[0;31m \u001b[0;32mraise\u001b[0m \u001b[0mValueError\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"Grouper and axis must be same length\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 944\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 945\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0misinstance\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mgrouper\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mlist\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtuple\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", | |
| "\u001b[0;31mValueError\u001b[0m: Grouper and axis must be same length" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "Fraud = df2.groupby(df2[df2['isFraud'] == 1].index)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "id": "E7EI2zC2iFqZ" | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "df = df.drop(df[df['type'] == 1].index)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "id": "ZQWLxEXgdp1s" | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "fraud = df2.loc[df2.isFraud == 1]\n", | |
| "nonfraud = df2.loc[df2.isFraud == 0]" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "colab": { | |
| "base_uri": "https://localhost:8080/", | |
| "height": 206 | |
| }, | |
| "id": "uhcgNwpzdqoM", | |
| "outputId": "e1a89ddf-d036-496c-ceca-15ee80b06cbe" | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/html": [ | |
| "\n", | |
| " <div id=\"df-bf8df98e-803a-4ee8-878b-d60f97b4ccf0\" 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>type</th>\n", | |
| " <th>amount</th>\n", | |
| " <th>oldbalanceOrg</th>\n", | |
| " <th>oldbalanceDest</th>\n", | |
| " <th>isFraud</th>\n", | |
| " </tr>\n", | |
| " </thead>\n", | |
| " <tbody>\n", | |
| " <tr>\n", | |
| " <th>2</th>\n", | |
| " <td>2</td>\n", | |
| " <td>181.0</td>\n", | |
| " <td>90.5</td>\n", | |
| " <td>0.0</td>\n", | |
| " <td>1</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>3</th>\n", | |
| " <td>3</td>\n", | |
| " <td>181.0</td>\n", | |
| " <td>90.5</td>\n", | |
| " <td>10591.0</td>\n", | |
| " <td>1</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>251</th>\n", | |
| " <td>2</td>\n", | |
| " <td>2806.0</td>\n", | |
| " <td>1403.0</td>\n", | |
| " <td>0.0</td>\n", | |
| " <td>1</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>252</th>\n", | |
| " <td>3</td>\n", | |
| " <td>2806.0</td>\n", | |
| " <td>1403.0</td>\n", | |
| " <td>13101.0</td>\n", | |
| " <td>1</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>680</th>\n", | |
| " <td>2</td>\n", | |
| " <td>20128.0</td>\n", | |
| " <td>10064.0</td>\n", | |
| " <td>0.0</td>\n", | |
| " <td>1</td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| "</table>\n", | |
| "</div>\n", | |
| " <div class=\"colab-df-buttons\">\n", | |
| "\n", | |
| " <div class=\"colab-df-container\">\n", | |
| " <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-bf8df98e-803a-4ee8-878b-d60f97b4ccf0')\"\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 -960 960 960\">\n", | |
| " <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n", | |
| " </svg>\n", | |
| " </button>\n", | |
| "\n", | |
| " <style>\n", | |
| " .colab-df-container {\n", | |
| " display:flex;\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", | |
| " .colab-df-buttons div {\n", | |
| " margin-bottom: 4px;\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-bf8df98e-803a-4ee8-878b-d60f97b4ccf0 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-bf8df98e-803a-4ee8-878b-d60f97b4ccf0');\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", | |
| "\n", | |
| "\n", | |
| "<div id=\"df-44c378e7-4f24-4eb7-867f-f45bb2c11688\">\n", | |
| " <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-44c378e7-4f24-4eb7-867f-f45bb2c11688')\"\n", | |
| " title=\"Suggest charts.\"\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", | |
| " <g>\n", | |
| " <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n", | |
| " </g>\n", | |
| "</svg>\n", | |
| " </button>\n", | |
| "\n", | |
| "<style>\n", | |
| " .colab-df-quickchart {\n", | |
| " --bg-color: #E8F0FE;\n", | |
| " --fill-color: #1967D2;\n", | |
| " --hover-bg-color: #E2EBFA;\n", | |
| " --hover-fill-color: #174EA6;\n", | |
| " --disabled-fill-color: #AAA;\n", | |
| " --disabled-bg-color: #DDD;\n", | |
| " }\n", | |
| "\n", | |
| " [theme=dark] .colab-df-quickchart {\n", | |
| " --bg-color: #3B4455;\n", | |
| " --fill-color: #D2E3FC;\n", | |
| " --hover-bg-color: #434B5C;\n", | |
| " --hover-fill-color: #FFFFFF;\n", | |
| " --disabled-bg-color: #3B4455;\n", | |
| " --disabled-fill-color: #666;\n", | |
| " }\n", | |
| "\n", | |
| " .colab-df-quickchart {\n", | |
| " background-color: var(--bg-color);\n", | |
| " border: none;\n", | |
| " border-radius: 50%;\n", | |
| " cursor: pointer;\n", | |
| " display: none;\n", | |
| " fill: var(--fill-color);\n", | |
| " height: 32px;\n", | |
| " padding: 0;\n", | |
| " width: 32px;\n", | |
| " }\n", | |
| "\n", | |
| " .colab-df-quickchart:hover {\n", | |
| " background-color: var(--hover-bg-color);\n", | |
| " box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n", | |
| " fill: var(--button-hover-fill-color);\n", | |
| " }\n", | |
| "\n", | |
| " .colab-df-quickchart-complete:disabled,\n", | |
| " .colab-df-quickchart-complete:disabled:hover {\n", | |
| " background-color: var(--disabled-bg-color);\n", | |
| " fill: var(--disabled-fill-color);\n", | |
| " box-shadow: none;\n", | |
| " }\n", | |
| "\n", | |
| " .colab-df-spinner {\n", | |
| " border: 2px solid var(--fill-color);\n", | |
| " border-color: transparent;\n", | |
| " border-bottom-color: var(--fill-color);\n", | |
| " animation:\n", | |
| " spin 1s steps(1) infinite;\n", | |
| " }\n", | |
| "\n", | |
| " @keyframes spin {\n", | |
| " 0% {\n", | |
| " border-color: transparent;\n", | |
| " border-bottom-color: var(--fill-color);\n", | |
| " border-left-color: var(--fill-color);\n", | |
| " }\n", | |
| " 20% {\n", | |
| " border-color: transparent;\n", | |
| " border-left-color: var(--fill-color);\n", | |
| " border-top-color: var(--fill-color);\n", | |
| " }\n", | |
| " 30% {\n", | |
| " border-color: transparent;\n", | |
| " border-left-color: var(--fill-color);\n", | |
| " border-top-color: var(--fill-color);\n", | |
| " border-right-color: var(--fill-color);\n", | |
| " }\n", | |
| " 40% {\n", | |
| " border-color: transparent;\n", | |
| " border-right-color: var(--fill-color);\n", | |
| " border-top-color: var(--fill-color);\n", | |
| " }\n", | |
| " 60% {\n", | |
| " border-color: transparent;\n", | |
| " border-right-color: var(--fill-color);\n", | |
| " }\n", | |
| " 80% {\n", | |
| " border-color: transparent;\n", | |
| " border-right-color: var(--fill-color);\n", | |
| " border-bottom-color: var(--fill-color);\n", | |
| " }\n", | |
| " 90% {\n", | |
| " border-color: transparent;\n", | |
| " border-bottom-color: var(--fill-color);\n", | |
| " }\n", | |
| " }\n", | |
| "</style>\n", | |
| "\n", | |
| " <script>\n", | |
| " async function quickchart(key) {\n", | |
| " const quickchartButtonEl =\n", | |
| " document.querySelector('#' + key + ' button');\n", | |
| " quickchartButtonEl.disabled = true; // To prevent multiple clicks.\n", | |
| " quickchartButtonEl.classList.add('colab-df-spinner');\n", | |
| " try {\n", | |
| " const charts = await google.colab.kernel.invokeFunction(\n", | |
| " 'suggestCharts', [key], {});\n", | |
| " } catch (error) {\n", | |
| " console.error('Error during call to suggestCharts:', error);\n", | |
| " }\n", | |
| " quickchartButtonEl.classList.remove('colab-df-spinner');\n", | |
| " quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n", | |
| " }\n", | |
| " (() => {\n", | |
| " let quickchartButtonEl =\n", | |
| " document.querySelector('#df-44c378e7-4f24-4eb7-867f-f45bb2c11688 button');\n", | |
| " quickchartButtonEl.style.display =\n", | |
| " google.colab.kernel.accessAllowed ? 'block' : 'none';\n", | |
| " })();\n", | |
| " </script>\n", | |
| "</div>\n", | |
| " </div>\n", | |
| " </div>\n" | |
| ], | |
| "text/plain": [ | |
| " type amount oldbalanceOrg oldbalanceDest isFraud\n", | |
| "2 2 181.0 90.5 0.0 1\n", | |
| "3 3 181.0 90.5 10591.0 1\n", | |
| "251 2 2806.0 1403.0 0.0 1\n", | |
| "252 3 2806.0 1403.0 13101.0 1\n", | |
| "680 2 20128.0 10064.0 0.0 1" | |
| ] | |
| }, | |
| "execution_count": 135, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "fraud.head()" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "colab": { | |
| "base_uri": "https://localhost:8080/", | |
| "height": 206 | |
| }, | |
| "id": "gdBjK2KKeJny", | |
| "outputId": "67d64cec-e0d2-4b2a-9c45-a30bf706271a" | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/html": [ | |
| "\n", | |
| " <div id=\"df-30ee164c-ad2b-4800-ab6f-47b665de1cc6\" 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>type</th>\n", | |
| " <th>amount</th>\n", | |
| " <th>oldbalanceOrg</th>\n", | |
| " <th>oldbalanceDest</th>\n", | |
| " <th>isFraud</th>\n", | |
| " </tr>\n", | |
| " </thead>\n", | |
| " <tbody>\n", | |
| " <tr>\n", | |
| " <th>15</th>\n", | |
| " <td>3</td>\n", | |
| " <td>229133.94</td>\n", | |
| " <td>7662.500</td>\n", | |
| " <td>28298.220</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>19</th>\n", | |
| " <td>2</td>\n", | |
| " <td>215310.30</td>\n", | |
| " <td>352.500</td>\n", | |
| " <td>11212.500</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>24</th>\n", | |
| " <td>2</td>\n", | |
| " <td>311685.89</td>\n", | |
| " <td>5417.500</td>\n", | |
| " <td>1362719.945</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>42</th>\n", | |
| " <td>3</td>\n", | |
| " <td>110414.71</td>\n", | |
| " <td>13422.705</td>\n", | |
| " <td>145607.580</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>47</th>\n", | |
| " <td>3</td>\n", | |
| " <td>56953.90</td>\n", | |
| " <td>971.010</td>\n", | |
| " <td>67179.590</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| "</table>\n", | |
| "</div>\n", | |
| " <div class=\"colab-df-buttons\">\n", | |
| "\n", | |
| " <div class=\"colab-df-container\">\n", | |
| " <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-30ee164c-ad2b-4800-ab6f-47b665de1cc6')\"\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 -960 960 960\">\n", | |
| " <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n", | |
| " </svg>\n", | |
| " </button>\n", | |
| "\n", | |
| " <style>\n", | |
| " .colab-df-container {\n", | |
| " display:flex;\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", | |
| " .colab-df-buttons div {\n", | |
| " margin-bottom: 4px;\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-30ee164c-ad2b-4800-ab6f-47b665de1cc6 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-30ee164c-ad2b-4800-ab6f-47b665de1cc6');\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", | |
| "\n", | |
| "\n", | |
| "<div id=\"df-27424477-c88d-4075-b2c0-7a6cca4df7b4\">\n", | |
| " <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-27424477-c88d-4075-b2c0-7a6cca4df7b4')\"\n", | |
| " title=\"Suggest charts.\"\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", | |
| " <g>\n", | |
| " <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n", | |
| " </g>\n", | |
| "</svg>\n", | |
| " </button>\n", | |
| "\n", | |
| "<style>\n", | |
| " .colab-df-quickchart {\n", | |
| " --bg-color: #E8F0FE;\n", | |
| " --fill-color: #1967D2;\n", | |
| " --hover-bg-color: #E2EBFA;\n", | |
| " --hover-fill-color: #174EA6;\n", | |
| " --disabled-fill-color: #AAA;\n", | |
| " --disabled-bg-color: #DDD;\n", | |
| " }\n", | |
| "\n", | |
| " [theme=dark] .colab-df-quickchart {\n", | |
| " --bg-color: #3B4455;\n", | |
| " --fill-color: #D2E3FC;\n", | |
| " --hover-bg-color: #434B5C;\n", | |
| " --hover-fill-color: #FFFFFF;\n", | |
| " --disabled-bg-color: #3B4455;\n", | |
| " --disabled-fill-color: #666;\n", | |
| " }\n", | |
| "\n", | |
| " .colab-df-quickchart {\n", | |
| " background-color: var(--bg-color);\n", | |
| " border: none;\n", | |
| " border-radius: 50%;\n", | |
| " cursor: pointer;\n", | |
| " display: none;\n", | |
| " fill: var(--fill-color);\n", | |
| " height: 32px;\n", | |
| " padding: 0;\n", | |
| " width: 32px;\n", | |
| " }\n", | |
| "\n", | |
| " .colab-df-quickchart:hover {\n", | |
| " background-color: var(--hover-bg-color);\n", | |
| " box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n", | |
| " fill: var(--button-hover-fill-color);\n", | |
| " }\n", | |
| "\n", | |
| " .colab-df-quickchart-complete:disabled,\n", | |
| " .colab-df-quickchart-complete:disabled:hover {\n", | |
| " background-color: var(--disabled-bg-color);\n", | |
| " fill: var(--disabled-fill-color);\n", | |
| " box-shadow: none;\n", | |
| " }\n", | |
| "\n", | |
| " .colab-df-spinner {\n", | |
| " border: 2px solid var(--fill-color);\n", | |
| " border-color: transparent;\n", | |
| " border-bottom-color: var(--fill-color);\n", | |
| " animation:\n", | |
| " spin 1s steps(1) infinite;\n", | |
| " }\n", | |
| "\n", | |
| " @keyframes spin {\n", | |
| " 0% {\n", | |
| " border-color: transparent;\n", | |
| " border-bottom-color: var(--fill-color);\n", | |
| " border-left-color: var(--fill-color);\n", | |
| " }\n", | |
| " 20% {\n", | |
| " border-color: transparent;\n", | |
| " border-left-color: var(--fill-color);\n", | |
| " border-top-color: var(--fill-color);\n", | |
| " }\n", | |
| " 30% {\n", | |
| " border-color: transparent;\n", | |
| " border-left-color: var(--fill-color);\n", | |
| " border-top-color: var(--fill-color);\n", | |
| " border-right-color: var(--fill-color);\n", | |
| " }\n", | |
| " 40% {\n", | |
| " border-color: transparent;\n", | |
| " border-right-color: var(--fill-color);\n", | |
| " border-top-color: var(--fill-color);\n", | |
| " }\n", | |
| " 60% {\n", | |
| " border-color: transparent;\n", | |
| " border-right-color: var(--fill-color);\n", | |
| " }\n", | |
| " 80% {\n", | |
| " border-color: transparent;\n", | |
| " border-right-color: var(--fill-color);\n", | |
| " border-bottom-color: var(--fill-color);\n", | |
| " }\n", | |
| " 90% {\n", | |
| " border-color: transparent;\n", | |
| " border-bottom-color: var(--fill-color);\n", | |
| " }\n", | |
| " }\n", | |
| "</style>\n", | |
| "\n", | |
| " <script>\n", | |
| " async function quickchart(key) {\n", | |
| " const quickchartButtonEl =\n", | |
| " document.querySelector('#' + key + ' button');\n", | |
| " quickchartButtonEl.disabled = true; // To prevent multiple clicks.\n", | |
| " quickchartButtonEl.classList.add('colab-df-spinner');\n", | |
| " try {\n", | |
| " const charts = await google.colab.kernel.invokeFunction(\n", | |
| " 'suggestCharts', [key], {});\n", | |
| " } catch (error) {\n", | |
| " console.error('Error during call to suggestCharts:', error);\n", | |
| " }\n", | |
| " quickchartButtonEl.classList.remove('colab-df-spinner');\n", | |
| " quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n", | |
| " }\n", | |
| " (() => {\n", | |
| " let quickchartButtonEl =\n", | |
| " document.querySelector('#df-27424477-c88d-4075-b2c0-7a6cca4df7b4 button');\n", | |
| " quickchartButtonEl.style.display =\n", | |
| " google.colab.kernel.accessAllowed ? 'block' : 'none';\n", | |
| " })();\n", | |
| " </script>\n", | |
| "</div>\n", | |
| " </div>\n", | |
| " </div>\n" | |
| ], | |
| "text/plain": [ | |
| " type amount oldbalanceOrg oldbalanceDest isFraud\n", | |
| "15 3 229133.94 7662.500 28298.220 0\n", | |
| "19 2 215310.30 352.500 11212.500 0\n", | |
| "24 2 311685.89 5417.500 1362719.945 0\n", | |
| "42 3 110414.71 13422.705 145607.580 0\n", | |
| "47 3 56953.90 971.010 67179.590 0" | |
| ] | |
| }, | |
| "execution_count": 138, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "nonfraud.head()" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "id": "silH8ybukcS0" | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "f=fraud.sample(1000)\n", | |
| "nf=nonfraud.sample(1000)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "colab": { | |
| "base_uri": "https://localhost:8080/", | |
| "height": 463 | |
| }, | |
| "id": "iouoSVn3eNeK", | |
| "outputId": "12703f6b-27ca-466c-fecc-b09fc4c40fdc" | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "image/png": "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\n", | |
| "text/plain": [ | |
| "<Figure size 640x480 with 1 Axes>" | |
| ] | |
| }, | |
| "metadata": {}, | |
| "output_type": "display_data" | |
| } | |
| ], | |
| "source": [ | |
| "fig = plt.figure()\n", | |
| "ax = fig.add_subplot(1,1,1)\n", | |
| "ax.scatter(nf['oldbalanceOrg'],f['oldbalanceOrg'],c='g')\n", | |
| "ax.scatter(nf['amount'],f['amount'],c='r')\n", | |
| "plt.show()" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "id": "vbyEb9E6jn4J" | |
| }, | |
| "source": [ | |
| "Relationship between fraud amount and non fraud amounts. Shows how largely, the pattern is non linear and invisible. Therefore more doccumentation is necessary to establish more patterns and help with analysis" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "id": "T2jltndPriDb" | |
| }, | |
| "source": [ | |
| "Lest us try some hyperparameter tuning" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "id": "2Vsh8pV6jou-" | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "clf1 = RandomForestClassifier(n_estimators=7)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "id": "R25uEvCCsCl3" | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "probabilities = clf1.fit(train_X, train_y.values.ravel()).predict(test_X)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "colab": { | |
| "base_uri": "https://localhost:8080/" | |
| }, | |
| "id": "-q4VTnLnsGpk", | |
| "outputId": "4cf77d99-b166-4fe7-cbe2-b925a2b76b6e" | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "0.7205768043616442\n", | |
| "0.8802368059448755\n", | |
| "0.9991824314812608\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| " print(average_precision_score(test_y,probabilities))\n", | |
| " print(recall_score(test_y,probabilities, average='macro'))\n", | |
| " print(accuracy_score(test_y,probabilities))" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "id": "UNJVHckdviLT" | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "clf1 = RandomForestClassifier(n_estimators=7,max_depth=3)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "colab": { | |
| "base_uri": "https://localhost:8080/", | |
| "height": 74 | |
| }, | |
| "id": "mSSK3RCSwIpj", | |
| "outputId": "d6937439-11e3-473d-fd0e-9544fc435061" | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/html": [ | |
| "<style>#sk-container-id-1 {color: black;background-color: white;}#sk-container-id-1 pre{padding: 0;}#sk-container-id-1 div.sk-toggleable {background-color: white;}#sk-container-id-1 label.sk-toggleable__label {cursor: pointer;display: block;width: 100%;margin-bottom: 0;padding: 0.3em;box-sizing: border-box;text-align: center;}#sk-container-id-1 label.sk-toggleable__label-arrow:before {content: \"▸\";float: left;margin-right: 0.25em;color: #696969;}#sk-container-id-1 label.sk-toggleable__label-arrow:hover:before {color: black;}#sk-container-id-1 div.sk-estimator:hover label.sk-toggleable__label-arrow:before {color: black;}#sk-container-id-1 div.sk-toggleable__content {max-height: 0;max-width: 0;overflow: hidden;text-align: left;background-color: #f0f8ff;}#sk-container-id-1 div.sk-toggleable__content pre {margin: 0.2em;color: black;border-radius: 0.25em;background-color: #f0f8ff;}#sk-container-id-1 input.sk-toggleable__control:checked~div.sk-toggleable__content {max-height: 200px;max-width: 100%;overflow: auto;}#sk-container-id-1 input.sk-toggleable__control:checked~label.sk-toggleable__label-arrow:before {content: \"▾\";}#sk-container-id-1 div.sk-estimator input.sk-toggleable__control:checked~label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-1 div.sk-label input.sk-toggleable__control:checked~label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-1 input.sk-hidden--visually {border: 0;clip: rect(1px 1px 1px 1px);clip: rect(1px, 1px, 1px, 1px);height: 1px;margin: -1px;overflow: hidden;padding: 0;position: absolute;width: 1px;}#sk-container-id-1 div.sk-estimator {font-family: monospace;background-color: #f0f8ff;border: 1px dotted black;border-radius: 0.25em;box-sizing: border-box;margin-bottom: 0.5em;}#sk-container-id-1 div.sk-estimator:hover {background-color: #d4ebff;}#sk-container-id-1 div.sk-parallel-item::after {content: \"\";width: 100%;border-bottom: 1px solid gray;flex-grow: 1;}#sk-container-id-1 div.sk-label:hover label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-1 div.sk-serial::before {content: \"\";position: absolute;border-left: 1px solid gray;box-sizing: border-box;top: 0;bottom: 0;left: 50%;z-index: 0;}#sk-container-id-1 div.sk-serial {display: flex;flex-direction: column;align-items: center;background-color: white;padding-right: 0.2em;padding-left: 0.2em;position: relative;}#sk-container-id-1 div.sk-item {position: relative;z-index: 1;}#sk-container-id-1 div.sk-parallel {display: flex;align-items: stretch;justify-content: center;background-color: white;position: relative;}#sk-container-id-1 div.sk-item::before, #sk-container-id-1 div.sk-parallel-item::before {content: \"\";position: absolute;border-left: 1px solid gray;box-sizing: border-box;top: 0;bottom: 0;left: 50%;z-index: -1;}#sk-container-id-1 div.sk-parallel-item {display: flex;flex-direction: column;z-index: 1;position: relative;background-color: white;}#sk-container-id-1 div.sk-parallel-item:first-child::after {align-self: flex-end;width: 50%;}#sk-container-id-1 div.sk-parallel-item:last-child::after {align-self: flex-start;width: 50%;}#sk-container-id-1 div.sk-parallel-item:only-child::after {width: 0;}#sk-container-id-1 div.sk-dashed-wrapped {border: 1px dashed gray;margin: 0 0.4em 0.5em 0.4em;box-sizing: border-box;padding-bottom: 0.4em;background-color: white;}#sk-container-id-1 div.sk-label label {font-family: monospace;font-weight: bold;display: inline-block;line-height: 1.2em;}#sk-container-id-1 div.sk-label-container {text-align: center;}#sk-container-id-1 div.sk-container {/* jupyter's `normalize.less` sets `[hidden] { display: none; }` but bootstrap.min.css set `[hidden] { display: none !important; }` so we also need the `!important` here to be able to override the default hidden behavior on the sphinx rendered scikit-learn.org. See: https://github.com/scikit-learn/scikit-learn/issues/21755 */display: inline-block !important;position: relative;}#sk-container-id-1 div.sk-text-repr-fallback {display: none;}</style><div id=\"sk-container-id-1\" class=\"sk-top-container\"><div class=\"sk-text-repr-fallback\"><pre>RandomForestClassifier(max_depth=3, n_estimators=7)</pre><b>In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook. <br />On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.</b></div><div class=\"sk-container\" hidden><div class=\"sk-item\"><div class=\"sk-estimator sk-toggleable\"><input class=\"sk-toggleable__control sk-hidden--visually\" id=\"sk-estimator-id-1\" type=\"checkbox\" checked><label for=\"sk-estimator-id-1\" class=\"sk-toggleable__label sk-toggleable__label-arrow\">RandomForestClassifier</label><div class=\"sk-toggleable__content\"><pre>RandomForestClassifier(max_depth=3, n_estimators=7)</pre></div></div></div></div></div>" | |
| ], | |
| "text/plain": [ | |
| "RandomForestClassifier(max_depth=3, n_estimators=7)" | |
| ] | |
| }, | |
| "execution_count": 154, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "clf1.fit(train_X, train_y.values.ravel())" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "id": "_9xT3by0yUEH" | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "prob=clf1.predict(test_X)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "colab": { | |
| "base_uri": "https://localhost:8080/" | |
| }, | |
| "id": "VTyarFsEygMY", | |
| "outputId": "93e6fe18-473a-41e9-edfe-47a2bec4211d" | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "0.5614608394916616\n", | |
| "0.7873847634686285\n", | |
| "0.9987258203659386\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| " print(average_precision_score(test_y,prob))\n", | |
| " print(recall_score(test_y,prob, average='macro'))\n", | |
| " print(accuracy_score(test_y,prob))" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "id": "Sz6OuoL7y3ss" | |
| }, | |
| "source": [ | |
| "Maximum depth has brought the precision down" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "id": "3ubUZ4o4y06f" | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "estimator = clf1.estimators_[5]" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "colab": { | |
| "base_uri": "https://localhost:8080/", | |
| "height": 606 | |
| }, | |
| "id": "4Ua-oj-Py2j3", | |
| "outputId": "f87c2199-7982-42ce-86c9-426486b3386e" | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment