[Pyod] df05_tr,df001_tst def

Author

김보람

Published

February 16, 2024

4.8

ref: https://pyod.readthedocs.io/en/latest/pyod.models.html#all-models

1. Imports

import pandas as pd
import numpy as np
import sklearn
import pickle 
import time 
import datetime
import warnings
warnings.filterwarnings('ignore')
%run ../functions_pyod2.py
with open('../fraudTrain.pkl', 'rb') as file:
    fraudTrain = pickle.load(file)    

2.

pyod(*pyod_preprocess3(fraudTrain, 10))
model time acc pre rec f1 auc graph_based method throw_rate train_size train_cols train_frate test_size test_frate hyper_params
0 ECOD 0.375937 0.607382 0.002742 0.823529 0.005466 0.715314 False pyod 0.125653 10010 [amt] 0.448052 25954 0.00131 None
1 GMM 0.074485 0.687948 0.002713 0.647059 0.005403 0.667530 False pyod 0.125653 10010 [amt] 0.448052 25954 0.00131 None
2 HBOS 1.125120 0.998459 0.000000 0.000000 0.000000 0.499884 False pyod 0.125653 10010 [amt] 0.448052 25954 0.00131 None
3 IForest 0.329888 0.773137 0.003730 0.647059 0.007417 0.710181 False pyod 0.125653 10010 [amt] 0.448052 25954 0.00131 None
4 INNE 0.289591 0.666757 0.001735 0.441176 0.003457 0.554114 False pyod 0.125653 10010 [amt] 0.448052 25954 0.00131 None
5 KDE 2.385028 0.811281 0.005088 0.735294 0.010105 0.773338 False pyod 0.125653 10010 [amt] 0.448052 25954 0.00131 None
6 KNN 0.011281 0.783347 0.004082 0.676471 0.008114 0.729979 False pyod 0.125653 10010 [amt] 0.448052 25954 0.00131 None
7 LODA 0.023741 0.998459 0.000000 0.000000 0.000000 0.499884 False pyod 0.125653 10010 [amt] 0.448052 25954 0.00131 None
8 LOF 0.018568 0.491292 0.000758 0.294118 0.001513 0.392834 False pyod 0.125653 10010 [amt] 0.448052 25954 0.00131 None
9 MCD 0.012132 0.812707 0.005126 0.735294 0.010181 0.774051 False pyod 0.125653 10010 [amt] 0.448052 25954 0.00131 None
10 OCSVM 4.922181 0.754296 0.003444 0.647059 0.006853 0.700748 False pyod 0.125653 10010 [amt] 0.448052 25954 0.00131 None
11 PCA 0.003128 0.380905 0.000561 0.264706 0.001119 0.322881 False pyod 0.125653 10010 [amt] 0.448052 25954 0.00131 None
12 ROD 2.381513 0.554288 0.000693 0.235294 0.001381 0.395000 False pyod 0.125653 10010 [amt] 0.448052 25954 0.00131 None
pyod(*pyod_preprocess3(fraudTrain, 9))
model time acc pre rec f1 auc graph_based method throw_rate train_size train_cols train_frate test_size test_frate hyper_params
0 ECOD 0.004174 0.598905 0.003103 0.857143 0.006183 0.727836 False pyod 0.117418 10010 [amt] 0.451648 28851 0.001456 None
1 GMM 0.013943 0.680635 0.003034 0.666667 0.006041 0.673661 False pyod 0.117418 10010 [amt] 0.451648 28851 0.001456 None
2 HBOS 0.002263 0.998267 0.000000 0.000000 0.000000 0.499861 False pyod 0.117418 10010 [amt] 0.451648 28851 0.001456 None
3 IForest 0.374285 0.816991 0.006594 0.833333 0.013084 0.825150 False pyod 0.117418 10010 [amt] 0.451648 28851 0.001456 None
4 INNE 0.283617 0.556203 0.001640 0.500000 0.003270 0.528142 False pyod 0.117418 10010 [amt] 0.451648 28851 0.001456 None
5 KDE 2.426172 0.813733 0.006662 0.857143 0.013221 0.835406 False pyod 0.117418 10010 [amt] 0.451648 28851 0.001456 None
6 KNN 0.010993 0.787321 0.005518 0.809524 0.010961 0.798406 False pyod 0.117418 10010 [amt] 0.451648 28851 0.001456 None
7 LODA 0.024173 0.998267 0.000000 0.000000 0.000000 0.499861 False pyod 0.117418 10010 [amt] 0.451648 28851 0.001456 None
8 LOF 0.018642 0.483831 0.001410 0.500000 0.002812 0.491904 False pyod 0.117418 10010 [amt] 0.451648 28851 0.001456 None
9 MCD 0.004703 0.813733 0.006662 0.857143 0.013221 0.835406 False pyod 0.117418 10010 [amt] 0.451648 28851 0.001456 None
10 OCSVM 5.082664 0.763370 0.004817 0.785714 0.009575 0.774526 False pyod 0.117418 10010 [amt] 0.451648 28851 0.001456 None
11 PCA 0.002871 0.367509 0.000329 0.142857 0.000657 0.255347 False pyod 0.117418 10010 [amt] 0.451648 28851 0.001456 None
12 ROD 1.767965 0.542962 0.000456 0.142857 0.000909 0.343201 False pyod 0.117418 10010 [amt] 0.451648 28851 0.001456 None
pyod(*pyod_preprocess3(fraudTrain, 8))
model time acc pre rec f1 auc graph_based method throw_rate train_size train_cols train_frate test_size test_frate hyper_params
0 ECOD 0.004660 0.597197 0.002672 0.714286 0.005324 0.655653 False pyod 0.106874 10010 [amt] 0.448651 32470 0.001509 None
1 GMM 0.013875 0.681521 0.003474 0.734694 0.006914 0.708067 False pyod 0.106874 10010 [amt] 0.448651 32470 0.001509 None
2 HBOS 0.002420 0.983831 0.052632 0.571429 0.096386 0.777942 False pyod 0.106874 10010 [amt] 0.448651 32470 0.001509 None
3 IForest 0.363419 0.769480 0.004399 0.673469 0.008741 0.721547 False pyod 0.106874 10010 [amt] 0.448651 32470 0.001509 None
4 INNE 0.281460 0.687835 0.002564 0.530612 0.005104 0.609342 False pyod 0.106874 10010 [amt] 0.448651 32470 0.001509 None
5 KDE 2.323606 0.812073 0.005555 0.693878 0.011021 0.753064 False pyod 0.106874 10010 [amt] 0.448651 32470 0.001509 None
6 KNN 0.010880 0.790514 0.004985 0.693878 0.009898 0.742269 False pyod 0.106874 10010 [amt] 0.448651 32470 0.001509 None
7 LODA 0.035580 0.994672 0.143678 0.510204 0.224215 0.752804 False pyod 0.106874 10010 [amt] 0.448651 32470 0.001509 None
8 LOF 0.019224 0.485525 0.001616 0.551020 0.003222 0.518223 False pyod 0.106874 10010 [amt] 0.448651 32470 0.001509 None
9 MCD 0.004585 0.820542 0.005816 0.693878 0.011535 0.757306 False pyod 0.106874 10010 [amt] 0.448651 32470 0.001509 None
10 OCSVM 4.978618 0.759593 0.004598 0.734694 0.009139 0.747162 False pyod 0.106874 10010 [amt] 0.448651 32470 0.001509 None
11 PCA 0.002770 0.375054 0.000789 0.326531 0.001574 0.350829 False pyod 0.106874 10010 [amt] 0.448651 32470 0.001509 None
12 ROD 2.018071 0.554019 0.001037 0.306122 0.002067 0.430258 False pyod 0.106874 10010 [amt] 0.448651 32470 0.001509 None
pyod(*pyod_preprocess3(fraudTrain, 7))
model time acc pre rec f1 auc graph_based method throw_rate train_size train_cols train_frate test_size test_frate hyper_params
0 ECOD 0.004244 0.594830 0.003647 0.887097 0.007265 0.740719 False pyod 0.096268 10010 [amt] 0.446853 37098 0.001671 None
1 GMM 0.014459 0.682570 0.003307 0.629032 0.006580 0.655846 False pyod 0.096268 10010 [amt] 0.446853 37098 0.001671 None
2 HBOS 0.002316 0.998113 0.000000 0.000000 0.000000 0.499892 False pyod 0.096268 10010 [amt] 0.446853 37098 0.001671 None
3 IForest 0.356036 0.774489 0.005361 0.725806 0.010643 0.750189 False pyod 0.096268 10010 [amt] 0.446853 37098 0.001671 None
4 INNE 0.292636 0.668958 0.003091 0.612903 0.006150 0.640977 False pyod 0.096268 10010 [amt] 0.446853 37098 0.001671 None
5 KDE 2.381274 0.811338 0.006965 0.790323 0.013809 0.800848 False pyod 0.096268 10010 [amt] 0.446853 37098 0.001671 None
6 KNN 0.010564 0.792549 0.006210 0.774194 0.012320 0.783387 False pyod 0.096268 10010 [amt] 0.446853 37098 0.001671 None
7 LODA 0.026112 0.998113 0.000000 0.000000 0.000000 0.499892 False pyod 0.096268 10010 [amt] 0.446853 37098 0.001671 None
8 LOF 0.023795 0.475767 0.001748 0.548387 0.003484 0.512016 False pyod 0.096268 10010 [amt] 0.446853 37098 0.001671 None
9 MCD 0.005591 0.820206 0.007454 0.806452 0.014771 0.813340 False pyod 0.096268 10010 [amt] 0.446853 37098 0.001671 None
10 OCSVM 4.964435 0.762737 0.005432 0.774194 0.010789 0.768455 False pyod 0.096268 10010 [amt] 0.446853 37098 0.001671 None
11 PCA 0.002855 0.379508 0.000522 0.193548 0.001042 0.286684 False pyod 0.096268 10010 [amt] 0.446853 37098 0.001671 None
12 ROD 1.412591 0.559006 0.000735 0.193548 0.001465 0.376583 False pyod 0.096268 10010 [amt] 0.446853 37098 0.001671 None
pyod(*pyod_preprocess3(fraudTrain, 6))
model time acc pre rec f1 auc graph_based method throw_rate train_size train_cols train_frate test_size test_frate hyper_params
0 ECOD 0.003917 0.585821 0.003060 0.887097 0.006100 0.736243 False pyod 0.085839 10010 [amt] 0.450749 43276 0.001433 None
1 GMM 0.013953 0.682665 0.002547 0.564516 0.005071 0.623675 False pyod 0.085839 10010 [amt] 0.450749 43276 0.001433 None
2 HBOS 0.002205 0.982438 0.049096 0.612903 0.090909 0.797936 False pyod 0.085839 10010 [amt] 0.450749 43276 0.001433 None
3 IForest 0.348531 0.815625 0.006606 0.854839 0.013111 0.835204 False pyod 0.085839 10010 [amt] 0.450749 43276 0.001433 None
4 INNE 0.287401 0.611008 0.002315 0.629032 0.004612 0.620007 False pyod 0.085839 10010 [amt] 0.450749 43276 0.001433 None
5 KDE 2.408486 0.811836 0.006474 0.854839 0.012850 0.833306 False pyod 0.085839 10010 [amt] 0.450749 43276 0.001433 None
6 KNN 0.010906 0.793026 0.005339 0.774194 0.010604 0.783623 False pyod 0.085839 10010 [amt] 0.450749 43276 0.001433 None
7 LODA 0.027925 0.994477 0.123404 0.467742 0.195286 0.731487 False pyod 0.085839 10010 [amt] 0.450749 43276 0.001433 None
8 LOF 0.019713 0.462797 0.001333 0.500000 0.002660 0.481372 False pyod 0.085839 10010 [amt] 0.450749 43276 0.001433 None
9 MCD 0.004745 0.818375 0.006705 0.854839 0.013307 0.836581 False pyod 0.085839 10010 [amt] 0.450749 43276 0.001433 None
10 OCSVM 4.928249 0.759867 0.004604 0.774194 0.009153 0.767020 False pyod 0.085839 10010 [amt] 0.450749 43276 0.001433 None
11 PCA 0.002933 0.365098 0.000365 0.161290 0.000727 0.263341 False pyod 0.085839 10010 [amt] 0.450749 43276 0.001433 None
12 ROD 1.314578 0.539514 0.000402 0.129032 0.000802 0.334568 False pyod 0.085839 10010 [amt] 0.450749 43276 0.001433 None
pyod(*pyod_preprocess3(fraudTrain, 5))
model time acc pre rec f1 auc graph_based method throw_rate train_size train_cols train_frate test_size test_frate hyper_params
0 ECOD 0.004707 0.580155 0.002838 0.861111 0.005657 0.720438 False pyod 0.073786 10010 [amt] 0.449251 51912 0.001387 None
1 GMM 0.014322 0.678360 0.002454 0.569444 0.004887 0.623978 False pyod 0.073786 10010 [amt] 0.449251 51912 0.001387 None
2 HBOS 0.002487 0.998324 0.000000 0.000000 0.000000 0.499855 False pyod 0.073786 10010 [amt] 0.449251 51912 0.001387 None
3 IForest 0.342970 0.803475 0.005371 0.763889 0.010667 0.783709 False pyod 0.073786 10010 [amt] 0.449251 51912 0.001387 None
4 INNE 0.281050 0.623266 0.002044 0.555556 0.004074 0.589458 False pyod 0.073786 10010 [amt] 0.449251 51912 0.001387 None
5 KDE 2.364710 0.811180 0.005790 0.791667 0.011497 0.801437 False pyod 0.073786 10010 [amt] 0.449251 51912 0.001387 None
6 KNN 0.010605 0.784886 0.004732 0.736111 0.009403 0.760532 False pyod 0.073786 10010 [amt] 0.449251 51912 0.001387 None
7 LODA 0.023540 0.998324 0.000000 0.000000 0.000000 0.499855 False pyod 0.073786 10010 [amt] 0.449251 51912 0.001387 None
8 LOF 0.018295 0.478194 0.001439 0.541667 0.002871 0.509886 False pyod 0.073786 10010 [amt] 0.449251 51912 0.001387 None
9 MCD 0.004446 0.816921 0.006075 0.805556 0.012058 0.811246 False pyod 0.073786 10010 [amt] 0.449251 51912 0.001387 None
10 OCSVM 4.920144 0.749384 0.003835 0.694444 0.007628 0.721952 False pyod 0.073786 10010 [amt] 0.449251 51912 0.001387 None
11 PCA 0.002648 0.368932 0.000428 0.194444 0.000854 0.281809 False pyod 0.073786 10010 [amt] 0.449251 51912 0.001387 None
12 ROD 2.052580 0.555190 0.000521 0.166667 0.001038 0.361198 False pyod 0.073786 10010 [amt] 0.449251 51912 0.001387 None
pyod(*pyod_preprocess3(fraudTrain, 4))
model time acc pre rec f1 auc graph_based method throw_rate train_size train_cols train_frate test_size test_frate hyper_params
0 ECOD 0.004138 0.576034 0.003406 0.862385 0.006784 0.718969 False pyod 0.061539 10010 [amt] 0.44975 64918 0.001679 None
1 GMM 0.013867 0.684602 0.003220 0.605505 0.006406 0.645120 False pyod 0.061539 10010 [amt] 0.44975 64918 0.001679 None
2 HBOS 0.002364 0.997997 0.000000 0.000000 0.000000 0.499838 False pyod 0.061539 10010 [amt] 0.44975 64918 0.001679 None
3 IForest 0.414650 0.789519 0.006049 0.761468 0.012003 0.775517 False pyod 0.061539 10010 [amt] 0.44975 64918 0.001679 None
4 INNE 0.282287 0.591824 0.002113 0.513761 0.004209 0.552858 False pyod 0.061539 10010 [amt] 0.44975 64918 0.001679 None
5 KDE 2.337568 0.801734 0.006344 0.752294 0.012582 0.777056 False pyod 0.061539 10010 [amt] 0.44975 64918 0.001679 None
6 KNN 0.010760 0.785206 0.005646 0.724771 0.011204 0.755039 False pyod 0.061539 10010 [amt] 0.44975 64918 0.001679 None
7 LODA 0.024870 0.997997 0.000000 0.000000 0.000000 0.499838 False pyod 0.061539 10010 [amt] 0.44975 64918 0.001679 None
8 LOF 0.018472 0.473567 0.001813 0.568807 0.003615 0.521107 False pyod 0.061539 10010 [amt] 0.44975 64918 0.001679 None
9 MCD 0.004453 0.817847 0.007068 0.770642 0.014008 0.794284 False pyod 0.061539 10010 [amt] 0.44975 64918 0.001679 None
10 OCSVM 4.933525 0.748976 0.004894 0.733945 0.009723 0.741473 False pyod 0.061539 10010 [amt] 0.44975 64918 0.001679 None
11 PCA 0.002770 0.370221 0.000612 0.229358 0.001221 0.299908 False pyod 0.061539 10010 [amt] 0.44975 64918 0.001679 None
12 ROD 1.721713 0.549077 0.000753 0.201835 0.001501 0.375748 False pyod 0.061539 10010 [amt] 0.44975 64918 0.001679 None
pyod(*pyod_preprocess3(fraudTrain, 3))
model time acc pre rec f1 auc graph_based method throw_rate train_size train_cols train_frate test_size test_frate hyper_params
0 ECOD 0.004198 0.566609 0.002686 0.893805 0.005356 0.729993 False pyod 0.048126 10010 [amt] 0.452947 86550 0.001306 None
1 GMM 0.014109 0.678590 0.002728 0.672566 0.005434 0.675582 False pyod 0.048126 10010 [amt] 0.452947 86550 0.001306 None
2 HBOS 0.002369 0.998382 0.000000 0.000000 0.000000 0.499844 False pyod 0.048126 10010 [amt] 0.452947 86550 0.001306 None
3 IForest 0.436044 0.816857 0.005964 0.840708 0.011845 0.828767 False pyod 0.048126 10010 [amt] 0.452947 86550 0.001306 None
4 INNE 0.282253 0.815170 0.005787 0.823009 0.011494 0.819085 False pyod 0.048126 10010 [amt] 0.452947 86550 0.001306 None
5 KDE 2.288327 0.807140 0.005665 0.840708 0.011255 0.823902 False pyod 0.048126 10010 [amt] 0.452947 86550 0.001306 None
6 KNN 0.010780 0.784552 0.004650 0.769912 0.009245 0.777241 False pyod 0.048126 10010 [amt] 0.452947 86550 0.001306 None
7 LODA 0.023918 0.998382 0.000000 0.000000 0.000000 0.499844 False pyod 0.048126 10010 [amt] 0.452947 86550 0.001306 None
8 LOF 0.018714 0.480682 0.001379 0.548673 0.002751 0.514633 False pyod 0.048126 10010 [amt] 0.452947 86550 0.001306 None
9 MCD 0.004697 0.818024 0.006002 0.840708 0.011920 0.829351 False pyod 0.048126 10010 [amt] 0.452947 86550 0.001306 None
10 OCSVM 4.915556 0.744749 0.003882 0.761062 0.007725 0.752895 False pyod 0.048126 10010 [amt] 0.452947 86550 0.001306 None
11 PCA 0.002650 0.362842 0.000327 0.159292 0.000652 0.261200 False pyod 0.048126 10010 [amt] 0.452947 86550 0.001306 None
12 ROD 1.510718 0.539168 0.000377 0.132743 0.000752 0.336221 False pyod 0.048126 10010 [amt] 0.452947 86550 0.001306 None
pyod(*pyod_preprocess3(fraudTrain, 2))
model time acc pre rec f1 auc graph_based method throw_rate train_size train_cols train_frate test_size test_frate hyper_params
0 ECOD 0.004225 0.564778 0.002561 0.792350 0.005106 0.678403 False pyod 0.03341 10010 [amt] 0.448452 129828 0.00141 None
1 GMM 0.013806 0.680061 0.002550 0.579235 0.005078 0.629719 False pyod 0.03341 10010 [amt] 0.448452 129828 0.00141 None
2 HBOS 0.002391 0.998298 0.000000 0.000000 0.000000 0.499853 False pyod 0.03341 10010 [amt] 0.448452 129828 0.00141 None
3 IForest 0.327780 0.800852 0.005051 0.715847 0.010032 0.758409 False pyod 0.03341 10010 [amt] 0.448452 129828 0.00141 None
4 INNE 0.286765 0.704686 0.002763 0.579235 0.005499 0.642049 False pyod 0.03341 10010 [amt] 0.448452 129828 0.00141 None
5 KDE 2.352727 0.818082 0.005653 0.732240 0.011220 0.775222 False pyod 0.03341 10010 [amt] 0.448452 129828 0.00141 None
6 KNN 0.011152 0.791054 0.004633 0.688525 0.009204 0.739862 False pyod 0.03341 10010 [amt] 0.448452 129828 0.00141 None
7 LODA 0.025007 0.998298 0.000000 0.000000 0.000000 0.499853 False pyod 0.03341 10010 [amt] 0.448452 129828 0.00141 None
8 LOF 0.023849 0.486097 0.001543 0.562842 0.003078 0.524415 False pyod 0.03341 10010 [amt] 0.448452 129828 0.00141 None
9 MCD 0.004694 0.827418 0.006002 0.737705 0.011907 0.782625 False pyod 0.03341 10010 [amt] 0.448452 129828 0.00141 None
10 OCSVM 5.032806 0.753759 0.003840 0.672131 0.007636 0.713003 False pyod 0.03341 10010 [amt] 0.448452 129828 0.00141 None
11 PCA 0.003244 0.360123 0.000578 0.262295 0.001154 0.311278 False pyod 0.03341 10010 [amt] 0.448452 129828 0.00141 None
12 ROD 2.391100 0.558585 0.000821 0.256831 0.001638 0.407921 False pyod 0.03341 10010 [amt] 0.448452 129828 0.00141 None
pyod(*pyod_preprocess3(fraudTrain, 1))
model time acc pre rec f1 auc graph_based method throw_rate train_size train_cols train_frate test_size test_frate hyper_params
0 ECOD 0.004192 0.560225 0.002805 0.814721 0.005591 0.687280 False pyod 0.018053 10010 [amt] 0.446953 259642 0.001517 None
1 GMM 0.014026 0.685737 0.002987 0.619289 0.005945 0.652563 False pyod 0.018053 10010 [amt] 0.446953 259642 0.001517 None
2 HBOS 0.001987 0.998163 0.000000 0.000000 0.000000 0.499840 False pyod 0.018053 10010 [amt] 0.446953 259642 0.001517 None
3 IForest 0.322335 0.822898 0.006388 0.748731 0.012668 0.785871 False pyod 0.018053 10010 [amt] 0.446953 259642 0.001517 None
4 INNE 0.278333 0.751415 0.003990 0.654822 0.007931 0.703192 False pyod 0.018053 10010 [amt] 0.446953 259642 0.001517 None
5 KDE 2.382092 0.820326 0.006297 0.748731 0.012489 0.784583 False pyod 0.018053 10010 [amt] 0.446953 259642 0.001517 None
6 KNN 0.010817 0.787330 0.005056 0.710660 0.010040 0.749053 False pyod 0.018053 10010 [amt] 0.446953 259642 0.001517 None
7 LODA 0.023865 0.998163 0.000000 0.000000 0.000000 0.499840 False pyod 0.018053 10010 [amt] 0.446953 259642 0.001517 None
8 LOF 0.018759 0.488542 0.001514 0.510152 0.003018 0.499331 False pyod 0.018053 10010 [amt] 0.446953 259642 0.001517 None
9 MCD 0.004637 0.820830 0.006315 0.748731 0.012524 0.784835 False pyod 0.018053 10010 [amt] 0.446953 259642 0.001517 None
10 OCSVM 4.834664 0.762369 0.004542 0.713198 0.009027 0.737821 False pyod 0.018053 10010 [amt] 0.446953 259642 0.001517 None
11 PCA 0.002644 0.378175 0.000614 0.251269 0.001225 0.314818 False pyod 0.018053 10010 [amt] 0.446953 259642 0.001517 None
12 ROD 0.836609 0.553801 0.000796 0.233503 0.001586 0.393895 False pyod 0.018053 10010 [amt] 0.446953 259642 0.001517 None