Commit 3a554615 authored by Paul Primus's avatar Paul Primus
Browse files

add final submission package

parent c6f82fba
## Install
1. To setup project & download data run the following commands:
- ```conda env create -f environment.yml```
- ```./setup.sh```
- download data (https://zenodo.org/record/3678171#.XnTC7nVKjmE) & unzip into ```~/shared/DCASE2020_Task2```
2. Setup MongoDB & Ominboard for Sacred Logger
......@@ -11,267 +11,3 @@
see scripts folder
# Baseline Results
## Spec Normalized, Raw Normalized
| Machine | Type | ID | AUC | to BL | AUC | to BL |
| ------- | :--- | :--- | ---------- | ---------- | ---------- | ---------- |
|fan | 0 |0 |0.5639 |+0.0198 |0.4959 |+0.0022 |
|fan | 0 |2 |0.8054 |+0.0714 |0.6094 |+0.0613 |
|fan | 0 |4 |0.6661 |+0.0500 |0.5413 |+0.0087 |
|fan | 0 |6 |0.9022 |+0.1630 |0.7100 |+0.1865 |
|pump | 1 |0 |0.6967 |+0.0252 |0.5396 |-0.0278 |
|pump | 1 |2 |0.6124 |-0.0029 |0.5771 |-0.0039 |
|pump | 1 |4 |0.9497 |+0.0664 |0.7932 |+0.1222 |
|pump | 1 |6 |0.8019 |+0.0564 |0.6068 |+0.0266 |
|slider | 2 |0 |0.9342 |-0.0277 |0.6991 |-0.1153 |
|slider | 2 |2 |0.7753 |-0.0144 |0.6069 |-0.0299 |
|slider | 2 |4 |0.9044 |-0.0386 |0.6257 |-0.0941 |
|slider | 2 |6 |0.6628 |-0.0331 |0.4979 |+0.0077 |
|ToyCar | 3 |1 |0.7976 |-0.0160 |0.6980 |+0.0140 |
|ToyCar | 3 |2 |0.8678 |+0.0081 |0.7776 |+0.0004 |
|ToyCar | 3 |3 |0.6652 |+0.0322 |0.5633 |+0.0112 |
|ToyCar | 3 |4 |0.8859 |+0.0414 |0.7442 |+0.0545 |
|ToyConveyor | 4 |1 |0.7552 |-0.0255 |0.6257 |-0.0168 |
|ToyConveyor | 4 |2 |0.6276 |-0.0140 |0.5590 |-0.0011 |
|ToyConveyor | 4 |3 |0.7387 |-0.0148 |0.5950 |-0.0153 |
|valve | 5 |0 |0.6751 |-0.0125 |0.5179 |+0.0009 |
|valve | 5 |2 |0.6286 |-0.0532 |0.5105 |-0.0078 |
|valve | 5 |4 |0.7339 |-0.0091 |0.5263 |+0.0066 |
|valve | 5 |6 |0.5888 |+0.0498 |0.4947 |+0.0104 |
## Spec Unnormalized, Raw Unnormalized
| Machine | Type | ID | AUC | to BL | AUC | to BL |
| ------- | :--- | :--- | ---------- | ---------- | ---------- | ---------- |
|fan | 0 |0 |0.5516 |+0.0075 |0.5096 |+0.0159 |
|fan | 0 |2 |0.7285 |-0.0055 |0.5584 |+0.0103 |
|fan | 0 |4 |0.5530 |-0.0631 |0.5032 |-0.0294 |
|fan | 0 |6 |0.7911 |+0.0519 |0.6481 |+0.1246 |
|pump | 1 |0 |0.7281 |+0.0566 |0.5970 |+0.0296 |
|pump | 1 |2 |0.5812 |-0.0341 |0.5495 |-0.0315 |
|pump | 1 |4 |0.9266 |+0.0433 |0.7463 |+0.0753 |
|pump | 1 |6 |0.6832 |-0.0623 |0.6197 |+0.0395 |
|slider | 2 |0 |0.9423 |-0.0196 |0.7306 |-0.0838 |
|slider | 2 |2 |0.7222 |-0.0675 |0.5456 |-0.0912 |
|slider | 2 |4 |0.6449 |-0.2981 |0.5506 |-0.1692 |
|slider | 2 |6 |0.5434 |-0.1525 |0.5098 |+0.0196 |
|ToyCar | 3 |1 |0.7650 |-0.0486 |0.6409 |-0.0431 |
|ToyCar | 3 |2 |0.8162 |-0.0435 |0.6620 |-0.1152 |
|ToyCar | 3 |3 |0.6456 |+0.0126 |0.5514 |-0.0007 |
|ToyCar | 3 |4 |0.8892 |+0.0447 |0.7331 |+0.0434 |
|ToyConveyor | 4 |1 |0.6908 |-0.0899 |0.5599 |-0.0826 |
|ToyConveyor | 4 |2 |0.5987 |-0.0429 |0.5178 |-0.0423 |
|ToyConveyor | 4 |3 |0.6794 |-0.0741 |0.5444 |-0.0659 |
|valve | 5 |0 |0.5355 |-0.1521 |0.5033 |-0.0137 |
|valve | 5 |2 |0.5654 |-0.1164 |0.4855 |-0.0328 |
|valve | 5 |4 |0.4882 |-0.2548 |0.5162 |-0.0035 |
|valve | 5 |6 |0.4584 |-0.0806 |0.4961 |+0.0118 |
## Spec Normalized, Raw Unnormalized
| Machine | Type | ID | AUC | to BL | AUC | to BL |
| ------- | :--- | :--- | ---------- | ---------- | ---------- | ---------- |
|fan | 0 |0 |0.5628 |+0.0187 |0.4976 |+0.0039 |
|fan | 0 |2 |0.8233 |+0.0893 |0.6077 |+0.0596 |
|fan | 0 |4 |0.6032 |-0.0129 |0.5251 |-0.0075 |
|fan | 0 |6 |0.8765 |+0.1373 |0.6529 |+0.1294 |
|pump | 1 |0 |0.6639 |-0.0076 |0.5502 |-0.0172 |
|pump | 1 |2 |0.6050 |-0.0103 |0.5951 |+0.0141 |
|pump | 1 |4 |0.9793 |+0.0960 |0.8989 |+0.2279 |
|pump | 1 |6 |0.7271 |-0.0184 |0.5872 |+0.0070 |
|slider | 2 |0 |0.9650 |+0.0031 |0.8303 |+0.0159 |
|slider | 2 |2 |0.7927 |+0.0030 |0.6091 |-0.0277 |
|slider | 2 |4 |0.9501 |+0.0071 |0.7543 |+0.0345 |
|slider | 2 |6 |0.6996 |+0.0037 |0.4914 |+0.0012 |
|ToyCar | 3 |1 |0.8005 |-0.0131 |0.6986 |+0.0146 |
|ToyCar | 3 |2 |0.8809 |+0.0212 |0.7811 |+0.0039 |
|ToyCar | 3 |3 |0.6908 |+0.0578 |0.5733 |+0.0212 |
|ToyCar | 3 |4 |0.8864 |+0.0419 |0.7553 |+0.0656 |
|ToyConveyor | 4 |1 |0.8009 |+0.0202 |0.6563 |+0.0138 |
|ToyConveyor | 4 |2 |0.6645 |+0.0229 |0.5615 |+0.0014 |
|ToyConveyor | 4 |3 |0.7354 |-0.0181 |0.5956 |-0.0147 |
|valve | 5 |0 |0.7220 |+0.0344 |0.5374 |+0.0204 |
|valve | 5 |2 |0.7115 |+0.0297 |0.5246 |+0.0063 |
|valve | 5 |4 |0.7423 |-0.0007 |0.5110 |-0.0087 |
|valve | 5 |6 |0.6381 |+0.0991 |0.5000 |+0.0157 |
## Spec Unnormalized, Raw Normalized
| Machine | Type | ID | AUC | to BL | AUC | to BL |
| ------- | :--- | :--- | ---------- | ---------- | ---------- | ---------- |
|fan | 0 |0 |0.5502 |+0.0061 |0.4981 |+0.0044 |
|fan | 0 |2 |0.7815 |+0.0475 |0.5850 |+0.0369 |
|fan | 0 |4 |0.6206 |+0.0045 |0.5256 |-0.0070 |
|fan | 0 |6 |0.9042 |+0.1650 |0.7297 |+0.2062 |
|pump | 1 |0 |0.6410 |-0.0305 |0.5322 |-0.0352 |
|pump | 1 |2 |0.5892 |-0.0261 |0.5519 |-0.0291 |
|pump | 1 |4 |0.9661 |+0.0828 |0.8389 |+0.1679 |
|pump | 1 |6 |0.7508 |+0.0053 |0.5970 |+0.0168 |
|slider | 2 |0 |0.9532 |-0.0087 |0.7729 |-0.0415 |
|slider | 2 |2 |0.7889 |-0.0008 |0.6081 |-0.0287 |
|slider | 2 |4 |0.9321 |-0.0109 |0.6851 |-0.0347 |
|slider | 2 |6 |0.6685 |-0.0274 |0.4902 |+0.0000 |
|ToyCar | 3 |1 |0.7922 |-0.0214 |0.6608 |-0.0232 |
|ToyCar | 3 |2 |0.8450 |-0.0147 |0.7551 |-0.0221 |
|ToyCar | 3 |3 |0.6459 |+0.0129 |0.5540 |+0.0019 |
|ToyCar | 3 |4 |0.8967 |+0.0522 |0.7323 |+0.0426 |
|ToyConveyor | 4 |1 |0.7601 |-0.0206 |0.6253 |-0.0172 |
|ToyConveyor | 4 |2 |0.6194 |-0.0222 |0.5387 |-0.0214 |
|ToyConveyor | 4 |3 |0.6619 |-0.0916 |0.5529 |-0.0574 |
|valve | 5 |0 |0.8215 |+0.1339 |0.5546 |+0.0376 |
|valve | 5 |2 |0.6482 |-0.0335 |0.5197 |+0.0014 |
|valve | 5 |4 |0.7232 |-0.0198 |0.5184 |-0.0013 |
|valve | 5 |6 |0.6263 |+0.0873 |0.4912 |+0.0069 |
# Classification
## raw normalized, spec normalized all, complement same_mic_diff_type
| Machine | Type | ID | AUC | to BL | AUC | to BL |
| ------- | :--- | :--- | ---------- | ---------- | ---------- | ---------- |
|fan | 0 |0 |0.6861 |+0.1420 |0.6139 |+0.1202 |
|fan | 0 |2 |0.9867 |+0.2527 |0.9370 |+0.3889 |
|fan | 0 |4 |0.8060 |+0.1899 |0.6676 |+0.1350 |
|fan | 0 |6 |0.7448 |+0.0056 |0.8455 |+0.3220 |
|pump | 1 |0 |0.8480 |+0.1765 |0.7030 |+0.1356 |
|pump | 1 |2 |0.5552 |-0.0601 |0.5586 |-0.0224 |
|pump | 1 |4 |0.9995 |+0.1162 |0.9974 |+0.3264 |
|pump | 1 |6 |0.9117 |+0.1662 |0.7632 |+0.1830 |
|slider | 2 |0 |0.5270 |-0.4349 |0.6415 |-0.1729 |
|slider | 2 |2 |0.7433 |-0.0464 |0.5346 |-0.1022 |
|slider | 2 |4 |0.9879 |+0.0449 |0.9364 |+0.2166 |
|slider | 2 |6 |0.8589 |+0.1630 |0.5707 |+0.0805 |
|ToyCar | 3 |1 |0.4801 |-0.3335 |0.4940 |-0.1900 |
|ToyCar | 3 |2 |0.4581 |-0.4016 |0.4854 |-0.2918 |
|ToyCar | 3 |3 |0.4100 |-0.2230 |0.4870 |-0.0651 |
|ToyCar | 3 |4 |0.3659 |-0.4786 |0.4772 |-0.2125 |
|ToyConveyor | 4 |1 |0.7495 |-0.0312 |0.6487 |+0.0062 |
|ToyConveyor | 4 |2 |0.5607 |-0.0809 |0.5252 |-0.0349 |
|ToyConveyor | 4 |3 |0.6587 |-0.0948 |0.5552 |-0.0551 |
|valve | 5 |0 |0.9791 |+0.2915 |0.9390 |+0.4220 |
|valve | 5 |2 |0.3698 |-0.3120 |0.4895 |-0.0288 |
|valve | 5 |4 |0.6561 |-0.0869 |0.5175 |-0.0022 |
|valve | 5 |6 |0.7242 |+0.1852 |0.5417 |+0.0574 |
## raw normalized, spec normalized per_mic, complement all
| Machine | Type | ID | AUC | to BL | AUC | to BL |
| ------- | :--- | :--- | ---------- | ---------- | ---------- | ---------- |
|fan | 0 |0 |0.6683 |+0.1242 |0.6060 |+0.1123 |
|fan | 0 |2 |0.9883 |+0.2543 |0.9456 |+0.3975 |
|fan | 0 |4 |0.7859 |+0.1698 |0.6636 |+0.1310 |
|fan | 0 |6 |0.7462 |+0.0070 |0.8455 |+0.3220 |
|pump | 1 |0 |0.8785 |+0.2070 |0.7284 |+0.1610 |
|pump | 1 |2 |0.5635 |-0.0518 |0.5462 |-0.0348 |
|pump | 1 |4 |0.9995 |+0.1162 |0.9974 |+0.3264 |
|pump | 1 |6 |0.9560 |+0.2105 |0.8653 |+0.2851 |
|slider | 2 |0 |0.9679 |+0.0060 |0.8743 |+0.0599 |
|slider | 2 |2 |0.8813 |+0.0916 |0.6339 |-0.0029 |
|slider | 2 |4 |0.9905 |+0.0475 |0.9500 |+0.2302 |
|slider | 2 |6 |0.8336 |+0.1377 |0.5577 |+0.0675 |
|ToyCar | 3 |1 |0.6665 |-0.1471 |0.6647 |-0.0193 |
|ToyCar | 3 |2 |0.9024 |+0.0427 |0.8195 |+0.0423 |
|ToyCar | 3 |3 |0.9814 |+0.3484 |0.9271 |+0.3750 |
|ToyCar | 3 |4 |0.9982 |+0.1537 |0.9904 |+0.3007 |
|ToyConveyor | 4 |1 |0.8454 |+0.0647 |0.7466 |+0.1041 |
|ToyConveyor | 4 |2 |0.6047 |-0.0369 |0.5448 |-0.0153 |
|ToyConveyor | 4 |3 |0.7071 |-0.0464 |0.5888 |-0.0215 |
|valve | 5 |0 |0.9876 |+0.3000 |0.9518 |+0.4348 |
|valve | 5 |2 |0.7835 |+0.1017 |0.5197 |+0.0014 |
|valve | 5 |4 |0.7010 |-0.0420 |0.5289 |+0.0092 |
|valve | 5 |6 |0.8042 |+0.2652 |0.5425 |+0.0582 |
## raw normalized, spec unnormalized, complement all
| Machine | Type | ID | AUC | to BL | AUC | to BL |
| ------- | :--- | :--- | ---------- | ---------- | ---------- | ---------- |
|fan | 0 |0 |0.5857 |+0.0416 |0.5846 |+0.0909 |
|fan | 0 |2 |0.9865 |+0.2525 |0.9315 |+0.3834 |
|fan | 0 |4 |0.7753 |+0.1592 |0.6568 |+0.1242 |
|fan | 0 |6 |0.7520 |+0.0128 |0.8455 |+0.3220 |
|pump | 1 |0 |0.8373 |+0.1658 |0.7126 |+0.1452 |
|pump | 1 |2 |0.5577 |-0.0576 |0.5225 |-0.0585 |
|pump | 1 |4 |0.9995 |+0.1162 |0.9974 |+0.3264 |
|pump | 1 |6 |0.9311 |+0.1856 |0.8354 |+0.2552 |
|slider | 2 |0 |0.9946 |+0.0327 |0.9821 |+0.1677 |
|slider | 2 |2 |0.7940 |+0.0043 |0.5494 |-0.0874 |
|slider | 2 |4 |0.9953 |+0.0523 |0.9752 |+0.2554 |
|slider | 2 |6 |0.8202 |+0.1243 |0.5795 |+0.0893 |
|ToyCar | 3 |1 |0.6782 |-0.1354 |0.6485 |-0.0355 |
|ToyCar | 3 |2 |0.8749 |+0.0152 |0.7847 |+0.0075 |
|ToyCar | 3 |3 |0.9746 |+0.3416 |0.9001 |+0.3480 |
|ToyCar | 3 |4 |0.9975 |+0.1530 |0.9867 |+0.2970 |
|ToyConveyor | 4 |1 |0.8521 |+0.0714 |0.7509 |+0.1084 |
|ToyConveyor | 4 |2 |0.5919 |-0.0497 |0.5407 |-0.0194 |
|ToyConveyor | 4 |3 |0.7277 |-0.0258 |0.6033 |-0.0070 |
|valve | 5 |0 |0.9838 |+0.2962 |0.9288 |+0.4118 |
|valve | 5 |2 |0.7559 |+0.0741 |0.5048 |-0.0135 |
|valve | 5 |4 |0.7259 |-0.0171 |0.5373 |+0.0176 |
|valve | 5 |6 |0.7828 |+0.2438 |0.5623 |+0.0780 |
## raw unnormalized, spec unnormalized all, complement all
| Machine | Type | ID | AUC | to BL | AUC | to BL |
| ------- | :--- | :--- | ---------- | ---------- | ---------- | ---------- |
|fan | 0 |0 |0.4166 |-0.1275 |0.5182 |+0.0245 |
|fan | 0 |2 |0.9741 |+0.2401 |0.8962 |+0.3481 |
|fan | 0 |4 |0.6807 |+0.0646 |0.6375 |+0.1049 |
|fan | 0 |6 |0.7403 |+0.0011 |0.8455 |+0.3220 |
|pump | 1 |0 |0.7201 |+0.0486 |0.6802 |+0.1128 |
|pump | 1 |2 |0.5097 |-0.1056 |0.5126 |-0.0684 |
|pump | 1 |4 |0.9999 |+0.1166 |0.9995 |+0.3285 |
|pump | 1 |6 |0.8119 |+0.0664 |0.7198 |+0.1396 |
|slider | 2 |0 |0.9993 |+0.0374 |0.9963 |+0.1819 |
|slider | 2 |2 |0.7545 |-0.0352 |0.5470 |-0.0898 |
|slider | 2 |4 |0.9926 |+0.0496 |0.9826 |+0.2628 |
|slider | 2 |6 |0.8804 |+0.1845 |0.6594 |+0.1692 |
|ToyCar | 3 |1 |0.6403 |-0.1733 |0.6499 |-0.0341 |
|ToyCar | 3 |2 |0.7595 |-0.1002 |0.6391 |-0.1381 |
|ToyCar | 3 |3 |0.9774 |+0.3444 |0.9087 |+0.3566 |
|ToyCar | 3 |4 |0.9914 |+0.1469 |0.9558 |+0.2661 |
|ToyConveyor | 4 |1 |0.8422 |+0.0615 |0.7263 |+0.0838 |
|ToyConveyor | 4 |2 |0.5798 |-0.0618 |0.5287 |-0.0314 |
|ToyConveyor | 4 |3 |0.7005 |-0.0530 |0.5779 |-0.0324 |
|valve | 5 |0 |0.7336 |+0.0460 |0.5387 |+0.0217 |
|valve | 5 |2 |0.7018 |+0.0200 |0.5338 |+0.0155 |
|valve | 5 |4 |0.6526 |-0.0904 |0.5092 |-0.0105 |
|valve | 5 |6 |0.8994 |+0.3604 |0.7158 |+0.2315 |
## raw normalized, spec normalized per mic, complement same mic
23 experiments loaded
| Machine | Type | ID | AUC | to BL | AUC | to BL |
| ------- | :--- | :--- | ---------- | ---------- | ---------- | ---------- |
|fan | 0 |0 |0.6703 |+0.1262 |0.5874 |+0.0937 |
|fan | 0 |2 |0.9831 |+0.2491 |0.9264 |+0.3783 |
|fan | 0 |4 |0.7925 |+0.1764 |0.6645 |+0.1319 |
|fan | 0 |6 |0.7467 |+0.0075 |0.8455 |+0.3220 |
|pump | 1 |0 |0.8555 |+0.1840 |0.7022 |+0.1348 |
|pump | 1 |2 |0.5559 |-0.0594 |0.5386 |-0.0424 |
|pump | 1 |4 |0.9995 |+0.1162 |0.9974 |+0.3264 |
|pump | 1 |6 |0.9425 |+0.1970 |0.8369 |+0.2567 |
|slider | 2 |0 |0.9773 |+0.0154 |0.9117 |+0.0973 |
|slider | 2 |2 |0.8856 |+0.0959 |0.6542 |+0.0174 |
|slider | 2 |4 |0.9857 |+0.0427 |0.9249 |+0.2051 |
|slider | 2 |6 |0.8374 |+0.1415 |0.5571 |+0.0669 |
|ToyCar | 3 |1 |0.6835 |-0.1301 |0.6569 |-0.0271 |
|ToyCar | 3 |2 |0.8717 |+0.0120 |0.7941 |+0.0169 |
|ToyCar | 3 |3 |0.9855 |+0.3525 |0.9338 |+0.3817 |
|ToyCar | 3 |4 |0.9983 |+0.1538 |0.9913 |+0.3016 |
|ToyConveyor | 4 |1 |0.8592 |+0.0785 |0.7649 |+0.1224 |
|ToyConveyor | 4 |2 |0.5898 |-0.0518 |0.5401 |-0.0200 |
|ToyConveyor | 4 |3 |0.7115 |-0.0420 |0.5929 |-0.0174 |
|valve | 5 |0 |0.9913 |+0.3037 |0.9655 |+0.4485 |
|valve | 5 |2 |0.7976 |+0.1158 |0.5561 |+0.0378 |
|valve | 5 |4 |0.7020 |-0.0410 |0.5373 |+0.0176 |
|valve | 5 |6 |0.7919 |+0.2529 |0.5500 |+0.0657 |
\ No newline at end of file
......@@ -130,10 +130,22 @@
```
%% Cell type:code id: tags:
``` python
import sklearn
def compute_auc(src):
scores = pd.read_csv(src, names=['file_name', 'score'], index_col=False).to_numpy()[:, 1]
names = pd.read_csv(src, names=['file_name', 'score'], index_col=False).to_numpy()[:, 0]
names = np.array([1 if name.split('_')[0] == 'anomaly' else 0 for name in names])
return sklearn.metrics.roc_auc_score(names, scores), sklearn.metrics.roc_auc_score(names, scores, max_fpr=0.1)
```
%% Cell type:code id: tags:
``` python
data = np.array(metrics)
auc_ranks = []
pauc_ranks = []
idxes = [0, 4, 8, 12, 16, 19, 23]
best_idxes = []
......@@ -150,25 +162,130 @@
ranks = np.stack([np.array(list(zip(*auc_ranks))), np.array(list(zip(*pauc_ranks)))], axis=-1).mean(axis=-1).mean(axis=-1)
sorted_model_indices = list(np.argsort(ranks))
names = np.array(names)
for i, (n, r, j) in enumerate(zip(names[sorted_model_indices], ranks[sorted_model_indices], sorted_model_indices)):
print(f'{i:02d}: ID-{j:02d} {n}')
```
%% Cell type:code id: tags:
``` python
import sklearn
aucs_ = []
paucs_ = []
for i, (n, r, j) in enumerate(zip(names[sorted_model_indices][:-1], ranks[sorted_model_indices], sorted_model_indices)):
aucs = []
paucs = []
for machine_type, idxes in enumerate(best_idxes):
auc = []
pauc = []
for machine_id in TRAINING_ID_MAP[machine_type]:
idx = idxes[0]
best_model_folder = n
src_path = os.path.join('..', 'experiment_logs', best_model_folder)
src = os.path.join(src_path, f'anomaly_score_{INVERSE_CLASS_MAP[machine_type]}_id_{machine_id}_mean.csv')
a, p = compute_auc(src)
auc.append(a)
pauc.append(p)
aucs.append(np.mean(auc))
paucs.append(np.mean(pauc))
aucs_.append(aucs)
paucs_.append(paucs)
# print(f'\t{INVERSE_CLASS_MAP[machine_type]}:\n\t\taveraged_auc: {np.mean(auc)}\n\t\taveraged_pauc: {np.mean(pauc)}')
bl = np.array(get_record(baseline_both)[1])
auc = []
pauc = []
idxes = [0, 4, 8, 12, 16, 19, 23]
for type_, (i, j) in enumerate(zip(idxes[:-1], idxes[1:])):
auc.append(bl[i:j, 0].mean())
pauc.append(bl[i:j, 1].mean())
aucs_ = [auc] + aucs_
paucs_ = [pauc] + paucs_
```
def compute_auc(src):
scores = pd.read_csv(src, names=['file_name', 'score'], index_col=False).to_numpy()[:, 1]
names = pd.read_csv(src, names=['file_name', 'score'], index_col=False).to_numpy()[:, 0]
names = np.array([1 if name.split('_')[0] == 'anomaly' else 0 for name in names])
return sklearn.metrics.roc_auc_score(names, scores), sklearn.metrics.roc_auc_score(names, scores, max_fpr=0.1)
%% Cell type:code id: tags:
``` python
bar_width = 0.6
bar_spacing=0.00
top = 10
cm = plt.cm.get_cmap('tab20')
plt.figure(figsize=(20,10))
plt.rcParams.update({'font.size': 22})
plt.title(f'Average AUC per Machine Type')
labels = []
for i in range(6):
labels.append(INVERSE_CLASS_MAP[i][:6])
for i, d in enumerate(aucs_):
plt.bar(
np.arange(len(labels)) + i * (bar_width / len(aucs_) + bar_spacing),
d,
bar_width/ len(aucs_),
label= 'BL' if i == 0 else i,
color=cm.colors[i]
)
plt.xticks(np.arange(len(labels)) + 0.25, labels)
plt.ylim(0.6, 1.)
plt.ylabel('Average AUC')
plt.yticks(np.arange(0.7, 1., 0.1))
plt.grid()
plt.legend(loc='lower center', ncol=7, fontsize='small')
plt.savefig(f'AUC.png')
plt.show()
```
%%%% Output: display_data
![](data:image/png;base64,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)
%% Cell type:code id: tags:
``` python
bar_width = 0.6
bar_spacing=0.00
top = 10
cm = plt.cm.get_cmap('tab20')
plt.figure(figsize=(20,10))
plt.rcParams.update({'font.size': 22})
plt.title(f'Average pAUC per Machine Type')
labels = []
for i in range(6):
labels.append(INVERSE_CLASS_MAP[i][:6])
for i, d in enumerate(paucs_):
plt.bar(
np.arange(len(labels)) + i * (bar_width / len(aucs_) + bar_spacing),
d,
bar_width/ len(aucs_),
label= 'BL' if i == 0 else i,
color=cm.colors[i]
)
plt.xticks(np.arange(len(labels)) + 0.25, labels)
plt.ylim(0.6, 1.)
plt.ylabel('Average pAUC (FPR<0.1)')
plt.yticks(np.arange(0.5, 1., 0.1))
plt.grid()
plt.legend(loc='lower center', ncol=7, fontsize='small')
plt.savefig(f'pAUC.png')
plt.show()
```
%%%% Output: display_data
![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABKwAAAJjCAYAAAAhyYkSAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nOzdeZhkRZWw8fdAiy00i2wNCAKKSoOtIqCs0iwuKI4iKIuAIiq7nzqDguAM44bLqDOPAgOKyiqOKCiOiCI2CogCIiKLA8OAoCwi+9JAw/n+iJtUUmTeyqrKyrrV9f6e5z65RNzIczPjZneeiogbmYkkSZIkSZLUFItNdgCSJEmSJElSOxNWkiRJkiRJahQTVpIkSZIkSWoUE1aSJEmSJElqFBNWkiRJkiRJahQTVpIkSZIkSWoUE1aSpMaIiFMiIqvt+5Mdj5ojIj7b1jd+2+M+rf60sMf6n2p7jdVHqPusiHhnRJwaEf8TEfdGxGMRcWdEXBgRn4uIV/Tyuou6iJjR9r5mRDwSEcv2sN+Bw/b7+iDi7VVbf7lhHG20+uh5/Yxtog07V8ayTanjlSRNDhNWkqRGiIhZwFvbnnpTRCw/WfGoOSJiMeCdbU9tHBHrTmI8bwT+BJwC7A68CFgWeBawErA58BHgioj4SUSsOVmxNtRMYOce6u050YFIkqTmMmElSWqKnYGl2h4vAew6SbGoWbYBho942msyAomI/YGzgbWBx4D/BN4ArAWsAKxL6bf/BTwJvB7YcjJibaj7q9vaZFREvBh4NfAE8NBEB6VR+wSwdJftO1WdJ2rq7DDgeCVJU5AJK0lSU7QSEDcC1w57TtNbqx/cD/yqur9HRMQgg4iIbYCvUv7/dCMwNzP3z8xzM/PmzLw7M/+Umd/JzF2AlwGXDTLGKeB71e1rRhh51kponQfcO7EhTZ7M3CMzIzO3m+xYRiMzH8vMBzttwMK2eh3rZOaCSQxfkjRFmLCSJE26iFgD2Kp6eHK1Abw6Il40OVGpCSJiKWDH6uF3ga9V99cA5g0wjhnANyj/d3oQeG1m/k/dPpl5NWV01cUTH+GUcSNwERA8fZrnU6pE5B7Vw5M71ZEkSYs+E1aSpCbYk6F/k06ptqwedxxlFRErVItcZ0QcUtd4FDdVdU/sUud5EfH5iLiyWkB7QUTcGBFfj4g5NW1f2L4gdES8KSJ+FBG3RcQTEXFGW92ZVfl/RsQfIuL+iHi8Wqj7ZxGxT0Q8q+5YqnY2iIjvRMTtVZz/FxFfjYg1hi1wvUdNG8tHxD9HxG8i4u6IeDQibomI0yLi1SPFUNPudu0Ll0fEyhHxpYi4oVps+86IODMiNu2xyZ2AWdX9k4HvMzRFbJAj8N4BtEYEfT4zb+xlp8xc0GvdluGLeVef97cj4i/V531z1YdqF4av9l0yIj4UEb+MiL9V58xt1WfwhlHE8NKIOKE6jx6NiLtGc0zDnFTddpsWuCVliuWDwJkjNRYR61THeG71Hj0WEQ9GxLURcWxEvKSXoKp2vtz2HfBw1W//uzo3lxth/xdExHHV5/NoRNwREd+NiJfX7NN10fWIeG+0XTSgOpe+GBHXV+fS36vYtnpmy89oa0bV3rnV98ZjVX/4SUTsFjHY0YpVTG9p+67YcIS667bV3b3t+Z3bnp9Vfed8Ncp394LqWP8rIjboIZ7FImKP6j29rdXPI+LnEbF3RCzej+OWJI1CZrq5ubm5uU3qRpkCmMDFbc+dXz33f0B02e8HVZ0rR2h/y6peUkbGDC/fA3ikrc7w7XHgPV3avrCq83Xg8x32PaOt7ldqXqO1XQgsW3Mse1Gm3HTa92/Axm2P9+jSxnbA3SPE8c9j/Cy3a2tjHnBrl/afAA7sob3zqvo3t/oBJeGRlCmCS9bs20p8Luwx9k+1xbf6sLIz2spWm+DzoRXHDZQLESzo8h7eC2xS084rgD+P8Dl/DVh8hBje1uH8uGsUxzOjbb8jgOXajmnjDvW/XpV9q3rc6kNf71B3hR7OqUeB3UeI8SOU87yunYNq3qNtgPu67PcIsPUIffS8DmXvbfVf4KXAX7u0/wTwzppjWxO4aoRj+xE159Io+29P513VL26r6n51hLqfa+vzz2l7fue2Y9gMuLPL8T0O7FnT/qrAb0d4j35BzXezm5ubm1v/N0dYSZImVUS8irJQNTx9+k/r/lrAa7rsfkp1+7KImFvzMq2RRrcBPx/2+m+tXmsmZX2ktwDPo/wQ3pLyQ24G8LUoaxh18wbgEEoSbQtgRcrV445pq/MAZUHi3SmJpdWBVYCNgE9SfoxtTlkn6Rki4pWUaWmLA7dQplStWsX7LsqPstNrYiQiNgb+G3gu8IcqljWB5as4vlVV/deIeHddWz34JmV01MHVa6xC+YF5I2VE3VciYl5NrM8Dtq4enpKZWd1v9Y2lGZouONG2qG5vyMy/Dug1l6d8HjdRElezKefDhymjj5YFzo6IFYfvGBFrUX5gr1Ht/z5gnarNucAXKYvCvxf4eE0MKwInUpIyO1L62+rAPmM9qMy8l3JewbBRVhHRfgXBXqcD/gE4kpI0msPQufc2ynuwBPCNiFiv084R8U+UhMgM4BpKUnhtynv1Esq59WPK+9XJ8pSE5o2Uz2kVyvu0NyWpOrN6/bGO0AnKQv+PUL7LVqdcjXIn4C+Uc+mYTiPAqufmUxJedwEforxHrWM7nJI8fBNP/66acJm5kNK3AHaLiGd3qle9b61+8u3MfKRLk6dS3qv3Ufr9qpTvyL9QPttvdhrJFRFLAj+jfCffBxxKeb+Wp5wz/0g53+a1xStJGoTJzpi5ubm5uU3vjZKcaY2CWKHt+aUpU78SOKHLvjMpSZ4EPtelzhLA36s6/zasbEnKqKSk/CDsNpLrtKrOFR3KWiOskpJUGc978QrKaIkngDU7lP+8ep17upS/mPLDqhXPHsPKA/hjVXY5MLNLHEdVdW4Hnj3KY2gfYbUQ2KxDnVWBO7q9p231Dm1ra07b84sxNOrm3Jr9+zLCqupnrefPHsA50R7Hn4EVu7zPT1Z1vtyh/McMjUx7xv5VnX2rOguAVWpiuBZYZhzH87QRVtVzb6ke3wnMaKu7S/X8LcBi1XNdR1j18NrB0Oi4Z3yPUBKArZFVv6R+xN6MYY/b36PLO+1LmUraqrNdTR+tG2HV6gcrdajzqrY67+1QfkxVdh/woi7H9fq2Nl7Rh/7b83lHSSy2XvvtXeq8qa3OxsPK2kdYLQBe1mH/tRka/faLDuWfqcoeBl7eJYbNKN/LCcwb73vk5ubm5tbb5ggrSdKkibJe0y7Vwx9n5t9bZZn5AGW0EsDOEfGc4ftnudJUa42obuuwvJHyl3IYGpHV8k7KaIyFwN6ZmXR2eHX7iohYv0udhcA/dSnrSWb+HriSkpDZtr2sWq+oNdro3zPz5g77/w/1oyS2A1rx75Pdr9T1ScpojtnVPmN1emY+Y8HxzLyN8iMRynv6ii77t0ZVXJaZrStHkplPUpKIANtGxKrjiLEXK7TdH/QV6z6Rmc9YLyozz2Po/NgrIp76P12UCxVsXz38f532rxxPGX31bMponW6OyMz7Rxv4CH5MGfGzEmV0YkvrMz+1+pzHpTqnW2tmvbZDlQMpCbUngHdl5sM1bS3sVgYc0mXf71FGWUEZwTNWR2bm3zrE9FvKqLBntB8RywDvrh7+S2Ze36nhzDyXkqyDLgvhT5QqptZrv7tLtdbzV2fmpTXNfT0z/9DhNf4P+FL1cF41+hB46t+g/auHn8/MK7vEeTFDowIH+h5J0nRmwkqSNJneREkYQefpP60fmstQRmR00tqv/UqD7Vo/Lq6uEkLtWsmYK4AF1aK9z9goo7Duqepu1CWOyzPz9i5lT4myWPyhEXFBlAXIWwvHZ0Qk0FocePhC0ZtSRosA/LDmJX5QU9Y63juBG2qOdzGgdQW8bsfbi7oFs7/fdn/z4YURsRHQmsJV1zcWZ9H+AXlWTVnrPVyeMs2rpfU5LwQuqfmcl6JMp4Pun/OTwE/GGHtXmfk4ZXosVEmqiFiZMtoHRnl1wCiL/Z8UEddFxAMR8WTbOdU6J9bokPhuJYYvqBIbY/EwcEGngsx8Avjf6uEqY2wf4Jyasj91aX9zoHW8v+zWD6q+MFI/mEgnVLevH558jojlgX+oHn5jhHbG8n2zEWVNNYALGvweSdK0NGOyA5AkTWutq7zdQ1lXabifUaalrVLV7bQ+0y8p02WeT1nfZX6rICKWBXaoHg4fXQVDSaGNKetL9WKlLs+PeCW4iNic8uN5hZHqUtYnardW2/0/0d11NWWt412Z8R9vL7rGkpm3RMRDlKTJmh2qtPrGQjp87pn5x4j4PWUa5V7Av40jzpH8ve1+7ZXi+uyumtFRUKbqtawJXF3db33OrUWte9Htc74jMx/qUjZeJ1NGOP1Dda7uRon5isy8unbPSkTMoKyV1vWKmMMsSxk92PLC6nZ4Mns07qwSU920Rl4tOcb2W9NzR9t+e9L78h5fazzn+1idQbkgxTKU5OXn28reSZnW/TgjJzHrvvvay9q/b9rfo/NHjLSYjPdIkqYlR1hJkiZF9ZfzN1UPLwLmRMQr2jfK4tCt6SKvi4jZw9uppvycWj3cedjCvTsxtP7QqcP35ZlJoV7M7PJ816lE8NTix2dRklV3UtZn2pSyYPpylDW7lgZ+U+0y/I9KS1W3WTdtibKGVTf9PN5e1MXSXr50+5NVEmLX6uHvgNWG942qf1xY1ZnbZVrh49Xt4u1T5mq0953Wvq2pp3dUD9dlcHp9/+Dp7+HA+vV4ZOZvKCP5ZgJvZyhJeVLXnZ7powwlq86iLLS+LmXkZuucah+dOfy8ar1vvSZwO6lLVrXrNGW5F0/WTFeua3/Q5/uYVN9n364evntYcevxf3eaEjlM1/OlGtH3aPVwos4VSVKfOcJKkjRZdqX85RzKKKgdaurC0NSvL3UoOxk4jPLj480MrWvV+iF7QWbe0mG/1g+c0zNztx7jHqt3UH5EPwFslZkdRwNExNKdnqcsQF9ViSVrklazamJoHe8lmbnpSAH3QV0s7eXDkwVvZGgUw6soUzZHshfPHCVzX9v95YC7R2ij/cfr8LWqLqQkQNeJiNVyMFcK7PX9g6e/h63P+fbMnOj1vcbrZMqaaYcBL6CcH9+u3ePpDqhuT83MjqOsul19rvIgQ4mtRU2rHySwVHa/ul4TfJ1yEYA5EfHqzPxNRLwMeGVVPtJ0QCjnw32dCqq1qlr9oNO5AuXCA3cgSWoMR1hJkibLXiNXeYY9Oz1ZLcj9u+rhOwEi4nkMrWnVaTogDE3j26BLeT+1RgBdUZOsmkm5jHon7Yusv7jmdYavfdWudbzrVz/gJlrX0UgRsQZDo8aGLyA/lr6xe0QsPuy5/227P4eRtdbM+ktmPjqsrH0NnH1GG9wYrRgRK9aUtx9T+3vY+pxXiYjxrJs0CK0ryr2gevzTXpMG1ZpXq1UP65Jcc2vKbqhuuy38P5W1+kEAL5/MQEaSmZcxtEbUu6vbvavb26lfw6ulbvRje1mncwUG8++AJGkUTFhJkgauuorZq6uHR2Vm1G3AIVXdV0REtx+fraTUGyPiucDulH/n2q8kONxPq9uXRMREjzhq/XV/eFKl3S4MjTob7teUH/YwtAhxJ90Wp4eh412acjn4ibZjTdnb2u5f1LpTTZ1sjbY7uYe+0RoZNxt43bDX+FXb/br3pZX8aPXJX3ao8l+UtdIAPhIRL+hQp1O7M3ut28Vba8pa7+HdPH09q5+23d+bBsvMm3j65zSa6YDtI6c6nldVErNu9OTPqtutIqLTWmpT2XyGprY2uh9UWouv71qNNG1dTOHkEa7Q2NLr983Fw+63RllNhfdIkqYVE1aSpMnwrrb7vUz/OZ1ytTLoPvrmNMp0oiUo0+9aP3bOzsyO00QoP45bC2p/IyJqF9ONiLrRSyNpH930wuGF1Yijo7rtXE1pnF89/GBVf3gb6zA0RaqTcxhKbHy5qt9VRKw9zpFYu3ZKBFZXAvtY9fD3w67euCtDiYhe+sYPGfrB+bS+UbV7WfXwgIjoOAIjIoIy1bS1VMLxw+tUP5j3ofTDWcBPq8RrVxGxPiUZs1kPx9HNP3caZRUR2zKUhDspM1vnB9WC5a2k1RERsckIcc6uFj2fLDtTRovNAb43iv1uZ2gB9W4JyX+l+6hFgGMpC/svDpzY4SqCT6nWVpsyMvMeyoL0APtERF3yk4hYdpJH5J1CWWdqOeBrDE0L7mU6IMB7O/1BIyLWBj5UPZzffjXIaiTlMdXDd0RE7ejOiFiqGr0rSRoAE1aSpIGqkgOtZNLVmXnVSPtk5q0MjcJ4Z4epX1TTiM6rHh7K0BSYbtMBycwHKH9VT8qUkSsj4kMRsV5EPLf6Ib9xRBwYEb8ALunhELs5g5LsWAL4cUS8JSJWjYjVI+I9VdtLMzSKp5OPUJJyzwUujIhdI2KVqp09gAsoC7p3O94nKUmdBZQRSZdFxMerRcyXj4iVIuLlEbFPRJwNXM/QtL2xuAU4p3r/1oiIlSPibZTPcmXK+/7hYfu0fjDexdDol66qtbx+UD18S0QsM6zKgZRRJksBF0XEIW2f72oR8UbgJwz1yVMzc36X1zoP+CDlc3wh8MeIOCYiXhcRz6/afHFEvCMiTqdMcdpopGOocQ9lXa1fVf1lpep1PkhZYDwo79OnO+y7b1W2JDA/Ir4QEa+OiBUjYoXqPXhnFefNwNrjiHNcMvNvmXldtT0+8h5P7fc4Q1M13xMRX46Il1bH9+qIOBk4HLimpo2bKN8XUKYQX1q9L2tGxHIRsU5E7B4RPwTeP6YDnFwfpZzHiwPfi4ivRcRrqnOx1V93jogTKOdrbXJzImXm3cCZ1cNdqttfd5tC3cFtwPnV99dq1XfjbpQRk8tSvjv/qcN+nwCurO6fGBEnR8Q21f7PrfrAWyPiPynv0WvHcnySpDHITDc3Nzc3t4FtwDxKoiKBj41iv33b9nt9lzrvbKuTlB/sz+qh7R0pi/XmCNsdHfa9sCr7eg+vc1hN2w9Tpn/VtkdJsC3s0sZdlEXKW4937dLGFsBfezjex4FlRvn5bte2/7ya13kCOHDYvuu0lR8zitd8U9t++3Qo356S/BnpeE8BZvbwejsAN/XQXgJnA2uM8j38VLXvDVXffLRL2/cCm9S0sx5wXQ8xPgms3y2GPpzzM9pe64gx7H9rt3MCWHWEz+L86vNqPV695tzsdl61toPG8h5Rc04ztIbXeR3K3luVLRyh/a5tVOXPY2hK8UjbG/vweZ/SS9xd9t1uWDzvG6H+zm11N6N8B3b7Ltuzpp2VgJ/3+B7tNt73yM3Nzc2tt80RVpKkQWtfOH00VwP7LkPrsXSbtnEmT7/q039lDyM2MvNMygiTwymjf+6i/Hh9CPifKs5dKaNqxiwzj6JMXZoP3E9JRNxEWbtlo8w8q4c2vklZa+kMymiqxygjZI4DNqSMpmgZfvW9VhsXUpJDH6CMSruT8t4+Qpm6eBbwHmB2Zt4/uqN8mhsoV/n6StXuo5T39gfAFpl59LD67X3jtFG8zrlVu9Chb2TmOZRFvQ9jaBTa45S+8j+UaVNbZuYemblgpBfLzB9RFr7fizJd9QbK5/k48DfKmlyfA+Zm5puz8xUqe1L1zc0oa2jdRvm8b6F83i/NzK6j/jLzGsqC43sDP6IkDx+jjLC7hTJF9CBKEufqscY4mTLzNmBj4D8o59LjlGm+F1NG172WcrwjtXMU5b06hpLke4iSRL4B+G/K+TCa9bUaIzP/QulDO1G+N/5MeU8eoxqVRBmJtU5m/niy4qz8nPI5Qnn/vzOKff9A+b45jvKd+CjlXD8DeFVmntxtxyyj/LalJDdPr2J4hNKf7qCM0joCmJOZo/l3S5I0DpGZkx2DJEnqk4jYGPht9fAVmXllXf0JeP3tGJrKt0aW6ZwahYj4FCV5+r+ZWbvOmLSoiYjrKFc7PSkz3zVC3Z0pf8wAWDozH6yrL0maWhxhJUnSouXN1e0j1KzdI0lNU12koXVxi14XW5ckLaJMWEmSNIVExPI1ZetSFgUHOKuX6ZCS1CD/r7r9U2ZeMKmRSJIm3ZS6PK8kSeK0iLibss7KFZR1qlahLDz+McqVBh+lLAgtSY0WETMoV/HcE3hH9fQXJi8iSVJTmLCSJGlqmQHsVm2dPAq8s1pwW5IaKyI2Ai4d9vRvgG8NPhpJUtOYsJIkaWr5OHAlsCXlcvUrUpJUN1Ou+PfvmXnz5IUnSaOWwK2Uq1kekZlPTHI8kqQG8CqBPVhxxRVzrbXWmuwwVHnooYdYaqmlJjsMqW/s01oU2a+1qLFPa1Fjn9aixj49NV1++eV3ZeZKncocYdWDtdZai8suu2yyw1Bl/vz5zJs3b7LDkPrGPq1Fkf1aixr7tBY19mktauzTU1NEdJ0Z4FUCJUmSJEmS1CgmrCRJkiRJktQoJqwkSZIkSZLUKCasJEmSJEmS1CgmrCRJkiRJktQoJqwkSZIkSZLUKCasJEmSJEmS1CgmrCRJkiRJktQoJqwkSZIkSZLUKCasJEmSJEmS1CgmrCRJkiRJktQoJqwkSZIkSZLUKCasJEmSJEmS1CgmrCRJkiRJktQoJqwkSZIkSZLUKCasJEmSJEmS1CgmrCRJkiRJktQoJqwkSZIkSZLUKCasJEmSJEmS1CgmrCRJkiRJktQoJqwkSZIkSZLUKCasJEmSJEmS1CgmrCRJkiRJktQoJqwkSZIkSZLUKCasJEmSJEmS1CgmrCRJkiRJktQoJqwkSZIkSZLUKCasJEmSJEmS1CgmrCRJkiRJktQoJqwkSZIkSZLUKCasJEmSJEmS1CgmrCRJkiRJktQoJqwkSZIkSZLUKCasJEmSJEmS1CgmrCRJkiRJktQoMyY7AEmSJEmS1FxnXnJH17IdN5k9wEg0nTjCSpIkSZIkSY1iwkqSJEmSJEmNYsJKkiRJkiRJjWLCSpIkSZIkSY1iwkqSJEmSJEmNYsJKkiRJkiRJjWLCSpIkSZIkSY1iwkqSJEmSJEmNYsJKkiRJkiRJjWLCSpIkSZIkSY1iwkqSJEmSJEmNYsJKkiRJkiRJjWLCSpIkSZIkSY1iwkqSJEmSJEmNYsJKkiRJkiRJjWLCSpIkSZIkSY1iwkqSJEmSJEmNYsJKkiRJkiRJjWLCSpIkSZIkSY1iwkqSJEmSJEmNYsJKkiRJkiRJjWLCSpIkSZIkSY0yY7IDkCRJfXTksiOU3zeYOCRJkqRxcISVJEmSJEmSGsWElSRJkiRJkhrFhJUkSZIkSZIaxYSVJEmSJEmSGsWElSRJkiRJkhrFhJUkSZIkSZIaxYSVJEmSJEmSGsWElSRJkiRJkhrFhJUkSZIkSZIaZcZkByBJkiRJkjTVfHGXHbqW/eN3fjTASBZNjrCSJEmSJElSo5iwkiRJkiRJUqOYsJIkSZIkSVKjmLCSJEmSJElSo5iwkiRJkiRJUqOYsJIkSZIkSVKjmLCSJEmSJElSo5iwkiRJkiRJUqOYsJIkSZIkSVKjmLCSJEmSJElSo5iwkiRJ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MWTPb3Dx9w9hrS6dGp1PqYz/1durfO7CRrzux0yqN9bptH6NmDmnru/f4sWL6xz71FNPcfvtt/P0008zZswYWrRoQd++fTnmmGM4+uijadHCX6OlpuDfNEkqgt2+sRs7DdkJgIULFvK/9/7HXbfcxUN/e5ib7riB3fdsfHNMxfOHP/yByy67jG984xsccsghtGrViieeeIIRI0YwatQoXnjhBbp3717uNKvWiJHnMX3G9HKnUbUmTJjATjvtxEcffcS3vvUtvvzlLzNnzhzeeecdxowZU+70qsrixYs56KjhvPbvf3PgvsMYfsThLFy4kAcefoTTzjqL5198ket+d1W506waZ511Fp06daJ///58PHMWM6bV36wCOOnEb/PnW0ex+x5D+e73fsC4saP53ZWX8fwzj/LPe2+kfbs1myhzwfLfv9mzZ/PRRx/VO/aMM85gzJgx7Lvvvpx00knMmTOH2267jeOPP5677rqL+++/343VpSZgw0qSiqDfl/vxjQO/sdyxnXcazFEHDOeWG0bZsKowBxxwAGeeeSadOn32P9wnnHACG220Eeeffz4jR47k4osvLmOG1evV11/muhuv5mdn/R8/P+/H5U6nKh111FHMnDmT1157jd69e5c7nar23PPP88rrr3PCMUfz87POXHb86COP4BsHHcLtd93Fry4cQaeOHcuYZfV477332HDDDQEYuN2gzIbV0089wZ9vHcWQoXtxy213Lju+5VYDOeLQAxj5u5s494cnljxnfabm92/w4MGZDasRI0YwaNCg5VZSnXLKKQwePJgHH3yQ+++/nz333LPkOUvVzj2sJKlE1umRW6HTqlWrMmei2gYMGLBcs2qpgw46CIB///vfTZ2SgEWLFvGDM77HrjvtztDdK+tyomrx7LPP8vjjj3PGGWfQu3dvlixZwuzZs8udVtWaOXMWAN27dVvueLNmzejevRvNmjVjDf+NaTJLmx0NcduoPwLwnZO/v9zxoXvtTd8+vbjpjsraJqEaFPL9Gzx48AqX/TVr1owDDjgA8H2C1FRsWElSEcybN48Z02YwY9oMJk+czAvPvsBZP/gpLVu25Khjjix3emqgCRMmANCt1i+HahqXX/1bxowbzQW/cHVbudx3X+6X6I022oiDDjqINm3a0L59e9Zdd13OO+88lixZUuYMq8vArbakTZs2XH71Nfz1vvsZ/+GHfDB6NJde9TseeuRRTj/1VNq0aVPuNFWHl156gWbNmjFg4DYrxLbbajNGj/uQKVO99PnzxvcJUtPykkBJKoJrL7mWay+5drlj66y7Drfd+ycGDf5qmbJSIZYsWcJ5550HwPDhw8ubTBV6+733+M2lF/OTM85hvXV7MnaceyWVw5tv5jZtP+aYY+jTpw/XXnstEcGVV17J2WefzdixY7nmmmvKnGX16N6tG3+48grO/NnPOf6Uz1bqrNGqFZf+aiTfPPzwMmanLBM/nMBaa63NGmussUKsZ49cs2P8xMl0W7tLU6emVTRx4kR+//vf07FjR4YNG1budKSqYMNKkopg2CHD2POA3F4GSxYvYfzY8dxxw+0cdeBwbr7jRr664/YrmUHldsopp/Dcc89x/PHHs/POO5c7naqSUuLYH5xGvy9uzLeHH1/udKrarFm5S9Datm3L008/veyX7YMPPpgvfelLXHvttZx22mn069f4O3apYdbq0oWN+32RQdtvx+BBg5g3fz533H033zvthwA2rSrU3Llz6dip7jvOtm6d+3s1d978pkxJjTB37lz22WcfZsyYwahRo+jSxUaj1BS8JFCSiqBXn15st+N2bLfjdgzaZRCHfOsQ7n38Hlq3XoNTjj+13tsmqzL89Kc/5YorrmC//fbj8ssvL3c6VefqG2/iuRdfZOQFl9C8efNyp1PVll5edthhhy23MqRVq1YcfvjhpJR44oknypVe1Xnz7bfZ+6CD2WiDDRh5/nnsNWQPDtx3GLfecD3bDBzIj378E6ZMmVLuNFWHtm3bsnDBgjpj8+bnjrdt07opU9Iqmj9/Pvvssw8vvvgiI0eO5NBDDy13SlLVsGElSSXSsVNHBmwzgLGjx/K/9/9X7nRUj3POOYfzzz+ffffdl1tvvXWFTVZVWp/MnMmZ553HQfvsTedOXRg7bgxjx41h4qQPAZgzZw5jx43h408+LnOm1aFXr14A9OjRY4XY0mPTp7vvTlP5/fU3Mn/BAvYaOmS54xHBsG/sxbx583jh5ZfLlJ2y9Fh3PaZNm8qCOppWEybmmow98zdnUeWaP38+w4YN49FHH2XkyJGcdtpp5U5Jqio2rCSphBYtWgTArJneZasSnXvuuZx77rnsv//+/PnPf6Zly5blTqnqzPj4Yz6ZOZM/3XkXA7+22bKPvQ/cA4B7/nYnA7+2GZde9tsyZ1odtt12WwDGjRu3Qmzs2LEAdO/uL9lN5cNJkwD4tI7N7hctyq3cXbLYjfAr0VZbDeTTTz/lpRefXyH23Muv07tnD/evqnALFixg33335aGHHuLXv/61zSqpDGxYSVKJTJ44mRf+8SJt2rTmi5t8sdzpqJZf/OIXnHPOORx00EGurCqjbmuvzV03XM9dN1zP9Vffsuzj4l/mGlQ7DBrM9VffwkEHHlLmTKvDPvvsQ6dOnbjpppv45JNPlh2fNWsWN954Iy1btmS33XYrY4bVpd9GfQG47S93LXd80aJF3HbHHTRr1owt+29RjtS0Egcdmttb7MpazfYH7ruX90eP58j99yxHWmqgBQsWMGzYMB588EEuueQSTj311HKnJFUl351LUhG8/cbb3Hv7vcBnm67f86d7mDVzFj/75dm0a7fmsrEpJX59wW9oNW1ubvyaa9J8zhwAdhg4kO233LLpv4Aqc8UVV/Dzn/+cXr16MXToUG699dbl4u3atfMOQE2kbdu2DBs6FIApcz/bz2XpXQJ7rteLobvvRduOrn5rCh07duSSSy7hm9/8JltvvTXf/va3iQiuu+46PvzwQ84///xllw2q9I791nDuuPsebhw1iomTJjH4a7lN1/9yzz389623OfHYb9OrZ89yp1k1br75ZsaMyf1s+nDCOFJKXHPJyGXx40754bLPB++0C/sfeDB/uf02Dj1wGEP23JtxY0dz1RWXsnHfPvzoxKOaPP9qV/P7N2bMGFJKy+4ODLn9LJc6/PDDefDBB9l5553p0qULf/zjH5eba8MNN2S77bZrmsSlKmbDSpKK4OF7H+bhex8GcnuLtO/Qns37b8Yvf30ee+4zdLmxn376KSPOvajOeX520kk2rJrAiy++COQuexo+fPgK8d69e9uwUtU66qij6Nq1KyNGjODcc8/l008/ZdNNN+VPf/oThxziSrem1HPddXnwrr/wm8uv5Klnn+Xxp5+mZcuW9NuoL5f+aiTDjzii3ClWleuuu46nnnpquWNXjDx/2ec1G1YAV179B770pa8w6o83cvpp36Nz5y4cePBhXHzqoXRo365JctZn6vr+nX322cs+r9mweumllwB4/PHHefzxx1eY65vf/KYNK6kJ2LCS1GRGjyj+8vd/jc/eiLlXpzUz44219Ve35j8f/afOWLf2a61w7O5H7lz2ebt3pwKwsFs3WlXwXZ5mf/fd5Z63WtAmc3yL9tl3eWvWsW2jc2qsG264gRtuuKHcaaySp/d/JTPeeWbd9bhMu671ht5Y+Em9Mai7pktl/V69mTw6O59y6/d8brPrSqjpYhsyZAhDhgxZ+cAK8t2L6r70OquuV1bTS39OQ90/q9t075Z5/pS5meEG6dWzJ78e8csVc+vQsfGTl9Bpt/2t3CkU3ZNPPrns85W9/wBo2bIlp/7wDE794RnLHV/pz+ky63lav3pjNVfC1iVrNezsaeMzzy11Tdf8/q3M6NGjS5aHpIZzDytJkiRJkiRVFBtWkiRJkiRJqig2rCRJkiRJklRRbFhJkiRJkiSpotiwkiRJkiRJUkWxYSVJkiRJkqSKYsNKkiRJkiRJFcWGlSRJkiRJkiqKDStJkiRJkiRVFBtWkiRJkiRJqig2rCRJkiRJklRRbFhJkiRJkiSpotiwkiRJkiRJUkVpUe4EJFWPu/45uclf8/3xC+qNDf5Kl0bPf+0l1/Lmv9/kzX+9ybjR42jWrBmvT3q90fNWknav/6bcKaxo1wsadfrUqVM5/fTTeflww2LkAAAgAElEQVTllxk/fjxz5sxh3XXXZZtttuHMM89k8803L1Kixffnqb9t3ATTG3Hu7LoP79fjyEZMmhPdutcb++CNCbTt2LnRr1FszW69sdwprOj4Ext1+jnnnMO5556bOWb8+PGst956jXqdUnjuiZn1RKLecz5Z6V+IGv+3+/5UVvi/3venZp7dd4ueK5l/5aZOm86vLr2UR554kikffUSXzp3ZZfCO/OLsn9G9e7dGz18qz153RblTWM5Xj/luo+cYMWIEr776Kq+88grvv/8+zZo145XRddfApEkTue6aq3j99df49+uvMXnyJHYcvDN33ftgo/Motfkv1f9+rUMj5u208leuN7J4QP3/RjRUXd+/xYsX1zn2hRde4OKLL+a1115j8uTJLFmyhN69ezN06FB++MMfss466zQ6H0krZ8NKkhrht+f9lg4dO7Dxphszd85cZkybUe6U1AAff/wxb731Frvuuiu9e/dmzTXXZPTo0dxwww0MHDiQ++67j69//evlTrPqbLv19hx56PAVjq+xRuumT6ZK7bfffvTt23eF42PGjOGnP/0pW265ZUU2q1ZXU6dNZ88DDmDc+AkcuO8wturfn3HjxnH9LaN49p//5IkHHqBr167lTrNqnHXWWXTq1In+/fvz8cxZzJhWf8PyvXff4VcXj6DHuuvRf8utePCB+5owU9Wl5vdv9uzZfPTRR/WOfffdd5k1axaHHnooPXr0oFmzZvzrX//iqquuYtSoUbz88sv06NGjCbOXqpMNK0lqhPtfuJ/1v7A+AMP3GW7D6nOib9++PPfccyscP+GEE+jduzcXXHCBDasy6N2rDwfse3C506hqm222GZttttkKx88++2wAjjvuuKZOqapd9rvfMXbceM467Qd878QTlh3fbddd2OfgQ/m/ERdy6a9GljHD6vLee++x4YYbAjBwu0GZDavNt9iStz8YT9euuVVwXdq3apIcVb+a37/BgwdnNqwOP/xwDj/88BWO77DDDhxyyCH8/ve/52c/+1nJcpWU4x5WktQIS5tVWj306NGDtm3bMmOGjcdyWbhwIbNnzyp3GqphyZIlXH/99ay55poceuih5U6nqjz7z38CcMgB+y93fOCWW7LhBhtw+513Mn9+/ZdRqbiWNjsaon379suaVaoMhXz/6rPBBhsA+D5BaiI2rCRJVWvRokVMnTqVSZMm8eKLL3LEEUcwa9Ys9txzz3KnVpXufeAe+myyDht+pScbb9GHU884iSkfTSl3WlXvgQceYMKECRx88MF06NCYHWxUqPkLcvswtmndZoVY2zZtmD1nDv99662mTkuqGnPnzmXq1KmMHz+eRx55hBNPzO0T6PsEqWl4SaAkqWo9++yz7LTTTsued+jQgR/96Ef8/Oc/L2NW1Wlg/y3YY/d92eALfZk7dw5PPfMEf/rzH3nm709x/92P0aej+yaVy+9//3vAywHL4Yt9+/L+B//j7//8B0NqXKY8ecoU3nnvPQDGjZ/AlltsUa4UpdXaRRddtNyNKNZff32uv/56dt111zJmJVUPG1aSpKq1+eab88gjj7BgwQLeeecdbrnlFubOncvChQtp2bJludOrKi889BBT5n62ufoB+x7MVv0HcMbZp/GrS0Zw2WWXlTG76jVx4kTuv/9+Nt10U7bZZptyp1N1jvvWcB569DHO/Nk5LFy4kC232ILxEz7k/y68kCVLlgAwb968Mmcprb6OOuooBg0axMyZM3n55Ze57777+OSTT8qdllQ1bFhVmT5nZt+h5DfDBjRRJpJUfp07d172v6R77rknw4cPZ/PNN+e9997jwQcr/9bjq7vhR36bi357AY8+8XC5U6la119/PYsXL+bYY48tdypVaduBA7n6kt9y9nnnccIppy47PnT33diq/5Zce8MNtG/frowZSqu3DTbYYNm+Vfvttx/77LMP22+/PfPmzePMM88sc3bS6s89rCRJyuvcuTN77703Dz30EKNHjy53OgJ6rdeLaRl34lLppJS47rrraN26NUceeWS506laew3Zg5eeforH77uXO0fdwsvPPM11V1zOtOnTAej3xS+WOUOpemy99dZsvPHG/O53vyt3KlJVcIWVJEk1LL28ZsaMGfTp06e8yVS5Tz/9lDFjR3unrTJ57LHH+OCDDzjyyCPp1KlTudOpas2bN2eTfv2WPV+wYCFP/f3vbLjBBvTNr/6Q1DTmzZvnXQKlJuIKK0lS1Zk8eXKdx0ePHs3dd99Nx44d2WSTTZo4q+o1eUrddwK89KpfM+PjGey+69AmzkgA1157LYCXA1agC371K6ZPn87pp5668sGSCjZp0qQ6j//1r3/lgw8+YLvttmvijKTq5AorSWqEv/75r0wcNxGAieMnklLi6l9dDcCaa7ThB2f5y0QluuCCC3jkkUcYOnQoffr0ISJ48803uemmm5g9ezY33ngjrVu3XvlEKooLLr2Ux555hp0GD6HXer2YN38eTz3zBI8/9SgbbfhFTjvl9HKnWHWmTp3KXXfdxcYbb8zXvva1cqdT1Qbttjt77LorfdZfn3nz5/PAw4/wjxde4NhvfYvDDj6o3OlVlZtvvpkxY8YA8OGEcaSUuOaSkcvix53yw+XGj7zol8s9Hzt2DCMv+iVt5k+hd891OPKAvUqftJap+f0bM2YMKSXOO++8ZfGf/vSnyz4fOnQonTt3Zvvtt2f99ddn9uzZPP/889xxxx106dKFkSNHrjC/pOKzYSVJjXDnLXfy0nMvLXfsshGf3c3MhlVl2muvvZgwYQJ33HEHU6ZMYfHixfTo0YO99tqLU045ha233rrcKVaVnQcN4q133+OOu25j+vRpNGvWjN69v8CpJ/+Ik44/hXbt2pc7xapz0003sXDhQldXVYAtN9+cvz3wIJOnTKFly5Z85Utf4ppLL+HQQw4pd2pV57rrruOpp55a7tgVI89f9nnthtUv/++c5Z7/74P3lx3bcbutbFg1sbq+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)
%% Cell type:code id: tags:
``` python
run_ids = names
```
%% Cell type:code id: tags:
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment