[Pyod] 실험계속돌리기

Author

김보람

Published

April 9, 2024

  1. 4/9

  2. 4/9 v2

  3. 4/10 v3

  4. 4/10 v4

  5. 4/10 v5

  6. 4/11 v6

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)    

pyod_preprocess4(비율 다 같게)

pyod(*pyod_preprocess4(fraudTrain, 0.05))
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.278803 0.941192 0.409772 0.422431 0.416005 0.695344 False pyod 0.05 90090 [amt] 0.050139 30030 0.049584 None
1 GMM 0.110044 0.964569 0.642140 0.644728 0.643432 0.812992 False pyod 0.05 90090 [amt] 0.050139 30030 0.049584 None
2 HBOS 1.641861 0.949650 0.367816 0.021491 0.040609 0.509782 False pyod 0.05 90090 [amt] 0.050139 30030 0.049584 None
3 IForest 2.604720 0.964302 0.639465 0.642042 0.640751 0.811578 False pyod 0.05 90090 [amt] 0.050139 30030 0.049584 None
4 INNE 2.759747 0.963137 0.629755 0.622565 0.626140 0.801735 False pyod 0.05 90090 [amt] 0.050139 30030 0.049584 None
5 KNN 0.114098 0.959774 0.596036 0.585628 0.590786 0.782460 False pyod 0.05 90090 [amt] 0.050139 30030 0.049584 None
6 LODA 0.221817 0.949650 0.367816 0.021491 0.040609 0.509782 False pyod 0.05 90090 [amt] 0.050139 30030 0.049584 None
7 LOF 0.252110 0.896204 0.019481 0.022163 0.020735 0.481983 False pyod 0.05 90090 [amt] 0.050139 30030 0.049584 None
8 MCD 0.020916 0.964569 0.642140 0.644728 0.643432 0.812992 False pyod 0.05 90090 [amt] 0.050139 30030 0.049584 None
9 PCA 0.007429 0.946154 0.458603 0.476158 0.467216 0.723416 False pyod 0.05 90090 [amt] 0.050139 30030 0.049584 None
10 ROD 7.672475 0.900300 0.001985 0.002015 0.002000 0.474589 False pyod 0.05 90090 [amt] 0.050139 30030 0.049584 None
pyod(*pyod_preprocess4(fraudTrain, 0.04))
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.024458 0.952049 0.403569 0.387097 0.395161 0.681485 False pyod 0.04 112612 [amt] 0.039845 37538 0.040466 None
1 GMM 0.053764 0.965981 0.581317 0.569454 0.575324 0.776079 False pyod 0.04 112612 [amt] 0.039845 37538 0.040466 None
2 HBOS 0.006364 0.958442 0.152542 0.005925 0.011407 0.502268 False pyod 0.04 112612 [amt] 0.039845 37538 0.040466 None
3 IForest 2.519186 0.965928 0.581081 0.566162 0.573525 0.774474 False pyod 0.04 112612 [amt] 0.039845 37538 0.040466 None
4 INNE 2.772511 0.965901 0.581681 0.560237 0.570758 0.771623 False pyod 0.04 112612 [amt] 0.039845 37538 0.040466 None
5 KNN 0.153281 0.963877 0.556558 0.527979 0.541892 0.755119 False pyod 0.04 112612 [amt] 0.039845 37538 0.040466 None
6 LODA 0.264235 0.958442 0.152542 0.005925 0.011407 0.502268 False pyod 0.04 112612 [amt] 0.039845 37538 0.040466 None
7 LOF 0.291415 0.913634 0.025344 0.030283 0.027594 0.490585 False pyod 0.04 112612 [amt] 0.039845 37538 0.040466 None
8 MCD 0.022942 0.965981 0.581317 0.569454 0.575324 0.776079 False pyod 0.04 112612 [amt] 0.039845 37538 0.040466 None
9 PCA 0.009472 0.958202 0.482566 0.455563 0.468676 0.717481 False pyod 0.04 112612 [amt] 0.039845 37538 0.040466 None
10 ROD 6.733922 0.920054 0.000000 0.000000 0.000000 0.479428 False pyod 0.04 112612 [amt] 0.039845 37538 0.040466 None
pyod(*pyod_preprocess4(fraudTrain, 0.03))
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.032413 0.962837 0.395094 0.398697 0.396887 0.689692 False pyod 0.03 150150 [amt] 0.029777 50050 0.030669 None
1 GMM 0.074976 0.970270 0.514771 0.533550 0.523992 0.758819 False pyod 0.03 150150 [amt] 0.029777 50050 0.030669 None
2 HBOS 0.018481 0.968931 0.000000 0.000000 0.000000 0.499794 False pyod 0.03 150150 [amt] 0.029777 50050 0.030669 None
3 IForest 3.339116 0.970310 0.515497 0.530945 0.523107 0.757578 False pyod 0.03 150150 [amt] 0.029777 50050 0.030669 None
4 INNE 3.695184 0.970290 0.515171 0.530945 0.522939 0.757568 False pyod 0.03 150150 [amt] 0.029777 50050 0.030669 None
5 KNN 0.192343 0.970170 0.513444 0.522476 0.517921 0.753405 False pyod 0.03 150150 [amt] 0.029777 50050 0.030669 None
6 LODA 0.430894 0.968931 0.000000 0.000000 0.000000 0.499794 False pyod 0.03 150150 [amt] 0.029777 50050 0.030669 None
7 LOF 0.489782 0.935085 0.034239 0.041042 0.037333 0.502207 False pyod 0.03 150150 [amt] 0.029777 50050 0.030669 None
8 MCD 0.035399 0.970270 0.514771 0.533550 0.523992 0.758819 False pyod 0.03 150150 [amt] 0.029777 50050 0.030669 None
9 PCA 0.014358 0.968631 0.488760 0.495765 0.492238 0.739679 False pyod 0.03 150150 [amt] 0.029777 50050 0.030669 None
10 ROD 11.586664 0.939580 0.000671 0.000651 0.000661 0.484970 False pyod 0.03 150150 [amt] 0.029777 50050 0.030669 None
pyod(*pyod_preprocess4(fraudTrain, 0.02))
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.046958 0.973786 0.341611 0.340241 0.340924 0.663454 False pyod 0.02 225225 [amt] 0.020024 75075 0.019927 None
1 GMM 0.051372 0.979807 0.493280 0.490642 0.491957 0.740197 False pyod 0.02 225225 [amt] 0.020024 75075 0.019927 None
2 HBOS 0.010684 0.979860 0.000000 0.000000 0.000000 0.499891 False pyod 0.02 225225 [amt] 0.020024 75075 0.019927 None
3 IForest 5.286441 0.979820 0.493611 0.490642 0.492122 0.740204 False pyod 0.02 225225 [amt] 0.020024 75075 0.019927 None
4 INNE 5.624534 0.980233 0.504190 0.482620 0.493169 0.736485 False pyod 0.02 225225 [amt] 0.020024 75075 0.019927 None
5 KNN 0.335924 0.977889 0.445114 0.444519 0.444816 0.716626 False pyod 0.02 225225 [amt] 0.020024 75075 0.019927 None
6 LODA 0.493319 0.979860 0.000000 0.000000 0.000000 0.499891 False pyod 0.02 225225 [amt] 0.020024 75075 0.019927 None
7 LOF 0.579964 0.960519 0.003383 0.003342 0.003362 0.491661 False pyod 0.02 225225 [amt] 0.020024 75075 0.019927 None
8 MCD 0.043730 0.979807 0.493280 0.490642 0.491957 0.740197 False pyod 0.02 225225 [amt] 0.020024 75075 0.019927 None
9 PCA 0.016483 0.979873 0.494874 0.483957 0.489355 0.736957 False pyod 0.02 225225 [amt] 0.020024 75075 0.019927 None
10 ROD 9.482680 0.957269 0.000583 0.000668 0.000623 0.488694 False pyod 0.02 225225 [amt] 0.020024 75075 0.019927 None
pyod(*pyod_preprocess4(fraudTrain, 0.01))
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.091953 0.984589 0.245497 0.237266 0.241311 0.614828 False pyod 0.01 450450 [amt] 0.00989 150150 0.01033 None
1 GMM 0.188682 0.989311 0.482330 0.475177 0.478727 0.734927 False pyod 0.01 450450 [amt] 0.00989 150150 0.01033 None
2 HBOS 0.019990 0.989297 0.000000 0.000000 0.000000 0.499812 False pyod 0.01 450450 [amt] 0.00989 150150 0.01033 None
3 IForest 10.309046 0.989364 0.484868 0.475177 0.479974 0.734954 False pyod 0.01 450450 [amt] 0.00989 150150 0.01033 None
4 INNE 11.587905 0.988551 0.441909 0.411992 0.426426 0.703281 False pyod 0.01 450450 [amt] 0.00989 150150 0.01033 None
5 KNN 0.738189 0.987672 0.401961 0.396518 0.399221 0.695180 False pyod 0.01 450450 [amt] 0.00989 150150 0.01033 None
6 LODA 1.021827 0.989297 0.000000 0.000000 0.000000 0.499812 False pyod 0.01 450450 [amt] 0.00989 150150 0.01033 None
7 LOF 1.178627 0.980799 0.002242 0.001934 0.002077 0.496475 False pyod 0.01 450450 [amt] 0.00989 150150 0.01033 None
8 MCD 0.087823 0.989311 0.482330 0.475177 0.478727 0.734927 False pyod 0.01 450450 [amt] 0.00989 150150 0.01033 None
9 PCA 0.034722 0.989311 0.482330 0.475177 0.478727 0.734927 False pyod 0.01 450450 [amt] 0.00989 150150 0.01033 None
10 ROD 12.191079 0.980027 0.000000 0.000000 0.000000 0.495128 False pyod 0.01 450450 [amt] 0.00989 150150 0.01033 None
pyod(*pyod_preprocess4(fraudTrain, 0.00573))
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.158358 0.989879 0.125419 0.121824 0.123596 0.558409 False pyod 0.00573 786126 [amt] 0.005687 262042 0.005858 None
1 GMM 0.141996 0.992719 0.376244 0.369381 0.372781 0.682886 False pyod 0.00573 786126 [amt] 0.005687 262042 0.005858 None
2 HBOS 0.024028 0.993894 0.000000 0.000000 0.000000 0.499875 False pyod 0.00573 786126 [amt] 0.005687 262042 0.005858 None
3 IForest 20.984150 0.992711 0.371134 0.351792 0.361204 0.674140 False pyod 0.00573 786126 [amt] 0.005687 262042 0.005858 None
4 INNE 28.093153 0.992723 0.369748 0.343974 0.356396 0.670260 False pyod 0.00573 786126 [amt] 0.005687 262042 0.005858 None
5 KNN 1.493901 0.991753 0.292715 0.287948 0.290312 0.641924 False pyod 0.00573 786126 [amt] 0.005687 262042 0.005858 None
6 LODA 1.799448 0.993894 0.000000 0.000000 0.000000 0.499875 False pyod 0.00573 786126 [amt] 0.005687 262042 0.005858 None
7 LOF 2.173422 0.989322 0.000791 0.000651 0.000714 0.497900 False pyod 0.00573 786126 [amt] 0.005687 262042 0.005858 None
8 MCD 0.148124 0.992719 0.376244 0.369381 0.372781 0.682886 False pyod 0.00573 786126 [amt] 0.005687 262042 0.005858 None
9 PCA 0.048707 0.992719 0.376244 0.369381 0.372781 0.682886 False pyod 0.00573 786126 [amt] 0.005687 262042 0.005858 None
10 ROD 16.201856 0.987865 0.000000 0.000000 0.000000 0.496843 False pyod 0.00573 786126 [amt] 0.005687 262042 0.005858 None
pyod(*pyod_preprocess4(fraudTrain, 0.006))
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.174866 0.989199 0.125547 0.133644 0.129469 0.564008 False pyod 0.006 750750 [amt] 0.005997 250250 0.00601 None
1 GMM 0.187869 0.992563 0.387806 0.410239 0.398708 0.703162 False pyod 0.006 750750 [amt] 0.005997 250250 0.00601 None
2 HBOS 0.032669 0.993638 0.000000 0.000000 0.000000 0.499823 False pyod 0.006 750750 [amt] 0.005997 250250 0.00601 None
3 IForest 21.531300 0.992575 0.388258 0.408910 0.398316 0.702507 False pyod 0.006 750750 [amt] 0.005997 250250 0.00601 None
4 INNE 24.299248 0.992184 0.351511 0.355718 0.353602 0.675875 False pyod 0.006 750750 [amt] 0.005997 250250 0.00601 None
5 KNN 1.402553 0.991449 0.293774 0.301197 0.297439 0.648409 False pyod 0.006 750750 [amt] 0.005997 250250 0.00601 None
6 LODA 1.776887 0.993638 0.000000 0.000000 0.000000 0.499823 False pyod 0.006 750750 [amt] 0.005997 250250 0.00601 None
7 LOF 2.963069 0.987644 0.001256 0.001330 0.001292 0.497469 False pyod 0.006 750750 [amt] 0.005997 250250 0.00601 None
8 MCD 0.150010 0.992563 0.387806 0.410239 0.398708 0.703162 False pyod 0.006 750750 [amt] 0.005997 250250 0.00601 None
9 PCA 0.056235 0.992563 0.387806 0.410239 0.398708 0.703162 False pyod 0.006 750750 [amt] 0.005997 250250 0.00601 None
10 ROD 17.144474 0.983704 0.000388 0.000665 0.000490 0.495156 False pyod 0.006 750750 [amt] 0.005997 250250 0.00601 None
pyod(*pyod_preprocess4(fraudTrain, 0.007))
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.129939 0.988056 0.163758 0.156410 0.160000 0.575279 False pyod 0.007 643500 [amt] 0.006909 214500 0.007273 None
1 GMM 0.166437 0.991795 0.435980 0.436538 0.436259 0.716201 False pyod 0.007 643500 [amt] 0.006909 214500 0.007273 None
2 HBOS 0.024746 0.992406 0.000000 0.000000 0.000000 0.499838 False pyod 0.007 643500 [amt] 0.006909 214500 0.007273 None
3 IForest 16.622064 0.991804 0.436293 0.434615 0.435453 0.715251 False pyod 0.007 643500 [amt] 0.006909 214500 0.007273 None
4 INNE 18.597704 0.991795 0.433155 0.415385 0.424084 0.705701 False pyod 0.007 643500 [amt] 0.006909 214500 0.007273 None
5 KNN 1.188036 0.990597 0.351527 0.346795 0.349145 0.671054 False pyod 0.007 643500 [amt] 0.006909 214500 0.007273 None
6 LODA 1.165222 0.992406 0.000000 0.000000 0.000000 0.499838 False pyod 0.007 643500 [amt] 0.006909 214500 0.007273 None
7 LOF 2.215409 0.986569 0.000756 0.000641 0.000694 0.497216 False pyod 0.007 643500 [amt] 0.006909 214500 0.007273 None
8 MCD 0.125098 0.991795 0.435980 0.436538 0.436259 0.716201 False pyod 0.007 643500 [amt] 0.006909 214500 0.007273 None
9 PCA 0.043251 0.991795 0.435980 0.436538 0.436259 0.716201 False pyod 0.007 643500 [amt] 0.006909 214500 0.007273 None
10 ROD 15.157212 0.991627 0.000000 0.000000 0.000000 0.499446 False pyod 0.007 643500 [amt] 0.006909 214500 0.007273 None
pyod(*pyod_preprocess4(fraudTrain, 0.008))
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.116077 0.987197 0.189959 0.188046 0.188998 0.590817 False pyod 0.008 563062 [amt] 0.008022 187688 0.007933 None
1 GMM 0.147164 0.991310 0.451503 0.443922 0.447680 0.719805 False pyod 0.008 563062 [amt] 0.008022 187688 0.007933 None
2 HBOS 0.025614 0.991811 0.000000 0.000000 0.000000 0.499871 False pyod 0.008 563062 [amt] 0.008022 187688 0.007933 None
3 IForest 13.008739 0.991315 0.451811 0.443922 0.447832 0.719807 False pyod 0.008 563062 [amt] 0.008022 187688 0.007933 None
4 INNE 15.111057 0.988683 0.228400 0.179315 0.200903 0.587235 False pyod 0.008 563062 [amt] 0.008022 187688 0.007933 None
5 KNN 0.919514 0.989674 0.351815 0.357958 0.354860 0.676342 False pyod 0.008 563062 [amt] 0.008022 187688 0.007933 None
6 LODA 1.292849 0.991811 0.000000 0.000000 0.000000 0.499871 False pyod 0.008 563062 [amt] 0.008022 187688 0.007933 None
7 LOF 1.466568 0.984410 0.002768 0.002686 0.002727 0.497474 False pyod 0.008 563062 [amt] 0.008022 187688 0.007933 None
8 MCD 0.111326 0.991310 0.451503 0.443922 0.447680 0.719805 False pyod 0.008 563062 [amt] 0.008022 187688 0.007933 None
9 PCA 0.043471 0.991310 0.451503 0.443922 0.447680 0.719805 False pyod 0.008 563062 [amt] 0.008022 187688 0.007933 None
10 ROD 11.847547 0.986744 0.000000 0.000000 0.000000 0.497317 False pyod 0.008 563062 [amt] 0.008022 187688 0.007933 None
pyod(*pyod_preprocess4(fraudTrain, 0.009))
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.139636 0.985321 0.206897 0.217966 0.212287 0.605157 False pyod 0.009 500499 [amt] 0.008975 166834 0.009075 None
1 GMM 0.269379 0.990314 0.467097 0.478203 0.472585 0.736604 False pyod 0.009 500499 [amt] 0.008975 166834 0.009075 None
2 HBOS 0.026403 0.990637 0.000000 0.000000 0.000000 0.499855 False pyod 0.009 500499 [amt] 0.008975 166834 0.009075 None
3 IForest 12.223087 0.990320 0.467398 0.478203 0.472739 0.736607 False pyod 0.009 500499 [amt] 0.008975 166834 0.009075 None
4 INNE 12.981607 0.990314 0.466000 0.461691 0.463835 0.728423 False pyod 0.009 500499 [amt] 0.008975 166834 0.009075 None
5 KNN 0.799722 0.988713 0.382857 0.398283 0.390418 0.696202 False pyod 0.009 500499 [amt] 0.008975 166834 0.009075 None
6 LODA 1.116318 0.990637 0.000000 0.000000 0.000000 0.499855 False pyod 0.009 500499 [amt] 0.008975 166834 0.009075 None
7 LOF 1.270941 0.981964 0.000668 0.000661 0.000664 0.495806 False pyod 0.009 500499 [amt] 0.008975 166834 0.009075 None
8 MCD 0.099654 0.990314 0.467097 0.478203 0.472585 0.736604 False pyod 0.009 500499 [amt] 0.008975 166834 0.009075 None
9 PCA 0.038666 0.990314 0.467097 0.478203 0.472585 0.736604 False pyod 0.009 500499 [amt] 0.008975 166834 0.009075 None
10 ROD 10.970350 0.985650 0.000000 0.000000 0.000000 0.497338 False pyod 0.009 500499 [amt] 0.008975 166834 0.009075 None

