{ "cells": [ { "cell_type": "code", "execution_count": 1, "id": "25458f23", "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", "import numpy as np\n", "\n", "from sklearn import preprocessing\n", "from sklearn.metrics import confusion_matrix\n", "from sklearn import svm\n", "\n", "import itertools\n", "import matplotlib.pyplot as plt\n", "import matplotlib.mlab as mlab\n", "\n", "import seaborn\n", "\n", "%matplotlib inline" ] }, { "cell_type": "code", "execution_count": 2, "id": "c7eb4a24", "metadata": {}, "outputs": [], "source": [ "data = pd.read_csv('./Data/creditcard.csv')\n", "df = pd.DataFrame(data)" ] }, { "cell_type": "code", "execution_count": 3, "id": "a9080a4f", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
TimeV1V2V3V4V5V6V7V8V9...V21V22V23V24V25V26V27V28AmountClass
00.0-1.359807-0.0727812.5363471.378155-0.3383210.4623880.2395990.0986980.363787...-0.0183070.277838-0.1104740.0669280.128539-0.1891150.133558-0.021053149.620
10.01.1918570.2661510.1664800.4481540.060018-0.082361-0.0788030.085102-0.255425...-0.225775-0.6386720.101288-0.3398460.1671700.125895-0.0089830.0147242.690
21.0-1.358354-1.3401631.7732090.379780-0.5031981.8004990.7914610.247676-1.514654...0.2479980.7716790.909412-0.689281-0.327642-0.139097-0.055353-0.059752378.660
31.0-0.966272-0.1852261.792993-0.863291-0.0103091.2472030.2376090.377436-1.387024...-0.1083000.005274-0.190321-1.1755750.647376-0.2219290.0627230.061458123.500
42.0-1.1582330.8777371.5487180.403034-0.4071930.0959210.592941-0.2705330.817739...-0.0094310.798278-0.1374580.141267-0.2060100.5022920.2194220.21515369.990
52.0-0.4259660.9605231.141109-0.1682520.420987-0.0297280.4762010.260314-0.568671...-0.208254-0.559825-0.026398-0.371427-0.2327940.1059150.2538440.0810803.670
64.01.2296580.1410040.0453711.2026130.1918810.272708-0.0051590.0812130.464960...-0.167716-0.270710-0.154104-0.7800550.750137-0.2572370.0345070.0051684.990
77.0-0.6442691.4179641.074380-0.4921990.9489340.4281181.120631-3.8078640.615375...1.943465-1.0154550.057504-0.649709-0.415267-0.051634-1.206921-1.08533940.800
87.0-0.8942860.286157-0.113192-0.2715262.6695993.7218180.3701450.851084-0.392048...-0.073425-0.268092-0.2042331.0115920.373205-0.3841570.0117470.14240493.200
99.0-0.3382621.1195931.044367-0.2221870.499361-0.2467610.6515830.069539-0.736727...-0.246914-0.633753-0.120794-0.385050-0.0697330.0941990.2462190.0830763.680
1010.01.449044-1.1763390.913860-1.375667-1.971383-0.629152-1.4232360.048456-1.720408...-0.0093020.3138940.0277400.5005120.251367-0.1294780.0428500.0162537.800
1110.00.3849780.616109-0.874300-0.0940192.9245843.3170270.4704550.538247-0.558895...0.0499240.2384220.0091300.996710-0.767315-0.4922080.042472-0.0543379.990
1210.01.249999-1.2216370.383930-1.234899-1.485419-0.753230-0.689405-0.227487-2.094011...-0.231809-0.4832850.0846680.3928310.161135-0.3549900.0264160.042422121.500
1311.01.0693740.2877220.8286132.712520-0.1783980.337544-0.0967170.115982-0.221083...-0.0368760.074412-0.0714070.1047440.5482650.1040940.0214910.02129327.500
1412.0-2.791855-0.3277711.6417501.767473-0.1365880.807596-0.422911-1.9071070.755713...1.1516630.2221821.0205860.028317-0.232746-0.235557-0.164778-0.03015458.800
1512.0-0.7524170.3454852.057323-1.468643-1.158394-0.077850-0.6085810.003603-0.436167...0.4996251.353650-0.256573-0.065084-0.039124-0.087086-0.1809980.12939415.990
1612.01.103215-0.0402961.2673321.289091-0.7359970.288069-0.5860570.1893800.782333...-0.0246120.1960020.0138020.1037580.364298-0.3822610.0928090.03705112.990
1713.0-0.4369050.9189660.924591-0.7272190.915679-0.1278670.7076420.087962-0.665271...-0.194796-0.672638-0.156858-0.888386-0.342413-0.0490270.0796920.1310240.890
1814.0-5.401258-5.4501481.1863051.7362393.049106-1.763406-1.5597380.1608421.233090...-0.5036000.9844602.4585890.042119-0.481631-0.6212720.3920530.94959446.800
1915.01.492936-1.0293460.454795-1.438026-1.555434-0.720961-1.080664-0.053127-1.978682...-0.177650-0.1750740.0400020.2958140.332931-0.2203850.0222980.0076025.000
\n", "

20 rows × 31 columns

\n", "
" ], "text/plain": [ " Time V1 V2 V3 V4 V5 V6 \\\n", "0 0.0 -1.359807 -0.072781 2.536347 1.378155 -0.338321 0.462388 \n", "1 0.0 1.191857 0.266151 0.166480 0.448154 0.060018 -0.082361 \n", "2 1.0 -1.358354 -1.340163 1.773209 0.379780 -0.503198 1.800499 \n", "3 1.0 -0.966272 -0.185226 1.792993 -0.863291 -0.010309 1.247203 \n", "4 2.0 -1.158233 0.877737 1.548718 0.403034 -0.407193 0.095921 \n", "5 2.0 -0.425966 0.960523 1.141109 -0.168252 0.420987 -0.029728 \n", "6 4.0 1.229658 0.141004 0.045371 1.202613 0.191881 0.272708 \n", "7 7.0 -0.644269 1.417964 1.074380 -0.492199 0.948934 0.428118 \n", "8 7.0 -0.894286 0.286157 -0.113192 -0.271526 2.669599 3.721818 \n", "9 9.0 -0.338262 1.119593 1.044367 -0.222187 0.499361 -0.246761 \n", "10 10.0 1.449044 -1.176339 0.913860 -1.375667 -1.971383 -0.629152 \n", "11 10.0 0.384978 0.616109 -0.874300 -0.094019 2.924584 3.317027 \n", "12 10.0 1.249999 -1.221637 0.383930 -1.234899 -1.485419 -0.753230 \n", "13 11.0 1.069374 0.287722 0.828613 2.712520 -0.178398 0.337544 \n", "14 12.0 -2.791855 -0.327771 1.641750 1.767473 -0.136588 0.807596 \n", "15 12.0 -0.752417 0.345485 2.057323 -1.468643 -1.158394 -0.077850 \n", "16 12.0 1.103215 -0.040296 1.267332 1.289091 -0.735997 0.288069 \n", "17 13.0 -0.436905 0.918966 0.924591 -0.727219 0.915679 -0.127867 \n", "18 14.0 -5.401258 -5.450148 1.186305 1.736239 3.049106 -1.763406 \n", "19 15.0 1.492936 -1.029346 0.454795 -1.438026 -1.555434 -0.720961 \n", "\n", " V7 V8 V9 ... V21 V22 V23 V24 \\\n", "0 0.239599 0.098698 0.363787 ... -0.018307 0.277838 -0.110474 0.066928 \n", "1 -0.078803 0.085102 -0.255425 ... -0.225775 -0.638672 0.101288 -0.339846 \n", "2 0.791461 0.247676 -1.514654 ... 0.247998 0.771679 0.909412 -0.689281 \n", "3 0.237609 0.377436 -1.387024 ... -0.108300 0.005274 -0.190321 -1.175575 \n", "4 0.592941 -0.270533 0.817739 ... -0.009431 0.798278 -0.137458 0.141267 \n", "5 0.476201 0.260314 -0.568671 ... -0.208254 -0.559825 -0.026398 -0.371427 \n", "6 -0.005159 0.081213 0.464960 ... -0.167716 -0.270710 -0.154104 -0.780055 \n", "7 1.120631 -3.807864 0.615375 ... 1.943465 -1.015455 0.057504 -0.649709 \n", "8 0.370145 0.851084 -0.392048 ... -0.073425 -0.268092 -0.204233 1.011592 \n", "9 0.651583 0.069539 -0.736727 ... -0.246914 -0.633753 -0.120794 -0.385050 \n", "10 -1.423236 0.048456 -1.720408 ... -0.009302 0.313894 0.027740 0.500512 \n", "11 0.470455 0.538247 -0.558895 ... 0.049924 0.238422 0.009130 0.996710 \n", "12 -0.689405 -0.227487 -2.094011 ... -0.231809 -0.483285 0.084668 0.392831 \n", "13 -0.096717 0.115982 -0.221083 ... -0.036876 0.074412 -0.071407 0.104744 \n", "14 -0.422911 -1.907107 0.755713 ... 1.151663 0.222182 1.020586 0.028317 \n", "15 -0.608581 0.003603 -0.436167 ... 0.499625 1.353650 -0.256573 -0.065084 \n", "16 -0.586057 0.189380 0.782333 ... -0.024612 0.196002 0.013802 0.103758 \n", "17 0.707642 0.087962 -0.665271 ... -0.194796 -0.672638 -0.156858 -0.888386 \n", "18 -1.559738 0.160842 1.233090 ... -0.503600 0.984460 2.458589 0.042119 \n", "19 -1.080664 -0.053127 -1.978682 ... -0.177650 -0.175074 0.040002 0.295814 \n", "\n", " V25 V26 V27 V28 Amount Class \n", "0 0.128539 -0.189115 0.133558 -0.021053 149.62 0 \n", "1 0.167170 0.125895 -0.008983 0.014724 2.69 0 \n", "2 -0.327642 -0.139097 -0.055353 -0.059752 378.66 0 \n", "3 0.647376 -0.221929 0.062723 0.061458 123.50 0 \n", "4 -0.206010 0.502292 0.219422 0.215153 69.99 0 \n", "5 -0.232794 0.105915 0.253844 0.081080 3.67 0 \n", "6 0.750137 -0.257237 0.034507 0.005168 4.99 0 \n", "7 -0.415267 -0.051634 -1.206921 -1.085339 40.80 0 \n", "8 0.373205 -0.384157 0.011747 0.142404 93.20 0 \n", "9 -0.069733 0.094199 0.246219 0.083076 3.68 0 \n", "10 0.251367 -0.129478 0.042850 0.016253 7.80 0 \n", "11 -0.767315 -0.492208 0.042472 -0.054337 9.99 0 \n", "12 0.161135 -0.354990 0.026416 0.042422 121.50 0 \n", "13 0.548265 0.104094 0.021491 0.021293 27.50 0 \n", "14 -0.232746 -0.235557 -0.164778 -0.030154 58.80 0 \n", "15 -0.039124 -0.087086 -0.180998 0.129394 15.99 0 \n", "16 0.364298 -0.382261 0.092809 0.037051 12.99 0 \n", "17 -0.342413 -0.049027 0.079692 0.131024 0.89 0 \n", "18 -0.481631 -0.621272 0.392053 0.949594 46.80 0 \n", "19 0.332931 -0.220385 0.022298 0.007602 5.00 0 \n", "\n", "[20 rows x 31 columns]" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.head(20)" ] }, { "cell_type": "code", "execution_count": 4, "id": "a94183a1", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
TimeV1V2V3V4V5V6V7V8V9...V21V22V23V24V25V26V27V28AmountClass
count284807.0000002.848070e+052.848070e+052.848070e+052.848070e+052.848070e+052.848070e+052.848070e+052.848070e+052.848070e+05...2.848070e+052.848070e+052.848070e+052.848070e+052.848070e+052.848070e+052.848070e+052.848070e+05284807.000000284807.000000
mean94813.8595753.918649e-155.682686e-16-8.761736e-152.811118e-15-1.552103e-152.040130e-15-1.698953e-15-1.893285e-16-3.147640e-15...1.473120e-168.042109e-165.282512e-164.456271e-151.426896e-151.701640e-15-3.662252e-16-1.217809e-1688.3496190.001727
std47488.1459551.958696e+001.651309e+001.516255e+001.415869e+001.380247e+001.332271e+001.237094e+001.194353e+001.098632e+00...7.345240e-017.257016e-016.244603e-016.056471e-015.212781e-014.822270e-014.036325e-013.300833e-01250.1201090.041527
min0.000000-5.640751e+01-7.271573e+01-4.832559e+01-5.683171e+00-1.137433e+02-2.616051e+01-4.355724e+01-7.321672e+01-1.343407e+01...-3.483038e+01-1.093314e+01-4.480774e+01-2.836627e+00-1.029540e+01-2.604551e+00-2.256568e+01-1.543008e+010.0000000.000000
25%54201.500000-9.203734e-01-5.985499e-01-8.903648e-01-8.486401e-01-6.915971e-01-7.682956e-01-5.540759e-01-2.086297e-01-6.430976e-01...-2.283949e-01-5.423504e-01-1.618463e-01-3.545861e-01-3.171451e-01-3.269839e-01-7.083953e-02-5.295979e-025.6000000.000000
50%84692.0000001.810880e-026.548556e-021.798463e-01-1.984653e-02-5.433583e-02-2.741871e-014.010308e-022.235804e-02-5.142873e-02...-2.945017e-026.781943e-03-1.119293e-024.097606e-021.659350e-02-5.213911e-021.342146e-031.124383e-0222.0000000.000000
75%139320.5000001.315642e+008.037239e-011.027196e+007.433413e-016.119264e-013.985649e-015.704361e-013.273459e-015.971390e-01...1.863772e-015.285536e-011.476421e-014.395266e-013.507156e-012.409522e-019.104512e-027.827995e-0277.1650000.000000
max172792.0000002.454930e+002.205773e+019.382558e+001.687534e+013.480167e+017.330163e+011.205895e+022.000721e+011.559499e+01...2.720284e+011.050309e+012.252841e+014.584549e+007.519589e+003.517346e+003.161220e+013.384781e+0125691.1600001.000000
\n", "

8 rows × 31 columns

\n", "
" ], "text/plain": [ " Time V1 V2 V3 V4 \\\n", "count 284807.000000 2.848070e+05 2.848070e+05 2.848070e+05 2.848070e+05 \n", "mean 94813.859575 3.918649e-15 5.682686e-16 -8.761736e-15 2.811118e-15 \n", "std 47488.145955 1.958696e+00 1.651309e+00 1.516255e+00 1.415869e+00 \n", "min 0.000000 -5.640751e+01 -7.271573e+01 -4.832559e+01 -5.683171e+00 \n", "25% 54201.500000 -9.203734e-01 -5.985499e-01 -8.903648e-01 -8.486401e-01 \n", "50% 84692.000000 1.810880e-02 6.548556e-02 1.798463e-01 -1.984653e-02 \n", "75% 139320.500000 1.315642e+00 8.037239e-01 1.027196e+00 7.433413e-01 \n", "max 172792.000000 2.454930e+00 2.205773e+01 9.382558e+00 1.687534e+01 \n", "\n", " V5 V6 V7 V8 V9 \\\n", "count 2.848070e+05 2.848070e+05 2.848070e+05 2.848070e+05 2.848070e+05 \n", "mean -1.552103e-15 2.040130e-15 -1.698953e-15 -1.893285e-16 -3.147640e-15 \n", "std 1.380247e+00 1.332271e+00 1.237094e+00 1.194353e+00 1.098632e+00 \n", "min -1.137433e+02 -2.616051e+01 -4.355724e+01 -7.321672e+01 -1.343407e+01 \n", "25% -6.915971e-01 -7.682956e-01 -5.540759e-01 -2.086297e-01 -6.430976e-01 \n", "50% -5.433583e-02 -2.741871e-01 4.010308e-02 2.235804e-02 -5.142873e-02 \n", "75% 6.119264e-01 3.985649e-01 5.704361e-01 3.273459e-01 5.971390e-01 \n", "max 3.480167e+01 7.330163e+01 1.205895e+02 2.000721e+01 1.559499e+01 \n", "\n", " ... V21 V22 V23 V24 \\\n", "count ... 2.848070e+05 2.848070e+05 2.848070e+05 2.848070e+05 \n", "mean ... 1.473120e-16 8.042109e-16 5.282512e-16 4.456271e-15 \n", "std ... 7.345240e-01 7.257016e-01 6.244603e-01 6.056471e-01 \n", "min ... -3.483038e+01 -1.093314e+01 -4.480774e+01 -2.836627e+00 \n", "25% ... -2.283949e-01 -5.423504e-01 -1.618463e-01 -3.545861e-01 \n", "50% ... -2.945017e-02 6.781943e-03 -1.119293e-02 4.097606e-02 \n", "75% ... 1.863772e-01 5.285536e-01 1.476421e-01 4.395266e-01 \n", "max ... 2.720284e+01 1.050309e+01 2.252841e+01 4.584549e+00 \n", "\n", " V25 V26 V27 V28 Amount \\\n", "count 2.848070e+05 2.848070e+05 2.848070e+05 2.848070e+05 284807.000000 \n", "mean 1.426896e-15 1.701640e-15 -3.662252e-16 -1.217809e-16 88.349619 \n", "std 5.212781e-01 4.822270e-01 4.036325e-01 3.300833e-01 250.120109 \n", "min -1.029540e+01 -2.604551e+00 -2.256568e+01 -1.543008e+01 0.000000 \n", "25% -3.171451e-01 -3.269839e-01 -7.083953e-02 -5.295979e-02 5.600000 \n", "50% 1.659350e-02 -5.213911e-02 1.342146e-03 1.124383e-02 22.000000 \n", "75% 3.507156e-01 2.409522e-01 9.104512e-02 7.827995e-02 77.165000 \n", "max 7.519589e+00 3.517346e+00 3.161220e+01 3.384781e+01 25691.160000 \n", "\n", " Class \n", "count 284807.000000 \n", "mean 0.001727 \n", "std 0.041527 \n", "min 0.000000 \n", "25% 0.000000 \n", "50% 0.000000 \n", "75% 0.000000 \n", "max 1.000000 \n", "\n", "[8 rows x 31 columns]" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.describe()" ] }, { "cell_type": "code", "execution_count": 5, "id": "15eb35a9", "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "df_fraud = df[df['Class'] == 1]\n", "plt.figure(figsize=(15, 10))\n", "plt.scatter(df_fraud['Time'], df_fraud['Amount'])\n", "plt.title('Scatter plot amount fraud')\n", "plt.xlabel('Time')\n", "plt.ylabel('Amount')\n", "plt.xlim([0, 175000])\n", "plt.ylim([0, 2500])\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 6, "id": "f766e4ba", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "There are only 9 frauds where the amount was bigger than 1000 over 492 frauds\n" ] } ], "source": [ "nb_big_fraud = df_fraud[df_fraud['Amount'] > 1000].shape[0]\n", "print('There are only '+ str(nb_big_fraud) + ' frauds where the amount was bigger than 1000 over '+ str(df_fraud.shape[0])+ ' frauds')" ] }, { "cell_type": "code", "execution_count": 7, "id": "bc3dc842", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "There are only 492 frauds in the original dataset, even though there are 284315 no frauds in the dataset.\n" ] } ], "source": [ "number_fraud = len(data[data.Class == 1])\n", "number_no_fraud = len(data[data.Class == 0])\n", "\n", "print('There are only '+ str(number_fraud)+ ' frauds in the original dataset, even though there are '\n", " + str(number_no_fraud) + ' no frauds in the dataset.')" ] }, { "cell_type": "markdown", "id": "6aa58e67", "metadata": {}, "source": [ "Data Imbalance 확인" ] }, { "cell_type": "code", "execution_count": 8, "id": "8e785fb2", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The accuracy of the classifier then would be : 0.998269524998681 which is the number of good classification over the number of tuple to classify\n" ] } ], "source": [ "print(\"The accuracy of the classifier then would be : \"+ str((284315-492)/284315)+ \" which is the number of good classification over the number of tuple to classify\")" ] }, { "cell_type": "code", "execution_count": 9, "id": "98b5063c", "metadata": {}, "outputs": [], "source": [ "df_corr = df.corr()" ] }, { "cell_type": "code", "execution_count": 10, "id": "3b65db7c", "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(15,10))\n", "seaborn.heatmap(df_corr, cmap='YlGnBu')\n", "seaborn.set(font_scale=2, style='white')\n", "\n", "plt.title('Heatmap correlation')\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "0364f220", "metadata": {}, "source": [ "데이터의 feature 를 통하여, 상관관계가 미약하다는 것을 확인하였고, 이 많은 feature 들은 PCA 를 통하여 차원 축소가 시행되었다는 짐작을 할 수 있다." ] }, { "cell_type": "code", "execution_count": 11, "id": "98de079a", "metadata": {}, "outputs": [], "source": [ "rank = df_corr['Class']\n", "\n", "df_rank = pd.DataFrame(rank)\n", "df_rank = np.abs(df_rank).sort_values(by='Class', ascending=False)\n", "df_rank.dropna(inplace=True)" ] }, { "cell_type": "code", "execution_count": 12, "id": "81a6026e", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Class
Class1.000000
V170.326481
V140.302544
V120.260593
V100.216883
V160.196539
V30.192961
V70.187257
V110.154876
V40.133447
V180.111485
V10.101347
V90.097733
V50.094974
V20.091289
V60.043643
V210.040413
V190.034783
V200.020090
V80.019875
V270.017580
Time0.012323
V280.009536
V240.007221
Amount0.005632
V130.004570
V260.004455
V150.004223
V250.003308
V230.002685
V220.000805
\n", "
" ], "text/plain": [ " Class\n", "Class 1.000000\n", "V17 0.326481\n", "V14 0.302544\n", "V12 0.260593\n", "V10 0.216883\n", "V16 0.196539\n", "V3 0.192961\n", "V7 0.187257\n", "V11 0.154876\n", "V4 0.133447\n", "V18 0.111485\n", "V1 0.101347\n", "V9 0.097733\n", "V5 0.094974\n", "V2 0.091289\n", "V6 0.043643\n", "V21 0.040413\n", "V19 0.034783\n", "V20 0.020090\n", "V8 0.019875\n", "V27 0.017580\n", "Time 0.012323\n", "V28 0.009536\n", "V24 0.007221\n", "Amount 0.005632\n", "V13 0.004570\n", "V26 0.004455\n", "V15 0.004223\n", "V25 0.003308\n", "V23 0.002685\n", "V22 0.000805" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df_rank" ] }, { "cell_type": "code", "execution_count": 13, "id": "cab0c427", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "In this dataset, we have 293 frauds so we need to take a similar number of non-fraoud\n" ] } ], "source": [ "df_train_all = df[0:150000]\n", "df_train_1 = df_train_all[df_train_all['Class']==1]\n", "df_train_0 = df_train_all[df_train_all['Class']==0]\n", "\n", "print('In this dataset, we have ' + str(len(df_train_1)) + \" frauds so we need to take a similar number of non-fraoud\")" ] }, { "cell_type": "code", "execution_count": 14, "id": "452fe969", "metadata": {}, "outputs": [], "source": [ "df_sample = df_train_0.sample(300)\n", "df_train = df_train_1.append(df_sample)\n", "df_train = df_train.sample(frac=1)" ] }, { "cell_type": "code", "execution_count": 15, "id": "ffc5a5cb", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(593, 29) (593,)\n", "--------------------------\n", "[[ 1.10326418e+00 -1.52138925e-01 -3.43749533e-01 ... -7.06731430e-02\n", " 1.55622320e-02 1.24000000e+02]\n", " [ 1.15937315e+00 2.84479470e+00 -4.05067951e+00 ... 9.97894426e-03\n", " 1.60769150e-01 1.00000000e+00]\n", " [-1.76096803e+00 3.16129806e-01 2.53107227e+00 ... -2.39447268e-01\n", " -3.74249112e-01 1.68030000e+02]\n", " ...\n", " [-2.14693858e+00 1.29872897e+00 2.93280728e+00 ... -5.23241120e-01\n", " -9.52989889e-01 2.54400000e+01]\n", " [-4.71052878e+00 8.63621439e+00 -1.54962220e+01 ... 1.60595762e+00\n", " 7.21643615e-01 1.00000000e+00]\n", " [-3.24018659e+00 2.97812179e+00 -4.16231394e+00 ... 4.21299802e-01\n", " 3.14587612e-03 1.72320000e+02]]\n", "[0 1 0 1 0 1 1 1 0 0 1 1 0 1 0 1 0 0 1 1 1 1 0 0 1 0 0 1 0 0 0 0 0 0 0 1 1\n", " 0 0 0 1 1 0 0 0 1 0 1 0 1 1 0 0 0 1 0 0 0 0 1 0 1 0 0 0 1 0 1 0 1 0 0 1 1\n", " 1 0 0 0 0 1 0 1 0 1 1 0 1 0 1 0 0 0 1 0 0 1 0 1 1 1 0 0 0 0 0 1 0 1 1 0 1\n", " 0 1 0 0 1 0 0 1 0 0 0 0 1 1 1 1 1 1 1 1 0 0 1 1 1 0 0 0 0 1 1 1 0 1 1 1 1\n", " 1 0 0 1 0 0 0 1 0 1 1 1 1 0 1 0 0 1 1 1 1 1 0 0 1 0 1 1 1 0 0 0 0 0 1 0 0\n", " 1 0 0 0 0 0 1 1 1 1 1 0 1 1 0 1 1 1 0 1 1 1 1 0 1 0 1 1 0 1 1 1 0 1 1 0 1\n", " 1 1 0 1 1 0 1 1 0 0 1 1 0 1 1 0 1 1 0 1 0 0 1 1 1 0 1 1 0 0 0 1 1 0 0 1 1\n", " 1 0 0 1 0 0 0 0 0 0 0 1 1 0 0 1 1 0 0 1 1 0 1 0 0 0 0 1 0 1 0 0 0 0 1 0 1\n", " 0 0 1 0 0 1 0 1 0 0 0 0 0 0 1 1 1 0 1 1 1 1 0 1 1 1 1 1 0 1 1 0 1 0 0 0 1\n", " 0 0 0 0 1 0 0 0 1 1 1 0 1 0 1 1 0 1 1 1 1 1 0 1 0 0 1 1 0 0 0 0 0 0 0 1 1\n", " 1 0 0 0 1 1 0 0 1 1 0 0 0 1 0 0 1 1 0 0 0 1 1 0 0 0 0 1 1 0 0 1 0 1 1 0 0\n", " 1 1 0 1 0 1 1 0 1 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 1 1 1 1 1 1 0 1 1 0 0 1 0\n", " 1 0 0 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 1 0 0 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1\n", " 1 0 0 0 0 1 0 1 0 0 0 1 0 1 1 0 0 0 1 1 1 1 0 1 0 1 1 1 1 1 1 1 1 0 1 0 1\n", " 0 0 0 0 1 0 1 1 1 0 0 1 0 1 0 0 0 1 1 1 1 0 1 0 1 0 1 1 0 1 1 1 1 0 1 1 1\n", " 1 1 1 1 1 1 0 1 0 0 0 0 1 1 0 0 1 1 0 0 1 1 0 0 0 0 0 1 1 0 1 1 1 1 1 0 1\n", " 1]\n" ] } ], "source": [ "X_train = df_train.drop(['Time', 'Class'], axis=1)\n", "y_train = df_train['Class']\n", "X_train = np.asarray(X_train)\n", "y_train = np.asarray(y_train)\n", "\n", "print(X_train.shape, y_train.shape)\n", "print('--------------------------')\n", "print(X_train)\n", "print(y_train)" ] }, { "cell_type": "code", "execution_count": 16, "id": "a9e2b0db", "metadata": {}, "outputs": [], "source": [ "df_test_all = df[150000:]\n", "\n", "X_test_all = df_test_all.drop(['Time', 'Class'], axis=1)\n", "y_test_all = df_test_all['Class']\n", "X_test_all = np.asarray(X_test_all)\n", "y_test_all = np.asarray(y_test_all)" ] }, { "cell_type": "code", "execution_count": 17, "id": "393c8b82", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
V17V14V12V10V16V3V7V11V4V18
93328-0.365639-0.0125580.526035-0.196034-0.111678-0.3437500.446205-1.1444870.572710-0.447405
405256.443510-7.208312-2.425933-2.0421682.375296-4.0506801.7440861.8440934.7777012.591846
309720.455235-1.0989840.644865-1.095936-0.6616442.5310720.318715-1.4176230.711357-0.807608
16415-4.835558-4.852867-3.826705-3.465689-2.617361-1.459495-2.8142632.3516191.921863-1.921752
1029161.1844970.0654910.6147740.740977-1.218134-1.5867611.1213741.604528-0.193311-0.531872
.................................
6427-4.830324-6.210258-7.148243-4.624985-3.599540-5.329976-3.9685935.5887244.007683-0.649090
96789-5.301273-6.160457-3.581375-2.856117-2.543105-1.822448-1.7225231.6182620.605761-2.192713
116281-0.636943-2.550936-0.8551605.026082-2.5696092.9328071.3166220.770478-0.5743790.855002
9509-13.799148-17.475921-16.558197-11.712187-10.222203-15.496222-10.78837311.15249110.313349-5.008585
43773-9.855927-6.073989-6.533107-4.758304-7.718042-4.162314-4.7447303.4710983.869124-5.193908
\n", "

593 rows × 10 columns

\n", "
" ], "text/plain": [ " V17 V14 V12 V10 V16 V3 \\\n", "93328 -0.365639 -0.012558 0.526035 -0.196034 -0.111678 -0.343750 \n", "40525 6.443510 -7.208312 -2.425933 -2.042168 2.375296 -4.050680 \n", "30972 0.455235 -1.098984 0.644865 -1.095936 -0.661644 2.531072 \n", "16415 -4.835558 -4.852867 -3.826705 -3.465689 -2.617361 -1.459495 \n", "102916 1.184497 0.065491 0.614774 0.740977 -1.218134 -1.586761 \n", "... ... ... ... ... ... ... \n", "6427 -4.830324 -6.210258 -7.148243 -4.624985 -3.599540 -5.329976 \n", "96789 -5.301273 -6.160457 -3.581375 -2.856117 -2.543105 -1.822448 \n", "116281 -0.636943 -2.550936 -0.855160 5.026082 -2.569609 2.932807 \n", "9509 -13.799148 -17.475921 -16.558197 -11.712187 -10.222203 -15.496222 \n", "43773 -9.855927 -6.073989 -6.533107 -4.758304 -7.718042 -4.162314 \n", "\n", " V7 V11 V4 V18 \n", "93328 0.446205 -1.144487 0.572710 -0.447405 \n", "40525 1.744086 1.844093 4.777701 2.591846 \n", "30972 0.318715 -1.417623 0.711357 -0.807608 \n", "16415 -2.814263 2.351619 1.921863 -1.921752 \n", "102916 1.121374 1.604528 -0.193311 -0.531872 \n", "... ... ... ... ... \n", "6427 -3.968593 5.588724 4.007683 -0.649090 \n", "96789 -1.722523 1.618262 0.605761 -2.192713 \n", "116281 1.316622 0.770478 -0.574379 0.855002 \n", "9509 -10.788373 11.152491 10.313349 -5.008585 \n", "43773 -4.744730 3.471098 3.869124 -5.193908 \n", "\n", "[593 rows x 10 columns]" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "X_train_rank = df_train[df_rank.index[1:11]]\n", "X_train_rank" ] }, { "cell_type": "code", "execution_count": 18, "id": "24c5deae", "metadata": {}, "outputs": [], "source": [ "X_test_all_rank = df_test_all[df_rank.index[1:11]]\n", "X_test_all_rank = np.asarray(X_test_all_rank)\n", "y_test_all = np.asarray(y_test_all)" ] }, { "cell_type": "code", "execution_count": 19, "id": "826b859a", "metadata": {}, "outputs": [], "source": [ "class_names = np.array(['0','1'])" ] }, { "cell_type": "code", "execution_count": 20, "id": "0865a1ea", "metadata": {}, "outputs": [], "source": [ "def plot_confusion_matrix(cm, classes,\n", " title='Confusion matrix',\n", " cmap=plt.cm.Blues):\n", " \n", " plt.imshow(cm, interpolation='nearest', cmap=cmap)\n", " plt.title(title)\n", " plt.colorbar()\n", " tick_marks = np.arange(len(classes))\n", " plt.xticks(tick_marks, classes, rotation=45)\n", " plt.yticks(tick_marks, classes)\n", "\n", " fmt = 'd' \n", " thresh = cm.max() / 2.\n", " for i, j in itertools.product(range(cm.shape[0]), range(cm.shape[1])):\n", " plt.text(j, i, format(cm[i, j], fmt),\n", " horizontalalignment=\"center\",\n", " color=\"white\" if cm[i, j] > thresh else \"black\")\n", "\n", " plt.tight_layout()\n", " plt.ylabel('True label')\n", " plt.xlabel('Predicted label')" ] }, { "cell_type": "code", "execution_count": 21, "id": "e119b29b", "metadata": {}, "outputs": [], "source": [ "classifier = svm.SVC(kernel='linear')" ] }, { "cell_type": "code", "execution_count": 22, "id": "7039e54d", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "SVC(kernel='linear')" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "classifier.fit(X_train, y_train)" ] }, { "cell_type": "code", "execution_count": 23, "id": "31e7a31a", "metadata": {}, "outputs": [], "source": [ "prediction_SVM_all = classifier.predict(X_test_all)" ] }, { "cell_type": "code", "execution_count": 24, "id": "968ab76f", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[123624 10984]\n", " [ 15 184]]\n", "2 2\n" ] } ], "source": [ "cm = confusion_matrix(y_test_all, prediction_SVM_all)\n", "print(cm)\n", "print(cm.shape[0], cm.shape[1])" ] }, { "cell_type": "code", "execution_count": 25, "id": "84e2d7d3", "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plot_confusion_matrix(cm, class_names)" ] }, { "cell_type": "code", "execution_count": 26, "id": "b3dc10ec", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "We have detected 184 frauds / 199 total frauds.\n", "\n", "So, the probability to detect a fraud is 0.9246231155778895\n", "the accuracy is : 0.9184092814171371\n" ] } ], "source": [ "print('We have detected ' + str(cm[1][1]) + ' frauds / ' + str(cm[1][1]+cm[1][0]) + ' total frauds.')\n", "print('\\nSo, the probability to detect a fraud is ' + str(cm[1][1]/(cm[1][1]+cm[1][0])))\n", "print(\"the accuracy is : \"+str((cm[0][0]+cm[1][1]) / (sum(cm[0]) + sum(cm[1]))))" ] }, { "cell_type": "markdown", "id": "49162432", "metadata": {}, "source": [ "차원을 29 개의 feature 에서 10 개로 축소" ] }, { "cell_type": "code", "execution_count": 27, "id": "6b541629", "metadata": {}, "outputs": [], "source": [ "classifier.fit(X_train_rank, y_train)\n", "prediction_SVM = classifier.predict(X_test_all_rank)" ] }, { "cell_type": "code", "execution_count": 28, "id": "21b5535a", "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "cm = confusion_matrix(y_test_all, prediction_SVM)\n", "plot_confusion_matrix(cm, class_names)" ] }, { "cell_type": "code", "execution_count": 29, "id": "8232085c", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "We have detected 181 frauds / 199 total frauds.\n", "\n", "So, the probability to detect a fraud is 0.9095477386934674\n", "the accuracy is : 0.9578211813926577\n" ] } ], "source": [ "print('We have detected ' + str(cm[1][1]) + ' frauds / ' + str(cm[1][1]+cm[1][0]) + ' total frauds.')\n", "print('\\nSo, the probability to detect a fraud is ' + str(cm[1][1]/(cm[1][1]+cm[1][0])))\n", "print(\"the accuracy is : \"+str((cm[0][0]+cm[1][1]) / (sum(cm[0]) + sum(cm[1]))))" ] }, { "cell_type": "code", "execution_count": 30, "id": "0de76430", "metadata": {}, "outputs": [], "source": [ "classifier_b = svm.SVC(kernel='linear',class_weight={0:0.60, 1:0.40})\n", "classifier_b.fit(X_train, y_train)\n", "prediction_SVM_b_all = classifier_b.predict(X_test_all)" ] }, { "cell_type": "code", "execution_count": 31, "id": "9b6369d2", "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "cm = confusion_matrix(y_test_all, prediction_SVM_b_all)\n", "plot_confusion_matrix(cm, class_names)" ] }, { "cell_type": "code", "execution_count": 32, "id": "c5a6fe2a", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "We have detected 180 frauds / 199 total frauds.\n", "\n", "So, the probability to detect a fraud is 0.9045226130653267\n", "the accuracy is : 0.9616711298374714\n" ] } ], "source": [ "print('We have detected ' + str(cm[1][1]) + ' frauds / ' + str(cm[1][1]+cm[1][0]) + ' total frauds.')\n", "print('\\nSo, the probability to detect a fraud is ' + str(cm[1][1]/(cm[1][1]+cm[1][0])))\n", "print(\"the accuracy is : \"+str((cm[0][0]+cm[1][1]) / (sum(cm[0]) + sum(cm[1]))))" ] }, { "cell_type": "code", "execution_count": 33, "id": "26062547", "metadata": {}, "outputs": [], "source": [ "classifier_b.fit(X_train_rank, y_train)\n", "prediction_SVM = classifier_b.predict(X_test_all_rank)" ] }, { "cell_type": "code", "execution_count": 34, "id": "d36e9fe5", "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "cm = confusion_matrix(y_test_all, prediction_SVM)\n", "plot_confusion_matrix(cm, class_names)" ] }, { "cell_type": "code", "execution_count": 35, "id": "110408fb", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "We have detected 179 frauds / 199 total frauds.\n", "\n", "So, the probability to detect a fraud is 0.8994974874371859\n", "the accuracy is : 0.9686069714480702\n" ] } ], "source": [ "print('We have detected ' + str(cm[1][1]) + ' frauds / ' + str(cm[1][1]+cm[1][0]) + ' total frauds.')\n", "print('\\nSo, the probability to detect a fraud is ' + str(cm[1][1]/(cm[1][1]+cm[1][0])))\n", "print(\"the accuracy is : \"+str((cm[0][0]+cm[1][1]) / (sum(cm[0]) + sum(cm[1]))))" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.8" } }, "nbformat": 4, "nbformat_minor": 5 }