[Pyod] 0.005

Author

김보람

Published

February 12, 2024

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
/tmp/ipykernel_3734844/761229760.py:1: DeprecationWarning: 
Pyarrow will become a required dependency of pandas in the next major release of pandas (pandas 3.0),
(to allow more performant data types, such as the Arrow string type, and better interoperability with other libraries)
but was not found to be installed on your system.
If this would cause problems for you,
please provide us feedback at https://github.com/pandas-dev/pandas/issues/54466
        
  import pandas as pd
import warnings
warnings.filterwarnings('ignore')
%run functions_pyod.py
with open('fraudTrain.pkl', 'rb') as file:
    fraudTrain = pickle.load(file)    

2.

pyod(*pyod_preprocess(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 ABOD 4.273217 0.994240 0.000000 0.000000 0.000000 0.500000 False pyod 0.005808 78643 [amt] 0.005824 26215 0.00576 None
1 COPOD 0.084263 0.992333 0.335526 0.337748 0.336634 0.666937 False pyod 0.005808 78643 [amt] 0.005824 26215 0.00576 None
2 ECOD 0.016717 0.990158 0.125874 0.119205 0.122449 0.557205 False pyod 0.005808 78643 [amt] 0.005824 26215 0.00576 None
3 GMM 0.102247 0.992333 0.335526 0.337748 0.336634 0.666937 False pyod 0.005808 78643 [amt] 0.005824 26215 0.00576 None
4 HBOS 0.838029 0.992485 0.000000 0.000000 0.000000 0.499118 False pyod 0.005808 78643 [amt] 0.005824 26215 0.00576 None
5 IForest 0.589653 0.992485 0.340278 0.324503 0.332203 0.660429 False pyod 0.005808 78643 [amt] 0.005824 26215 0.00576 None
6 INNE 2.065439 0.992447 0.342282 0.337748 0.340000 0.666994 False pyod 0.005808 78643 [amt] 0.005824 26215 0.00576 None
7 KDE 181.919654 0.991265 0.303030 0.397351 0.343840 0.696028 False pyod 0.005808 78643 [amt] 0.005824 26215 0.00576 None
8 KNN 0.091884 0.991875 0.281690 0.264901 0.273038 0.630494 False pyod 0.005808 78643 [amt] 0.005824 26215 0.00576 None
9 LODA 0.246935 0.992485 0.000000 0.000000 0.000000 0.499118 False pyod 0.005808 78643 [amt] 0.005824 26215 0.00576 None
10 LOF 0.175358 0.988556 0.000000 0.000000 0.000000 0.497142 False pyod 0.005808 78643 [amt] 0.005824 26215 0.00576 None
11 MAD 0.004002 0.971657 0.141646 0.774834 0.239509 0.873816 False pyod 0.005808 78643 [amt] 0.005824 26215 0.00576 None
12 MCD 0.018051 0.992333 0.335526 0.337748 0.336634 0.666937 False pyod 0.005808 78643 [amt] 0.005824 26215 0.00576 None
13 OCSVM 438.916690 0.990692 0.281690 0.397351 0.329670 0.695740 False pyod 0.005808 78643 [amt] 0.005824 26215 0.00576 None
14 PCA 0.005662 0.992333 0.335526 0.337748 0.336634 0.666937 False pyod 0.005808 78643 [amt] 0.005824 26215 0.00576 None
15 ROD 5.457949 0.988098 0.000000 0.000000 0.000000 0.496911 False pyod 0.005808 78643 [amt] 0.005824 26215 0.00576 None
pyod(*pyod_preprocess(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 ABOD 5.567394 0.994026 0.000000 0.000000 0.000000 0.500000 False pyod 0.005836 87381 [amt] 0.005791 29128 0.005974 None
1 COPOD 0.092203 0.993134 0.413333 0.356322 0.382716 0.676641 False pyod 0.005836 87381 [amt] 0.005791 29128 0.005974 None
2 ECOD 0.018878 0.990559 0.174194 0.155172 0.164134 0.575376 False pyod 0.005836 87381 [amt] 0.005791 29128 0.005974 None
3 GMM 0.100464 0.993271 0.421429 0.339080 0.375796 0.668141 False pyod 0.005836 87381 [amt] 0.005791 29128 0.005974 None
4 HBOS 0.954457 0.993408 0.000000 0.000000 0.000000 0.499689 False pyod 0.005836 87381 [amt] 0.005791 29128 0.005974 None
5 IForest 0.682357 0.993305 0.424460 0.339080 0.376997 0.668159 False pyod 0.005836 87381 [amt] 0.005791 29128 0.005974 None
6 INNE 3.322844 0.991589 0.267974 0.235632 0.250765 0.615882 False pyod 0.005836 87381 [amt] 0.005791 29128 0.005974 None
7 KDE 232.400681 0.991692 0.322917 0.356322 0.338798 0.675916 False pyod 0.005836 87381 [amt] 0.005791 29128 0.005974 None
8 KNN 0.103302 0.992275 0.335484 0.298851 0.316109 0.647647 False pyod 0.005836 87381 [amt] 0.005791 29128 0.005974 None
9 LODA 0.350403 0.993408 0.000000 0.000000 0.000000 0.499689 False pyod 0.005836 87381 [amt] 0.005791 29128 0.005974 None
10 LOF 0.207018 0.988808 0.000000 0.000000 0.000000 0.497375 False pyod 0.005836 87381 [amt] 0.005791 29128 0.005974 None
11 MAD 0.004273 0.973874 0.145959 0.695402 0.241276 0.835475 False pyod 0.005836 87381 [amt] 0.005791 29128 0.005974 None
12 MCD 0.023582 0.993271 0.421429 0.339080 0.375796 0.668141 False pyod 0.005836 87381 [amt] 0.005791 29128 0.005974 None
13 OCSVM 531.558334 0.991280 0.303922 0.356322 0.328042 0.675709 False pyod 0.005836 87381 [amt] 0.005791 29128 0.005974 None
14 PCA 0.005860 0.993271 0.421429 0.339080 0.375796 0.668141 False pyod 0.005836 87381 [amt] 0.005791 29128 0.005974 None
15 ROD 5.743121 0.988499 0.000000 0.000000 0.000000 0.497220 False pyod 0.005836 87381 [amt] 0.005791 29128 0.005974 None
pyod(*pyod_preprocess(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 ABOD 7.705879 0.994080 0.000000 0.000000 0.000000 0.500000 False pyod 0.005478 98304 [amt] 0.00533 32768 0.00592 None
1 COPOD 0.021432 0.992126 0.331579 0.324742 0.328125 0.660422 False pyod 0.005478 98304 [amt] 0.00533 32768 0.00592 None
2 ECOD 0.020781 0.989075 0.049451 0.046392 0.047872 0.520540 False pyod 0.005478 98304 [amt] 0.00533 32768 0.00592 None
3 GMM 0.098551 0.992065 0.331633 0.335052 0.333333 0.665515 False pyod 0.005478 98304 [amt] 0.00533 32768 0.00592 None
4 HBOS 0.011187 0.992828 0.000000 0.000000 0.000000 0.499371 False pyod 0.005478 98304 [amt] 0.00533 32768 0.00592 None
5 IForest 0.821438 0.992096 0.331606 0.329897 0.330749 0.662968 False pyod 0.005478 98304 [amt] 0.00533 32768 0.00592 None
6 INNE 3.668374 0.992096 0.331606 0.329897 0.330749 0.662968 False pyod 0.005478 98304 [amt] 0.00533 32768 0.00592 None
7 KDE 278.269150 0.991058 0.304348 0.396907 0.344519 0.695752 False pyod 0.005478 98304 [amt] 0.00533 32768 0.00592 None
8 KNN 0.119490 0.991699 0.296875 0.293814 0.295337 0.644835 False pyod 0.005478 98304 [amt] 0.00533 32768 0.00592 None
9 LODA 0.373533 0.992828 0.000000 0.000000 0.000000 0.499371 False pyod 0.005478 98304 [amt] 0.00533 32768 0.00592 None
10 LOF 0.212626 0.991089 0.000000 0.000000 0.000000 0.498496 False pyod 0.005478 98304 [amt] 0.00533 32768 0.00592 None
11 MAD 0.004767 0.971710 0.146577 0.783505 0.246954 0.878168 False pyod 0.005478 98304 [amt] 0.00533 32768 0.00592 None
12 MCD 0.021414 0.992065 0.331633 0.335052 0.333333 0.665515 False pyod 0.005478 98304 [amt] 0.00533 32768 0.00592 None
13 OCSVM 685.246210 0.990814 0.298113 0.407216 0.344227 0.700753 False pyod 0.005478 98304 [amt] 0.00533 32768 0.00592 None
14 PCA 0.007045 0.992065 0.331633 0.335052 0.333333 0.665515 False pyod 0.005478 98304 [amt] 0.00533 32768 0.00592 None
15 ROD 6.350340 0.988861 0.000000 0.000000 0.000000 0.497375 False pyod 0.005478 98304 [amt] 0.00533 32768 0.00592 None
pyod(*pyod_preprocess(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 ABOD 4.929224 0.994019 0.000000 0.000000 0.000000 0.500000 False pyod 0.005728 112347 [amt] 0.005643 37450 0.005981 None
1 COPOD 0.023187 0.992417 0.367257 0.370536 0.368889 0.683347 False pyod 0.005728 112347 [amt] 0.005643 37450 0.005981 None
2 ECOD 0.023353 0.989426 0.098131 0.093750 0.095890 0.544283 False pyod 0.005728 112347 [amt] 0.005643 37450 0.005981 None
3 GMM 0.090971 0.992443 0.372294 0.383929 0.378022 0.690017 False pyod 0.005728 112347 [amt] 0.005643 37450 0.005981 None
4 HBOS 0.007301 0.992417 0.319277 0.236607 0.271795 0.616786 False pyod 0.005728 112347 [amt] 0.005643 37450 0.005981 None
5 IForest 0.965181 0.992577 0.375000 0.361607 0.368182 0.678990 False pyod 0.005728 112347 [amt] 0.005643 37450 0.005981 None
6 INNE 4.282798 0.992550 0.373272 0.361607 0.367347 0.678977 False pyod 0.005728 112347 [amt] 0.005643 37450 0.005981 None
7 KDE 395.870522 0.991242 0.311594 0.383929 0.344000 0.689412 False pyod 0.005728 112347 [amt] 0.005643 37450 0.005981 None
8 KNN 0.146456 0.991722 0.313043 0.321429 0.317181 0.658592 False pyod 0.005728 112347 [amt] 0.005643 37450 0.005981 None
9 LODA 0.362165 0.992417 0.319277 0.236607 0.271795 0.616786 False pyod 0.005728 112347 [amt] 0.005643 37450 0.005981 None
10 LOF 0.268022 0.988545 0.000000 0.000000 0.000000 0.497247 False pyod 0.005728 112347 [amt] 0.005643 37450 0.005981 None
11 MAD 0.005068 0.970681 0.131535 0.696429 0.221277 0.834380 False pyod 0.005728 112347 [amt] 0.005643 37450 0.005981 None
12 MCD 0.042764 0.992443 0.372294 0.383929 0.378022 0.690017 False pyod 0.005728 112347 [amt] 0.005643 37450 0.005981 None
13 OCSVM 778.449193 0.991162 0.313589 0.401786 0.352250 0.698247 False pyod 0.005728 112347 [amt] 0.005643 37450 0.005981 None
14 PCA 0.007717 0.992443 0.372294 0.383929 0.378022 0.690017 False pyod 0.005728 112347 [amt] 0.005643 37450 0.005981 None
15 ROD 5.373784 0.987664 0.000000 0.000000 0.000000 0.496803 False pyod 0.005728 112347 [amt] 0.005643 37450 0.005981 None
pyod(*pyod_preprocess(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 ABOD 5.861109 0.994255 0.000000 0.000000 0.000000 0.500000 False pyod 0.005705 131072 [amt] 0.005692 43691 0.005745 None
1 COPOD 0.027635 0.992859 0.381323 0.390438 0.385827 0.693389 False pyod 0.005705 131072 [amt] 0.005692 43691 0.005745 None
2 ECOD 0.027686 0.990158 0.122363 0.115538 0.118852 0.555375 False pyod 0.005705 131072 [amt] 0.005692 43691 0.005745 None
3 GMM 0.111848 0.992859 0.382239 0.394422 0.388235 0.695370 False pyod 0.005705 131072 [amt] 0.005692 43691 0.005745 None
4 HBOS 0.007678 0.993340 0.000000 0.000000 0.000000 0.499540 False pyod 0.005705 131072 [amt] 0.005692 43691 0.005745 None
5 IForest 0.913887 0.993019 0.392000 0.390438 0.391218 0.693470 False pyod 0.005705 131072 [amt] 0.005692 43691 0.005745 None
6 INNE 3.407832 0.993591 0.438819 0.414343 0.426230 0.705640 False pyod 0.005705 131072 [amt] 0.005692 43691 0.005745 None
7 KDE 550.290630 0.991554 0.319018 0.414343 0.360485 0.704616 False pyod 0.005705 131072 [amt] 0.005692 43691 0.005745 None
8 KNN 0.157852 0.991806 0.302583 0.326693 0.314176 0.661171 False pyod 0.005705 131072 [amt] 0.005692 43691 0.005745 None
9 LODA 0.597289 0.993340 0.000000 0.000000 0.000000 0.499540 False pyod 0.005705 131072 [amt] 0.005692 43691 0.005745 None
10 LOF 0.430781 0.988350 0.018657 0.019920 0.019268 0.506933 False pyod 0.005705 131072 [amt] 0.005692 43691 0.005745 None
11 MAD 0.009373 0.972214 0.138242 0.733068 0.232617 0.853332 False pyod 0.005705 131072 [amt] 0.005692 43691 0.005745 None
12 MCD 0.037009 0.992859 0.382239 0.394422 0.388235 0.695370 False pyod 0.005705 131072 [amt] 0.005692 43691 0.005745 None
13 OCSVM 1345.276646 0.991509 0.318182 0.418327 0.361446 0.706574 False pyod 0.005705 131072 [amt] 0.005692 43691 0.005745 None
14 PCA 0.008583 0.992859 0.382239 0.394422 0.388235 0.695370 False pyod 0.005705 131072 [amt] 0.005692 43691 0.005745 None
15 ROD 9.080281 0.988739 0.000000 0.000000 0.000000 0.497226 False pyod 0.005705 131072 [amt] 0.005692 43691 0.005745 None