pyod_preprocess7

def pyod_preprocess7(fraudTrain, ratio, n):
    
    df50 = throw(fraudTrain,ratio)
    df_tr, a= sklearn.model_selection.train_test_split(df50)
        
    dfn = fraudTrain[::n]
    dfnn = dfn[~dfn.index.isin(df_tr.index)]
    dfnn = dfnn.reset_index(drop=True)
    b, df_tst = sklearn.model_selection.train_test_split(dfnn)   
    df2, mask = concat(df_tr, df_tst)
    df2['index'] = df2.index
    df = df2.reset_index()
    
    
    X = pd.DataFrame(df_tr['amt'])
    y = pd.DataFrame(df_tr['is_fraud'])
    XX = pd.DataFrame(df_tst['amt'])
    yy = pd.DataFrame(df_tst['is_fraud'])
    fraud_ratio = df.is_fraud.mean()
    predictors = {
    'ABOD': ABOD(contamination=fraud_ratio),
#    'ALAD': ALAD(contamination=fraud_ratio),
#    'AnoGAN': AnoGAN(contamination=fraud_ratio),
#    'AutoEncoder':AutoEncoder(contamination=fraud_ratio),
##    'CBLOF': CBLOF(contamination=fraud_ratio,n_clusters=2),
##    'COF': COF(contamination=fraud_ratio),
##    'CD': CD(contamination=fraud_ratio),
    'COPOD': COPOD(contamination=fraud_ratio),
#    'DeepSVDD': DeepSVDD(contamination=fraud_ratio),
#    'DIF': DIF(contamination=fraud_ratio),    
    'ECOD': ECOD(contamination=fraud_ratio),
#    'FeatureBagging': FeatureBagging(contamination=fraud_ratio),
    'GMM': GMM(contamination=fraud_ratio),
    'HBOS': HBOS(contamination=fraud_ratio),
    'IForest': IForest(contamination=fraud_ratio),
    'INNE': INNE(contamination=fraud_ratio),
    'KDE': KDE(contamination=fraud_ratio),
    'KNN': KNN(contamination=fraud_ratio),
####    'KPCA': KPCA(contamination=fraud_ratio),
#    'PyODKernelPCA': PyODKernelPCA(contamination=fraud_ratio),
##    'LMDD': LMDD(contamination=fraud_ratio),
    'LODA': LODA(contamination=fraud_ratio),
    'LOF': LOF(contamination=fraud_ratio),
####    'LOCI': LOCI(contamination=fraud_ratio),
#    'LUNAR': LUNAR(contamination=fraud_ratio),
    'LODA': LODA(contamination=fraud_ratio),
#    'LSCP': LSCP(contamination=fraud_ratio),
#    'MAD': MAD(contamination=fraud_ratio),
    'MCD': MCD(contamination=fraud_ratio),
#    'MO_GAAL': MO_GAAL(contamination=fraud_ratio),
    'OCSVM': OCSVM(contamination=fraud_ratio),
    'PCA': PCA(contamination=fraud_ratio),
###    'QMCD': QMCD(contamination=fraud_ratio),
####    'RGraph': RGraph(contamination=fraud_ratio),
    'ROD': ROD(contamination=fraud_ratio),
##    'Sampling': Sampling(contamination=fraud_ratio),
##   'SOD': SOD(contamination=fraud_ratio),
#    'SO_GAAL': SO_GAAL(contamination=fraud_ratio),
####    'SOS': SOS(contamination=fraud_ratio),
#    'SUOD': SUOD(contamination=fraud_ratio),
#    'VAE': VAE(contamination=fraud_ratio),
#    'XGBOD': XGBOD(contamination=fraud_ratio),  
}
    return X, XX, y, yy, predictors, fraud_ratio

def pyod(X,XX,y,yy,predictors,throw_rate):
    model = []
    time_diff = []
    acc = []
    pre = []
    rec = []
    f1 = [] 
    auc = [] 
    graph_based = []
    method = [] 
    train_size = []
    train_cols = []
    train_frate = []
    test_size = []
    test_frate = []
    hyper_params = [] 
    for name, predictor in predictors.items():
        t1 = time.time()
        predictor.fit(X,y)
        t2 = time.time()
        yyhat = predictor.predict(XX)
        scores = evaluate(yy,yyhat)
        model.append(name)
        time_diff.append(t2-t1)
        acc.append(scores['acc'])
        pre.append(scores['pre'])
        rec.append(scores['rec'])
        f1.append(scores['f1'])
        auc.append(scores['auc'])
        graph_based.append(False)
        method.append('pyod')
        train_size.append(len(y)),
        train_cols.append(list(X.columns)),
        train_frate.append(np.array(y).reshape(-1).mean()),
        test_size.append(len(yy)),
        test_frate.append(np.array(yy).reshape(-1).mean())
        hyper_params.append(None)
    df_results = pd.DataFrame(dict(
        model = model,
        time=time_diff,
        acc=acc,
        pre=pre,
        rec=rec,
        f1=f1,
        auc=auc,
        graph_based = graph_based,
        method = method,
        throw_rate = throw_rate,
        train_size = train_size,
        train_cols = train_cols,
        train_frate = train_frate,
        test_size = test_size,
        test_frate = test_frate,
        hyper_params = hyper_params
    ))
    ymdhms = datetime.datetime.fromtimestamp(time.time()).strftime('%Y%m%d-%H%M%S') 
    df_results.to_csv(f'../results/{ymdhms}-pyod.csv',index=False)
    return df_results
pyod(*pyod_preprocess7(fraudTrain, 0.1,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 ABOD 2.907339 0.998405 0.000000 0.000 0.000000 0.500000 False pyod 0.064873 45045 [amt] 0.1001 25077 0.001595 None
1 COPOD 0.010479 0.976233 0.041254 0.625 0.077399 0.800897 False pyod 0.064873 45045 [amt] 0.1001 25077 0.001595 None
2 ECOD 0.010200 0.960242 0.015198 0.375 0.029211 0.668089 False pyod 0.064873 45045 [amt] 0.1001 25077 0.001595 None
3 GMM 0.057448 0.983650 0.044335 0.450 0.080717 0.717251 False pyod 0.064873 45045 [amt] 0.1001 25077 0.001595 None
4 HBOS 0.003545 0.998006 0.000000 0.000 0.000000 0.499800 False pyod 0.064873 45045 [amt] 0.1001 25077 0.001595 None
5 IForest 1.201881 0.983650 0.044335 0.450 0.080717 0.717251 False pyod 0.064873 45045 [amt] 0.1001 25077 0.001595 None
6 INNE 1.105065 0.984049 0.045455 0.450 0.082569 0.717451 False pyod 0.064873 45045 [amt] 0.1001 25077 0.001595 None
7 KDE 57.790676 0.982334 0.038902 0.425 0.071279 0.704112 False pyod 0.064873 45045 [amt] 0.1001 25077 0.001595 None
8 KNN 0.058075 0.979463 0.027833 0.350 0.051565 0.665234 False pyod 0.064873 45045 [amt] 0.1001 25077 0.001595 None
9 LODA 0.098453 0.998006 0.000000 0.000 0.000000 0.499800 False pyod 0.064873 45045 [amt] 0.1001 25077 0.001595 None
10 LOF 0.104929 0.916657 0.000974 0.050 0.001910 0.484021 False pyod 0.064873 45045 [amt] 0.1001 25077 0.001595 None
11 MCD 0.010247 0.983650 0.044335 0.450 0.080717 0.717251 False pyod 0.064873 45045 [amt] 0.1001 25077 0.001595 None
12 OCSVM 129.275689 0.981537 0.037199 0.425 0.068410 0.703713 False pyod 0.064873 45045 [amt] 0.1001 25077 0.001595 None
13 PCA 0.004609 0.974080 0.021944 0.350 0.041298 0.662538 False pyod 0.064873 45045 [amt] 0.1001 25077 0.001595 None
14 ROD 4.839609 0.928141 0.000000 0.000 0.000000 0.464812 False pyod 0.064873 45045 [amt] 0.1001 25077 0.001595 None
pyod(*pyod_preprocess7(fraudTrain, 0.2,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 ABOD 1.780147 0.998401 0.000000 0.000000 0.000000 0.500000 False pyod 0.093087 22522 [amt] 0.197274 25648 0.001599 None
1 COPOD 0.005826 0.969705 0.030612 0.585366 0.058182 0.777843 False pyod 0.093087 22522 [amt] 0.197274 25648 0.001599 None
2 ECOD 0.005647 0.943504 0.008380 0.292683 0.016293 0.618615 False pyod 0.093087 22522 [amt] 0.197274 25648 0.001599 None
3 GMM 0.041195 0.993645 0.082192 0.292683 0.128342 0.643725 False pyod 0.093087 22522 [amt] 0.197274 25648 0.001599 None
4 HBOS 0.002820 0.998245 0.000000 0.000000 0.000000 0.499922 False pyod 0.093087 22522 [amt] 0.197274 25648 0.001599 None
5 IForest 0.687688 0.982338 0.027523 0.292683 0.050314 0.638062 False pyod 0.093087 22522 [amt] 0.197274 25648 0.001599 None
6 INNE 0.779023 0.948690 0.012987 0.414634 0.025185 0.682090 False pyod 0.093087 22522 [amt] 0.197274 25648 0.001599 None
7 KDE 15.122882 0.976684 0.027165 0.390244 0.050794 0.683934 False pyod 0.093087 22522 [amt] 0.197274 25648 0.001599 None
8 KNN 0.033299 0.975671 0.019769 0.292683 0.037037 0.634724 False pyod 0.093087 22522 [amt] 0.197274 25648 0.001599 None
9 LODA 0.068192 0.998245 0.000000 0.000000 0.000000 0.499922 False pyod 0.093087 22522 [amt] 0.197274 25648 0.001599 None
10 LOF 0.054378 0.878353 0.003227 0.243902 0.006369 0.561636 False pyod 0.093087 22522 [amt] 0.197274 25648 0.001599 None
11 MCD 0.007565 0.993645 0.082192 0.292683 0.128342 0.643725 False pyod 0.093087 22522 [amt] 0.197274 25648 0.001599 None
12 OCSVM 30.716032 0.975710 0.026059 0.390244 0.048855 0.683445 False pyod 0.093087 22522 [amt] 0.197274 25648 0.001599 None
13 PCA 0.004047 0.920267 0.002483 0.121951 0.004866 0.521748 False pyod 0.093087 22522 [amt] 0.197274 25648 0.001599 None
14 ROD 2.822113 0.874337 0.000000 0.000000 0.000000 0.437869 False pyod 0.093087 22522 [amt] 0.197274 25648 0.001599 None
pyod(*pyod_preprocess7(fraudTrain, 0.3,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 ABOD 1.349740 0.998413 0.000000 0.000000 0.000000 0.500000 False pyod 0.111935 15015 [amt] 0.301765 25830 0.001587 None
1 COPOD 0.005377 0.965428 0.032895 0.731707 0.062959 0.848753 False pyod 0.111935 15015 [amt] 0.301765 25830 0.001587 None
2 ECOD 0.005137 0.932830 0.010970 0.463415 0.021433 0.698495 False pyod 0.111935 15015 [amt] 0.301765 25830 0.001587 None
3 GMM 0.042679 0.995045 0.121739 0.341463 0.179487 0.668774 False pyod 0.111935 15015 [amt] 0.301765 25830 0.001587 None
4 HBOS 0.002609 0.982578 0.016548 0.170732 0.030172 0.577300 False pyod 0.111935 15015 [amt] 0.301765 25830 0.001587 None
5 IForest 0.526730 0.983159 0.033175 0.341463 0.060475 0.662821 False pyod 0.111935 15015 [amt] 0.301765 25830 0.001587 None
6 INNE 0.546461 0.949206 0.008507 0.268293 0.016492 0.609291 False pyod 0.111935 15015 [amt] 0.301765 25830 0.001587 None
7 KDE 5.674173 0.968138 0.019656 0.390244 0.037427 0.679650 False pyod 0.111935 15015 [amt] 0.301765 25830 0.001587 None
8 KNN 0.018532 0.970732 0.016238 0.292683 0.030769 0.632246 False pyod 0.111935 15015 [amt] 0.301765 25830 0.001587 None
9 LODA 0.082806 0.995780 0.113636 0.243902 0.155039 0.620439 False pyod 0.111935 15015 [amt] 0.301765 25830 0.001587 None
10 LOF 0.039351 0.843631 0.000250 0.024390 0.000495 0.434662 False pyod 0.111935 15015 [amt] 0.301765 25830 0.001587 None
11 MCD 0.006605 0.995045 0.121739 0.341463 0.179487 0.668774 False pyod 0.111935 15015 [amt] 0.301765 25830 0.001587 None
12 OCSVM 11.964095 0.965931 0.017261 0.365854 0.032967 0.666369 False pyod 0.111935 15015 [amt] 0.301765 25830 0.001587 None
13 PCA 0.003167 0.878204 0.001285 0.097561 0.002536 0.488503 False pyod 0.111935 15015 [amt] 0.301765 25830 0.001587 None
14 ROD 2.706139 0.998374 0.000000 0.000000 0.000000 0.499981 False pyod 0.111935 15015 [amt] 0.301765 25830 0.001587 None
pyod(*pyod_preprocess7(fraudTrain, 0.4,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 ABOD 1.056442 0.998072 0.000000 0.00 0.000000 0.500000 False pyod 0.124146 11261 [amt] 0.405559 25929 0.001928 None
1 COPOD 0.004659 0.962744 0.034553 0.68 0.065764 0.821645 False pyod 0.124146 11261 [amt] 0.405559 25929 0.001928 None
2 ECOD 0.004478 0.922365 0.010474 0.42 0.020438 0.671668 False pyod 0.124146 11261 [amt] 0.405559 25929 0.001928 None
3 GMM 0.047131 0.995333 0.109890 0.20 0.141844 0.598435 False pyod 0.124146 11261 [amt] 0.405559 25929 0.001928 None
4 HBOS 0.002315 0.997725 0.000000 0.00 0.000000 0.499826 False pyod 0.124146 11261 [amt] 0.405559 25929 0.001928 None
5 IForest 0.439775 0.953720 0.008547 0.20 0.016393 0.577588 False pyod 0.124146 11261 [amt] 0.405559 25929 0.001928 None
6 INNE 0.432797 0.927533 0.003798 0.14 0.007396 0.534527 False pyod 0.124146 11261 [amt] 0.405559 25929 0.001928 None
7 KDE 3.597681 0.953103 0.010906 0.26 0.020934 0.607221 False pyod 0.124146 11261 [amt] 0.405559 25929 0.001928 None
8 KNN 0.016438 0.963979 0.012141 0.22 0.023013 0.592708 False pyod 0.124146 11261 [amt] 0.405559 25929 0.001928 None
9 LODA 0.026018 0.997725 0.000000 0.00 0.000000 0.499826 False pyod 0.124146 11261 [amt] 0.405559 25929 0.001928 None
10 LOF 0.021584 0.842339 0.002219 0.18 0.004384 0.511809 False pyod 0.124146 11261 [amt] 0.405559 25929 0.001928 None
11 MCD 0.004568 0.995333 0.109890 0.20 0.141844 0.598435 False pyod 0.124146 11261 [amt] 0.405559 25929 0.001928 None
12 OCSVM 8.187352 0.953681 0.011874 0.28 0.022783 0.617491 False pyod 0.124146 11261 [amt] 0.405559 25929 0.001928 None
13 PCA 0.002958 0.795750 0.000191 0.02 0.000378 0.408624 False pyod 0.124146 11261 [amt] 0.405559 25929 0.001928 None
14 ROD 1.792597 0.998072 0.000000 0.00 0.000000 0.500000 False pyod 0.124146 11261 [amt] 0.405559 25929 0.001928 None
pyod(*pyod_preprocess7(fraudTrain, 0.5,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 ABOD 0.557842 0.998614 0.000000 0.000000 0.000000 0.500000 False pyod 0.129627 9009 [amt] 0.499389 25976 0.001386 None
1 COPOD 0.003594 0.960348 0.021195 0.611111 0.040968 0.785972 False pyod 0.129627 9009 [amt] 0.499389 25976 0.001386 None
2 ECOD 0.003449 0.919233 0.004803 0.277778 0.009443 0.598951 False pyod 0.129627 9009 [amt] 0.499389 25976 0.001386 None
3 GMM 0.041062 0.995342 0.087379 0.250000 0.129496 0.623188 False pyod 0.129627 9009 [amt] 0.499389 25976 0.001386 None
4 HBOS 0.002224 0.998268 0.000000 0.000000 0.000000 0.499827 False pyod 0.129627 9009 [amt] 0.499389 25976 0.001386 None
5 IForest 0.442339 0.946027 0.002911 0.111111 0.005674 0.529148 False pyod 0.129627 9009 [amt] 0.499389 25976 0.001386 None
6 INNE 0.358065 0.903642 0.002019 0.138889 0.003979 0.521796 False pyod 0.129627 9009 [amt] 0.499389 25976 0.001386 None
7 KDE 2.430887 0.943101 0.004127 0.166667 0.008054 0.555423 False pyod 0.129627 9009 [amt] 0.499389 25976 0.001386 None
8 KNN 0.012943 0.956960 0.005484 0.166667 0.010619 0.562362 False pyod 0.129627 9009 [amt] 0.499389 25976 0.001386 None
9 LODA 0.032066 0.998537 0.000000 0.000000 0.000000 0.499961 False pyod 0.129627 9009 [amt] 0.499389 25976 0.001386 None
10 LOF 0.021124 0.831267 0.002062 0.250000 0.004090 0.541037 False pyod 0.129627 9009 [amt] 0.499389 25976 0.001386 None
11 MCD 0.005115 0.995342 0.087379 0.250000 0.129496 0.623188 False pyod 0.129627 9009 [amt] 0.499389 25976 0.001386 None
12 OCSVM 6.036595 0.941022 0.004636 0.194444 0.009056 0.568252 False pyod 0.129627 9009 [amt] 0.499389 25976 0.001386 None
13 PCA 0.003238 0.775716 0.000345 0.055556 0.000686 0.416136 False pyod 0.129627 9009 [amt] 0.499389 25976 0.001386 None
14 ROD 2.498576 0.998614 0.000000 0.000000 0.000000 0.500000 False pyod 0.129627 9009 [amt] 0.499389 25976 0.001386 None
pyod(*pyod_preprocess7(fraudTrain, 0.09,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 ABOD 3.736258 0.998316 0.000000 0.000000 0.000000 0.500000 False pyod 0.060562 50049 [amt] 0.089912 24948 0.001684 None
1 COPOD 0.013021 0.976551 0.046745 0.666667 0.087363 0.821870 False pyod 0.060562 50049 [amt] 0.089912 24948 0.001684 None
2 ECOD 0.012661 0.962642 0.017354 0.380952 0.033195 0.672288 False pyod 0.060562 50049 [amt] 0.089912 24948 0.001684 None
3 GMM 0.041409 0.982804 0.051044 0.523810 0.093023 0.753694 False pyod 0.060562 50049 [amt] 0.089912 24948 0.001684 None
4 HBOS 0.003763 0.997956 0.000000 0.000000 0.000000 0.499819 False pyod 0.060562 50049 [amt] 0.089912 24948 0.001684 None
5 IForest 1.396689 0.982804 0.051044 0.523810 0.093023 0.753694 False pyod 0.060562 50049 [amt] 0.089912 24948 0.001684 None
6 INNE 1.592116 0.979237 0.029644 0.357143 0.054745 0.668714 False pyod 0.060562 50049 [amt] 0.089912 24948 0.001684 None
7 KDE 80.833243 0.981722 0.048035 0.523810 0.088000 0.753152 False pyod 0.060562 50049 [amt] 0.089912 24948 0.001684 None
8 KNN 0.084362 0.980119 0.040486 0.476190 0.074627 0.728579 False pyod 0.060562 50049 [amt] 0.089912 24948 0.001684 None
9 LODA 0.123417 0.997956 0.000000 0.000000 0.000000 0.499819 False pyod 0.060562 50049 [amt] 0.089912 24948 0.001684 None
10 LOF 0.136605 0.925445 0.000549 0.023810 0.001074 0.475387 False pyod 0.060562 50049 [amt] 0.089912 24948 0.001684 None
11 MCD 0.012548 0.982804 0.051044 0.523810 0.093023 0.753694 False pyod 0.060562 50049 [amt] 0.089912 24948 0.001684 None
12 OCSVM 195.688388 0.981121 0.046512 0.523810 0.085437 0.752851 False pyod 0.060562 50049 [amt] 0.089912 24948 0.001684 None
13 PCA 0.017854 0.977193 0.028623 0.380952 0.053245 0.679575 False pyod 0.060562 50049 [amt] 0.089912 24948 0.001684 None
14 ROD 8.075977 0.933181 0.000000 0.000000 0.000000 0.467377 False pyod 0.060562 50049 [amt] 0.089912 24948 0.001684 None
pyod(*pyod_preprocess7(fraudTrain, 0.08,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 ABOD 2.727145 0.998105 0.000000 0.000000 0.000000 0.500000 False pyod 0.055915 56306 [amt] 0.079707 24799 0.001895 None
1 COPOD 0.013015 0.976733 0.047782 0.595745 0.088468 0.786601 False pyod 0.055915 56306 [amt] 0.079707 24799 0.001895 None
2 ECOD 0.012713 0.965523 0.021327 0.382979 0.040404 0.674804 False pyod 0.055915 56306 [amt] 0.079707 24799 0.001895 None
3 GMM 0.038543 0.982217 0.056306 0.531915 0.101833 0.757493 False pyod 0.055915 56306 [amt] 0.079707 24799 0.001895 None
4 HBOS 0.004085 0.997782 0.000000 0.000000 0.000000 0.499838 False pyod 0.055915 56306 [amt] 0.079707 24799 0.001895 None
5 IForest 1.462832 0.982217 0.054299 0.510638 0.098160 0.746875 False pyod 0.055915 56306 [amt] 0.079707 24799 0.001895 None
6 INNE 1.422978 0.982217 0.056306 0.531915 0.101833 0.757493 False pyod 0.055915 56306 [amt] 0.079707 24799 0.001895 None
7 KDE 83.840746 0.981249 0.051502 0.510638 0.093567 0.746391 False pyod 0.055915 56306 [amt] 0.079707 24799 0.001895 None
8 KNN 0.073485 0.979515 0.047151 0.510638 0.086331 0.745522 False pyod 0.055915 56306 [amt] 0.079707 24799 0.001895 None
9 LODA 0.134940 0.997782 0.000000 0.000000 0.000000 0.499838 False pyod 0.055915 56306 [amt] 0.079707 24799 0.001895 None
10 LOF 0.158463 0.934231 0.000000 0.000000 0.000000 0.468003 False pyod 0.055915 56306 [amt] 0.079707 24799 0.001895 None
11 MCD 0.013061 0.982217 0.056306 0.531915 0.101833 0.757493 False pyod 0.055915 56306 [amt] 0.079707 24799 0.001895 None
12 OCSVM 275.263872 0.980644 0.049896 0.510638 0.090909 0.746088 False pyod 0.055915 56306 [amt] 0.079707 24799 0.001895 None
13 PCA 0.007308 0.977459 0.034545 0.404255 0.063652 0.691401 False pyod 0.055915 56306 [amt] 0.079707 24799 0.001895 None
14 ROD 12.635955 0.940602 0.000000 0.000000 0.000000 0.471194 False pyod 0.055915 56306 [amt] 0.079707 24799 0.001895 None
pyod(*pyod_preprocess7(fraudTrain, 0.07,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 ABOD 4.267090 0.998293 0.000000 0.000000 0.000000 0.500000 False pyod 0.051745 64350 [amt] 0.070878 24605 0.001707 None
1 COPOD 0.015945 0.976062 0.034072 0.476190 0.063593 0.726553 False pyod 0.051745 64350 [amt] 0.070878 24605 0.001707 None
2 ECOD 0.015757 0.967202 0.015209 0.285714 0.028881 0.627041 False pyod 0.051745 64350 [amt] 0.070878 24605 0.001707 None
3 GMM 0.044259 0.980614 0.032258 0.357143 0.059172 0.669411 False pyod 0.051745 64350 [amt] 0.070878 24605 0.001707 None
4 HBOS 0.004196 0.997846 0.000000 0.000000 0.000000 0.499776 False pyod 0.051745 64350 [amt] 0.070878 24605 0.001707 None
5 IForest 1.737503 0.980695 0.032397 0.357143 0.059406 0.669452 False pyod 0.051745 64350 [amt] 0.070878 24605 0.001707 None
6 INNE 2.118978 0.971347 0.023022 0.380952 0.043419 0.676655 False pyod 0.051745 64350 [amt] 0.070878 24605 0.001707 None
7 KDE 155.396784 0.979841 0.030992 0.357143 0.057034 0.669025 False pyod 0.051745 64350 [amt] 0.070878 24605 0.001707 None
8 KNN 0.075513 0.978785 0.023810 0.285714 0.043956 0.632842 False pyod 0.051745 64350 [amt] 0.070878 24605 0.001707 None
9 LODA 0.152571 0.997846 0.000000 0.000000 0.000000 0.499776 False pyod 0.051745 64350 [amt] 0.070878 24605 0.001707 None
10 LOF 0.163723 0.943589 0.002219 0.071429 0.004304 0.508254 False pyod 0.051745 64350 [amt] 0.070878 24605 0.001707 None
11 MCD 0.014389 0.980614 0.032258 0.357143 0.059172 0.669411 False pyod 0.051745 64350 [amt] 0.070878 24605 0.001707 None
12 OCSVM 310.532320 0.979313 0.030181 0.357143 0.055659 0.668760 False pyod 0.051745 64350 [amt] 0.070878 24605 0.001707 None
13 PCA 0.005431 0.977891 0.024621 0.309524 0.045614 0.644279 False pyod 0.051745 64350 [amt] 0.070878 24605 0.001707 None
14 ROD 5.789316 0.944849 0.000759 0.023810 0.001472 0.485117 False pyod 0.051745 64350 [amt] 0.070878 24605 0.001707 None
pyod(*pyod_preprocess7(fraudTrain, 0.06,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 ABOD 3.492509 0.998561 0.000000 0.000000 0.000000 0.500000 False pyod 0.046259 75075 [amt] 0.060779 24321 0.001439 None
1 COPOD 0.016448 0.977674 0.038182 0.600000 0.071795 0.789109 False pyod 0.046259 75075 [amt] 0.060779 24321 0.001439 None
2 ECOD 0.016267 0.971301 0.023022 0.457143 0.043836 0.714592 False pyod 0.046259 75075 [amt] 0.060779 24321 0.001439 None
3 GMM 0.055824 0.981333 0.041575 0.542857 0.077236 0.762411 False pyod 0.046259 75075 [amt] 0.060779 24321 0.001439 None
4 HBOS 0.005898 0.996505 0.000000 0.000000 0.000000 0.498971 False pyod 0.046259 75075 [amt] 0.060779 24321 0.001439 None
5 IForest 1.876080 0.981333 0.041575 0.542857 0.077236 0.762411 False pyod 0.046259 75075 [amt] 0.060779 24321 0.001439 None
6 INNE 1.869527 0.984417 0.049738 0.542857 0.091127 0.763955 False pyod 0.046259 75075 [amt] 0.060779 24321 0.001439 None
7 KDE 163.589160 0.981127 0.041126 0.542857 0.076459 0.762308 False pyod 0.046259 75075 [amt] 0.060779 24321 0.001439 None
8 KNN 0.091178 0.980100 0.033264 0.457143 0.062016 0.718998 False pyod 0.046259 75075 [amt] 0.060779 24321 0.001439 None
9 LODA 0.183160 0.996505 0.000000 0.000000 0.000000 0.498971 False pyod 0.046259 75075 [amt] 0.060779 24321 0.001439 None
10 LOF 0.189077 0.952263 0.000000 0.000000 0.000000 0.476818 False pyod 0.046259 75075 [amt] 0.060779 24321 0.001439 None
11 MCD 0.016378 0.981333 0.041575 0.542857 0.077236 0.762411 False pyod 0.046259 75075 [amt] 0.060779 24321 0.001439 None
12 OCSVM 457.085269 0.980675 0.040169 0.542857 0.074803 0.762082 False pyod 0.046259 75075 [amt] 0.060779 24321 0.001439 None
13 PCA 0.006485 0.980346 0.035639 0.485714 0.066406 0.733387 False pyod 0.046259 75075 [amt] 0.060779 24321 0.001439 None
14 ROD 6.098860 0.951976 0.000000 0.000000 0.000000 0.476674 False pyod 0.046259 75075 [amt] 0.060779 24321 0.001439 None
pyod(*pyod_preprocess7(fraudTrain, 0.05,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 ABOD 4.085661 0.998873 0.000000 0.000000 0.000000 0.500000 False pyod 0.039415 90090 [amt] 0.049595 23954 0.001127 None
1 COPOD 0.020001 0.980379 0.035639 0.629630 0.067460 0.805202 False pyod 0.039415 90090 [amt] 0.049595 23954 0.001127 None
2 ECOD 0.019580 0.976622 0.023256 0.481481 0.044369 0.729331 False pyod 0.039415 90090 [amt] 0.049595 23954 0.001127 None
3 GMM 0.063468 0.982967 0.038741 0.592593 0.072727 0.788000 False pyod 0.039415 90090 [amt] 0.049595 23954 0.001127 None
4 HBOS 0.014298 0.998581 0.000000 0.000000 0.000000 0.499854 False pyod 0.039415 90090 [amt] 0.049595 23954 0.001127 None
5 IForest 2.366763 0.982884 0.038554 0.592593 0.072398 0.787958 False pyod 0.039415 90090 [amt] 0.049595 23954 0.001127 None
6 INNE 2.973764 0.982967 0.038741 0.592593 0.072727 0.788000 False pyod 0.039415 90090 [amt] 0.049595 23954 0.001127 None
7 KDE 241.789211 0.982383 0.037471 0.592593 0.070485 0.787708 False pyod 0.039415 90090 [amt] 0.049595 23954 0.001127 None
8 KNN 0.113232 0.981798 0.029885 0.481481 0.056277 0.731922 False pyod 0.039415 90090 [amt] 0.049595 23954 0.001127 None
9 LODA 0.206885 0.998581 0.000000 0.000000 0.000000 0.499854 False pyod 0.039415 90090 [amt] 0.049595 23954 0.001127 None
10 LOF 0.225734 0.955665 0.000000 0.000000 0.000000 0.478372 False pyod 0.039415 90090 [amt] 0.049595 23954 0.001127 None
11 MCD 0.019378 0.982967 0.038741 0.592593 0.072727 0.788000 False pyod 0.039415 90090 [amt] 0.049595 23954 0.001127 None
12 OCSVM 622.701219 0.982341 0.037383 0.592593 0.070330 0.787687 False pyod 0.039415 90090 [amt] 0.049595 23954 0.001127 None
13 PCA 0.008549 0.983134 0.036855 0.555556 0.069124 0.769586 False pyod 0.039415 90090 [amt] 0.049595 23954 0.001127 None
14 ROD 10.039750 0.958546 0.000000 0.000000 0.000000 0.479814 False pyod 0.039415 90090 [amt] 0.049595 23954 0.001127 None
pyod(*pyod_preprocess7(fraudTrain, 0.04,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 ABOD 7.909420 0.998461 0.000000 0.000000 0.000000 0.500000 False pyod 0.033403 112612 [amt] 0.040022 23392 0.001539 None
1 COPOD 0.027455 0.982302 0.047847 0.555556 0.088106 0.769257 False pyod 0.033403 112612 [amt] 0.040022 23392 0.001539 None
2 ECOD 0.026967 0.980164 0.022321 0.277778 0.041322 0.629512 False pyod 0.033403 112612 [amt] 0.040022 23392 0.001539 None
3 GMM 0.068350 0.984696 0.055249 0.555556 0.100503 0.770456 False pyod 0.033403 112612 [amt] 0.040022 23392 0.001539 None
4 HBOS 0.006628 0.998076 0.000000 0.000000 0.000000 0.499807 False pyod 0.033403 112612 [amt] 0.040022 23392 0.001539 None
5 IForest 2.978932 0.984781 0.055556 0.555556 0.101010 0.770499 False pyod 0.033403 112612 [amt] 0.040022 23392 0.001539 None
6 INNE 3.737252 0.985551 0.058480 0.555556 0.105820 0.770884 False pyod 0.033403 112612 [amt] 0.040022 23392 0.001539 None
7 KDE 421.779969 0.983328 0.048469 0.527778 0.088785 0.755904 False pyod 0.033403 112612 [amt] 0.040022 23392 0.001539 None
8 KNN 0.209061 0.983541 0.039578 0.416667 0.072289 0.700541 False pyod 0.033403 112612 [amt] 0.040022 23392 0.001539 None
9 LODA 0.206327 0.998076 0.000000 0.000000 0.000000 0.499807 False pyod 0.033403 112612 [amt] 0.040022 23392 0.001539 None
10 LOF 0.328736 0.958875 0.002151 0.055556 0.004141 0.507911 False pyod 0.033403 112612 [amt] 0.040022 23392 0.001539 None
11 MCD 0.024410 0.984696 0.055249 0.555556 0.100503 0.770456 False pyod 0.033403 112612 [amt] 0.040022 23392 0.001539 None
12 OCSVM 854.252254 0.983328 0.048469 0.527778 0.088785 0.755904 False pyod 0.033403 112612 [amt] 0.040022 23392 0.001539 None
13 PCA 0.008249 0.985251 0.046921 0.444444 0.084881 0.715265 False pyod 0.033403 112612 [amt] 0.040022 23392 0.001539 None
14 ROD 7.228343 0.964988 0.000000 0.000000 0.000000 0.483238 False pyod 0.033403 112612 [amt] 0.040022 23392 0.001539 None
pyod(*pyod_preprocess7(fraudTrain, 0.03,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 ABOD 6.561160 0.998796 0.000000 0.000000 0.000000 0.500000 False pyod 0.026233 150150 [amt] 0.02997 22421 0.001204 None
1 COPOD 0.031500 0.985460 0.034268 0.407407 0.063218 0.696782 False pyod 0.026233 150150 [amt] 0.02997 22421 0.001204 None
2 ECOD 0.031440 0.983408 0.022161 0.296296 0.041237 0.640267 False pyod 0.026233 150150 [amt] 0.02997 22421 0.001204 None
3 GMM 0.052276 0.987289 0.039286 0.407407 0.071661 0.697698 False pyod 0.026233 150150 [amt] 0.02997 22421 0.001204 None
4 HBOS 0.007717 0.998573 0.000000 0.000000 0.000000 0.499888 False pyod 0.026233 150150 [amt] 0.02997 22421 0.001204 None
5 IForest 3.936411 0.987423 0.039711 0.407407 0.072368 0.697765 False pyod 0.026233 150150 [amt] 0.02997 22421 0.001204 None
6 INNE 4.891718 0.985237 0.027950 0.333333 0.051576 0.659678 False pyod 0.026233 150150 [amt] 0.02997 22421 0.001204 None
7 KDE 763.987734 0.985014 0.030395 0.370370 0.056180 0.678063 False pyod 0.026233 150150 [amt] 0.02997 22421 0.001204 None
8 KNN 0.185139 0.984791 0.032738 0.407407 0.060606 0.696447 False pyod 0.026233 150150 [amt] 0.02997 22421 0.001204 None
9 LODA 0.252817 0.998573 0.000000 0.000000 0.000000 0.499888 False pyod 0.026233 150150 [amt] 0.02997 22421 0.001204 None
10 LOF 0.301671 0.965568 0.002670 0.074074 0.005155 0.520358 False pyod 0.026233 150150 [amt] 0.02997 22421 0.001204 None
11 MCD 0.027325 0.987289 0.039286 0.407407 0.071661 0.697698 False pyod 0.026233 150150 [amt] 0.02997 22421 0.001204 None
12 OCSVM 1225.329087 0.985059 0.030488 0.370370 0.056338 0.678085 False pyod 0.026233 150150 [amt] 0.02997 22421 0.001204 None
13 PCA 0.010429 0.987958 0.038023 0.370370 0.068966 0.679536 False pyod 0.026233 150150 [amt] 0.02997 22421 0.001204 None
14 ROD 6.394123 0.960974 0.000000 0.000000 0.000000 0.481066 False pyod 0.026233 150150 [amt] 0.02997 22421 0.001204 None
pyod(*pyod_preprocess7(fraudTrain, 0.02,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 ABOD 9.028171 0.998058 0.000000 0.000 0.000000 0.500000 False pyod 0.018225 225225 [amt] 0.019714 20593 0.001942 None
1 COPOD 0.045171 0.990094 0.077320 0.375 0.128205 0.683145 False pyod 0.018225 225225 [amt] 0.019714 20593 0.001942 None
2 ECOD 0.044993 0.986889 0.032520 0.200 0.055944 0.594210 False pyod 0.018225 225225 [amt] 0.019714 20593 0.001942 None
3 GMM 0.042218 0.990579 0.081522 0.375 0.133929 0.683389 False pyod 0.018225 225225 [amt] 0.019714 20593 0.001942 None
4 HBOS 0.011112 0.997960 0.000000 0.000 0.000000 0.499951 False pyod 0.018225 225225 [amt] 0.019714 20593 0.001942 None
5 IForest 4.834637 0.990628 0.081967 0.375 0.134529 0.683413 False pyod 0.018225 225225 [amt] 0.019714 20593 0.001942 None
6 INNE 5.690203 0.990968 0.085227 0.375 0.138889 0.683583 False pyod 0.018225 225225 [amt] 0.019714 20593 0.001942 None
7 KDE 1351.110822 0.989608 0.073529 0.375 0.122951 0.682902 False pyod 0.018225 225225 [amt] 0.019714 20593 0.001942 None
8 KNN 0.300749 0.989462 0.072464 0.375 0.121457 0.682829 False pyod 0.018225 225225 [amt] 0.019714 20593 0.001942 None
9 LODA 0.348524 0.997960 0.000000 0.000 0.000000 0.499951 False pyod 0.018225 225225 [amt] 0.019714 20593 0.001942 None
10 LOF 0.486616 0.978051 0.000000 0.000 0.000000 0.489977 False pyod 0.018225 225225 [amt] 0.019714 20593 0.001942 None
11 MCD 0.041067 0.990579 0.081522 0.375 0.133929 0.683389 False pyod 0.018225 225225 [amt] 0.019714 20593 0.001942 None
12 OCSVM 3636.119318 0.989462 0.076555 0.400 0.128514 0.695305 False pyod 0.018225 225225 [amt] 0.019714 20593 0.001942 None
13 PCA 0.014660 0.990579 0.081522 0.375 0.133929 0.683389 False pyod 0.018225 225225 [amt] 0.019714 20593 0.001942 None
14 ROD 8.397770 0.966445 0.000000 0.000 0.000000 0.484163 False pyod 0.018225 225225 [amt] 0.019714 20593 0.001942 None
pyod(*pyod_preprocess7(fraudTrain, 0.01,10))
pyod(*pyod_preprocess7(fraudTrain, 0.009,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 ABOD 19.123987 0.996802 0.000000 0.000000 0.000000 0.500000 False pyod 0.008852 500499 [amt] 0.009007 13757 0.003198 None
1 COPOD 0.095501 0.993312 0.207317 0.386364 0.269841 0.690812 False pyod 0.008852 500499 [amt] 0.009007 13757 0.003198 None
2 ECOD 0.094668 0.990841 0.090000 0.204545 0.125000 0.598955 False pyod 0.008852 500499 [amt] 0.009007 13757 0.003198 None
3 GMM 0.082705 0.993385 0.209877 0.386364 0.272000 0.690848 False pyod 0.008852 500499 [amt] 0.009007 13757 0.003198 None
4 HBOS 0.021790 0.996438 0.000000 0.000000 0.000000 0.499818 False pyod 0.008852 500499 [amt] 0.009007 13757 0.003198 None
5 IForest 10.652711 0.993240 0.197531 0.363636 0.256000 0.679448 False pyod 0.008852 500499 [amt] 0.009007 13757 0.003198 None
6 INNE 12.664726 0.990114 0.057692 0.136364 0.081081 0.564609 False pyod 0.008852 500499 [amt] 0.009007 13757 0.003198 None
7 KDE 7850.544608 0.992731 0.174419 0.340909 0.230769 0.667866 False pyod 0.008852 500499 [amt] 0.009007 13757 0.003198 None
8 KNN 0.720972 0.992513 0.175824 0.363636 0.237037 0.679084 False pyod 0.008852 500499 [amt] 0.009007 13757 0.003198 None
9 LODA 0.847339 0.996438 0.000000 0.000000 0.000000 0.499818 False pyod 0.008852 500499 [amt] 0.009007 13757 0.003198 None
10 LOF 1.163180 0.988370 0.000000 0.000000 0.000000 0.495770 False pyod 0.008852 500499 [amt] 0.009007 13757 0.003198 None
11 MCD 0.085525 0.993385 0.209877 0.386364 0.272000 0.690848 False pyod 0.008852 500499 [amt] 0.009007 13757 0.003198 None
12 OCSVM 16540.327188 0.992658 0.172414 0.340909 0.229008 0.667829 False pyod 0.008852 500499 [amt] 0.009007 13757 0.003198 None
13 PCA 0.029995 0.993385 0.209877 0.386364 0.272000 0.690848 False pyod 0.008852 500499 [amt] 0.009007 13757 0.003198 None
14 ROD 9.163085 0.971796 0.000000 0.000000 0.000000 0.487457 False pyod 0.008852 500499 [amt] 0.009007 13757 0.003198 None
pyod(*pyod_preprocess7(fraudTrain, 0.008,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 ABOD 22.084092 0.997192 0.000000 0.000000 0.000000 0.500000 False pyod 0.007822 563062 [amt] 0.00793 12108 0.002808 None
1 COPOD 0.108229 0.994797 0.269841 0.500000 0.350515 0.748095 False pyod 0.007822 563062 [amt] 0.00793 12108 0.002808 None
2 ECOD 0.108099 0.992071 0.092105 0.205882 0.127273 0.600084 False pyod 0.007822 563062 [amt] 0.00793 12108 0.002808 None
3 GMM 0.095033 0.994962 0.278689 0.500000 0.357895 0.748178 False pyod 0.007822 563062 [amt] 0.00793 12108 0.002808 None
4 HBOS 0.024087 0.996779 0.000000 0.000000 0.000000 0.499793 False pyod 0.007822 563062 [amt] 0.00793 12108 0.002808 None
5 IForest 11.894886 0.994962 0.278689 0.500000 0.357895 0.748178 False pyod 0.007822 563062 [amt] 0.00793 12108 0.002808 None
6 INNE 14.018602 0.994962 0.278689 0.500000 0.357895 0.748178 False pyod 0.007822 563062 [amt] 0.00793 12108 0.002808 None
7 KDE 9508.246075 0.994219 0.218750 0.411765 0.285714 0.703812 False pyod 0.007822 563062 [amt] 0.00793 12108 0.002808 None
8 KNN 0.852808 0.993723 0.200000 0.411765 0.269231 0.703563 False pyod 0.007822 563062 [amt] 0.00793 12108 0.002808 None
9 LODA 0.915292 0.996779 0.000000 0.000000 0.000000 0.499793 False pyod 0.007822 563062 [amt] 0.00793 12108 0.002808 None
10 LOF 1.328066 0.990089 0.000000 0.000000 0.000000 0.496439 False pyod 0.007822 563062 [amt] 0.00793 12108 0.002808 None
11 MCD 0.093521 0.994962 0.278689 0.500000 0.357895 0.748178 False pyod 0.007822 563062 [amt] 0.00793 12108 0.002808 None
12 OCSVM 31912.189598 0.994219 0.218750 0.411765 0.285714 0.703812 False pyod 0.007822 563062 [amt] 0.00793 12108 0.002808 None
13 PCA 0.042245 0.994962 0.278689 0.500000 0.357895 0.748178 False pyod 0.007822 563062 [amt] 0.00793 12108 0.002808 None
14 ROD 19.189596 0.976957 0.000000 0.000000 0.000000 0.489854 False pyod 0.007822 563062 [amt] 0.00793 12108 0.002808 None
pyod(*pyod_preprocess7(fraudTrain, 0.007,10))
pyod(*pyod_preprocess7(fraudTrain, 0.006,10))
pyod(*pyod_preprocess7(fraudTrain, 0.15,10))
pyod(*pyod_preprocess7(fraudTrain, 0.25,10))
pyod(*pyod_preprocess7(fraudTrain, 0.35,10))
pyod(*pyod_preprocess7(fraudTrain, 0.45,10))
pyod(*pyod_preprocess7(fraudTrain, 0.55,10))
pyod(*pyod_preprocess7(fraudTrain, 0.015,10))
pyod(*pyod_preprocess7(fraudTrain, 0.025,10))
pyod(*pyod_preprocess7(fraudTrain, 0.035,10))
pyod(*pyod_preprocess7(fraudTrain, 0.045,10))
pyod(*pyod_preprocess7(fraudTrain, 0.055,10))
pyod(*pyod_preprocess7(fraudTrain, 0.065,10))
pyod(*pyod_preprocess7(fraudTrain, 0.075,10))
pyod(*pyod_preprocess7(fraudTrain, 0.085,10))
pyod(*pyod_preprocess7(fraudTrain, 0.095,10))

pyod_preproecess10: 비율 다르게 test_size정할수 잇음

pyod(*pyod_preprocess10(fraudTrain, 0.3, 0.05))
pyod(*pyod_preprocess10(fraudTrain, 0.3, 0.005))
pyod(*pyod_preprocess10(fraudTrain, 0.2, 0.05))
pyod(*pyod_preprocess10(fraudTrain, 0.2, 0.005))
pyod(*pyod_preprocess10(fraudTrain, 0.2, 0.0005))
pyod(*pyod_preprocess10(fraudTrain, 0.1, 0.05))
pyod(*pyod_preprocess10(fraudTrain, 0.3, 0.005))
pyod(*pyod_preprocess10(fraudTrain, 0.2, 0.005))
pyod(*pyod_preprocess10(fraudTrain, 0.09, 0.005))
pyod(*pyod_preprocess10(fraudTrain, 0.08, 0.005))
pyod(*pyod_preprocess10(fraudTrain, 0.07, 0.005))
pyod(*pyod_preprocess10(fraudTrain, 0.06, 0.005))
pyod(*pyod_preprocess10(fraudTrain, 0.05, 0.005))
pyod(*pyod_preprocess10(fraudTrain, 0.15, 0.005))
pyod(*pyod_preprocess10(fraudTrain, 0.25, 0.005))

pyod_preprocess3: 비율 다 다르게 n

pyod(*pyod_preprocess3(fraudTrain, 10))
pyod(*pyod_preprocess3(fraudTrain, 9))
pyod(*pyod_preprocess3(fraudTrain, 5))
pyod(*pyod_preprocess3(fraudTrain, 4))
pyod(*pyod_preprocess3(fraudTrain, 2))

안됨(Replace has to be set to True when upsampling the population frac > 1.)

pyod(*pyod_preprocess4(fraudTrain, 0.005))

pyod(*pyod_preprocess7(fraudTrain, 0.005,10))

pyod(*pyod_preprocess7(fraudTrain, 0.004,10))

pyod(*pyod_preprocess7(fraudTrain, 0.003,10))

pyod(*pyod_preprocess7(fraudTrain, 0.002,10))

pyod(*pyod_preprocess7(fraudTrain, 0.001,10))

contamination must be in (0, 0.5], got: 0.5~ 오류로 아래 것들 안 됨

pyod(*pyod_preprocess3(fraudTrain, 8))

pyod(*pyod_preprocess3(fraudTrain, 7))

pyod(*pyod_preprocess3(fraudTrain, 6))

pyod(*pyod_preprocess3(fraudTrain, 3))

pyod(*pyod_preprocess3(fraudTrain, 1))

pyod(*pyod_preprocess10(fraudTrain, 0.5, 0.5))

pyod(*pyod_preprocess10(fraudTrain, 0.5, 0.05))

pyod(*pyod_preprocess10(fraudTrain, 0.5, 0.005))

pyod(*pyod_preprocess10(fraudTrain, 0.5, 0.0005))

pyod(*pyod_preprocess10(fraudTrain, 0.7, 0.005))

pyod(*pyod_preprocess10(fraudTrain, 0.6, 0.005))

pyod(*pyod_preprocess10(fraudTrain, 0.4, 0.005))