gitextract_m34ow7k6/ ├── .dockerignore ├── .gitattributes ├── .github/ │ └── workflows/ │ ├── build.yml │ ├── deployment.yml │ └── train.yml ├── .gitignore ├── .idea/ │ ├── .gitignore │ ├── deployment.xml │ ├── inspectionProfiles/ │ │ └── profiles_settings.xml │ ├── misc.xml │ ├── ml-ids.iml │ ├── modules.xml │ └── vcs.xml ├── .pylintrc ├── Makefile ├── README.md ├── data/ │ ├── README.md │ └── Wednesday-14-02-2018_TrafficForML_CICFlowMeter.csv ├── environment-notebook.yaml ├── environment.yaml ├── ml_ids/ │ ├── __init__.py │ ├── conf.py │ ├── data/ │ │ ├── __init__.py │ │ ├── dataset.py │ │ ├── metadata.py │ │ └── split_dataset.py │ ├── keras/ │ │ ├── __init__.py │ │ ├── callbacks.py │ │ ├── evaluation.py │ │ ├── metrics.py │ │ ├── model_selection.py │ │ └── prediction.py │ ├── libs/ │ │ └── dfencoder/ │ │ └── dataframe.py │ ├── model_selection.py │ ├── models/ │ │ ├── __init__.py │ │ └── gradient_boost/ │ │ ├── __init__.py │ │ ├── mlflow_wrapper.py │ │ └── train.py │ ├── prediction.py │ ├── tf_utils.py │ ├── transform/ │ │ ├── __init__.py │ │ ├── preprocessing.py │ │ └── sampling.py │ └── visualization.py ├── models/ │ └── gradient_boost/ │ ├── envs/ │ │ ├── local/ │ │ │ └── train.py │ │ └── sagemaker/ │ │ ├── configs/ │ │ │ ├── deploy.json │ │ │ ├── train-cpu.json │ │ │ └── train-gpu.json │ │ ├── container/ │ │ │ ├── Dockerfile │ │ │ └── train.py │ │ └── scripts/ │ │ ├── build_image.sh │ │ ├── deploy.py │ │ ├── push_image_to_ecr.sh │ │ ├── train.py │ │ └── undeploy.py │ ├── project/ │ │ ├── MLproject │ │ ├── conda.yaml │ │ └── train.py │ ├── training_params.json │ └── training_params_quick_run.json ├── notebooks/ │ ├── 01_data-cleanup/ │ │ └── data_cleanup.ipynb │ ├── 02_exploratory-data-analysis/ │ │ └── exploratory_data_analysis.ipynb │ ├── 03_ml-prototype/ │ │ ├── ml-prototype.ipynb │ │ └── models/ │ │ └── gradient_boost_model.cbm │ ├── 04_ml-prototype-spark/ │ │ ├── ml-prototype-spark.ipynb │ │ └── models/ │ │ ├── gb-model/ │ │ │ ├── bestModel/ │ │ │ │ ├── data/ │ │ │ │ │ ├── ._SUCCESS.crc │ │ │ │ │ ├── .part-00000-6cdbfe41-c900-40d4-ab1d-629d8c752c9f-c000.snappy.parquet.crc │ │ │ │ │ ├── .part-00001-6cdbfe41-c900-40d4-ab1d-629d8c752c9f-c000.snappy.parquet.crc │ │ │ │ │ ├── .part-00002-6cdbfe41-c900-40d4-ab1d-629d8c752c9f-c000.snappy.parquet.crc │ │ │ │ │ ├── .part-00003-6cdbfe41-c900-40d4-ab1d-629d8c752c9f-c000.snappy.parquet.crc │ │ │ │ │ ├── .part-00004-6cdbfe41-c900-40d4-ab1d-629d8c752c9f-c000.snappy.parquet.crc │ │ │ │ │ ├── .part-00005-6cdbfe41-c900-40d4-ab1d-629d8c752c9f-c000.snappy.parquet.crc │ │ │ │ │ ├── .part-00007-6cdbfe41-c900-40d4-ab1d-629d8c752c9f-c000.snappy.parquet.crc │ │ │ │ │ ├── .part-00008-6cdbfe41-c900-40d4-ab1d-629d8c752c9f-c000.snappy.parquet.crc │ │ │ │ │ ├── .part-00009-6cdbfe41-c900-40d4-ab1d-629d8c752c9f-c000.snappy.parquet.crc │ │ │ │ │ ├── .part-00010-6cdbfe41-c900-40d4-ab1d-629d8c752c9f-c000.snappy.parquet.crc │ │ │ │ │ ├── .part-00011-6cdbfe41-c900-40d4-ab1d-629d8c752c9f-c000.snappy.parquet.crc │ │ │ │ │ ├── .part-00013-6cdbfe41-c900-40d4-ab1d-629d8c752c9f-c000.snappy.parquet.crc │ │ │ │ │ ├── .part-00014-6cdbfe41-c900-40d4-ab1d-629d8c752c9f-c000.snappy.parquet.crc │ │ │ │ │ ├── .part-00015-6cdbfe41-c900-40d4-ab1d-629d8c752c9f-c000.snappy.parquet.crc │ │ │ │ │ ├── .part-00016-6cdbfe41-c900-40d4-ab1d-629d8c752c9f-c000.snappy.parquet.crc │ │ │ │ │ ├── .part-00017-6cdbfe41-c900-40d4-ab1d-629d8c752c9f-c000.snappy.parquet.crc │ │ │ │ │ ├── .part-00019-6cdbfe41-c900-40d4-ab1d-629d8c752c9f-c000.snappy.parquet.crc │ │ │ │ │ ├── .part-00020-6cdbfe41-c900-40d4-ab1d-629d8c752c9f-c000.snappy.parquet.crc │ │ │ │ │ ├── .part-00021-6cdbfe41-c900-40d4-ab1d-629d8c752c9f-c000.snappy.parquet.crc │ │ │ │ │ ├── .part-00022-6cdbfe41-c900-40d4-ab1d-629d8c752c9f-c000.snappy.parquet.crc │ │ │ │ │ ├── .part-00023-6cdbfe41-c900-40d4-ab1d-629d8c752c9f-c000.snappy.parquet.crc │ │ │ │ │ ├── _SUCCESS │ │ │ │ │ ├── part-00000-6cdbfe41-c900-40d4-ab1d-629d8c752c9f-c000.snappy.parquet │ │ │ │ │ ├── part-00001-6cdbfe41-c900-40d4-ab1d-629d8c752c9f-c000.snappy.parquet │ │ │ │ │ ├── part-00002-6cdbfe41-c900-40d4-ab1d-629d8c752c9f-c000.snappy.parquet │ │ │ │ │ ├── part-00003-6cdbfe41-c900-40d4-ab1d-629d8c752c9f-c000.snappy.parquet │ │ │ │ │ ├── part-00004-6cdbfe41-c900-40d4-ab1d-629d8c752c9f-c000.snappy.parquet │ │ │ │ │ ├── part-00005-6cdbfe41-c900-40d4-ab1d-629d8c752c9f-c000.snappy.parquet │ │ │ │ │ ├── part-00007-6cdbfe41-c900-40d4-ab1d-629d8c752c9f-c000.snappy.parquet │ │ │ │ │ ├── part-00008-6cdbfe41-c900-40d4-ab1d-629d8c752c9f-c000.snappy.parquet │ │ │ │ │ ├── part-00009-6cdbfe41-c900-40d4-ab1d-629d8c752c9f-c000.snappy.parquet │ │ │ │ │ ├── part-00010-6cdbfe41-c900-40d4-ab1d-629d8c752c9f-c000.snappy.parquet │ │ │ │ │ ├── part-00011-6cdbfe41-c900-40d4-ab1d-629d8c752c9f-c000.snappy.parquet │ │ │ │ │ ├── part-00013-6cdbfe41-c900-40d4-ab1d-629d8c752c9f-c000.snappy.parquet │ │ │ │ │ ├── part-00014-6cdbfe41-c900-40d4-ab1d-629d8c752c9f-c000.snappy.parquet │ │ │ │ │ ├── part-00015-6cdbfe41-c900-40d4-ab1d-629d8c752c9f-c000.snappy.parquet │ │ │ │ │ ├── part-00016-6cdbfe41-c900-40d4-ab1d-629d8c752c9f-c000.snappy.parquet │ │ │ │ │ ├── part-00017-6cdbfe41-c900-40d4-ab1d-629d8c752c9f-c000.snappy.parquet │ │ │ │ │ ├── part-00019-6cdbfe41-c900-40d4-ab1d-629d8c752c9f-c000.snappy.parquet │ │ │ │ │ ├── part-00020-6cdbfe41-c900-40d4-ab1d-629d8c752c9f-c000.snappy.parquet │ │ │ │ │ ├── part-00021-6cdbfe41-c900-40d4-ab1d-629d8c752c9f-c000.snappy.parquet │ │ │ │ │ ├── part-00022-6cdbfe41-c900-40d4-ab1d-629d8c752c9f-c000.snappy.parquet │ │ │ │ │ └── part-00023-6cdbfe41-c900-40d4-ab1d-629d8c752c9f-c000.snappy.parquet │ │ │ │ ├── metadata/ │ │ │ │ │ ├── ._SUCCESS.crc │ │ │ │ │ ├── .part-00000.crc │ │ │ │ │ ├── _SUCCESS │ │ │ │ │ └── part-00000 │ │ │ │ └── treesMetadata/ │ │ │ │ ├── ._SUCCESS.crc │ │ │ │ ├── .part-00000-6b4df0d7-60c8-4fa0-b6ed-2d08ae1dd849-c000.snappy.parquet.crc │ │ │ │ ├── .part-00001-6b4df0d7-60c8-4fa0-b6ed-2d08ae1dd849-c000.snappy.parquet.crc │ │ │ │ ├── .part-00002-6b4df0d7-60c8-4fa0-b6ed-2d08ae1dd849-c000.snappy.parquet.crc │ │ │ │ ├── .part-00003-6b4df0d7-60c8-4fa0-b6ed-2d08ae1dd849-c000.snappy.parquet.crc │ │ │ │ ├── .part-00004-6b4df0d7-60c8-4fa0-b6ed-2d08ae1dd849-c000.snappy.parquet.crc │ │ │ │ ├── .part-00005-6b4df0d7-60c8-4fa0-b6ed-2d08ae1dd849-c000.snappy.parquet.crc │ │ │ │ ├── .part-00006-6b4df0d7-60c8-4fa0-b6ed-2d08ae1dd849-c000.snappy.parquet.crc │ │ │ │ ├── .part-00007-6b4df0d7-60c8-4fa0-b6ed-2d08ae1dd849-c000.snappy.parquet.crc │ │ │ │ ├── .part-00008-6b4df0d7-60c8-4fa0-b6ed-2d08ae1dd849-c000.snappy.parquet.crc │ │ │ │ ├── .part-00009-6b4df0d7-60c8-4fa0-b6ed-2d08ae1dd849-c000.snappy.parquet.crc │ │ │ │ ├── .part-00010-6b4df0d7-60c8-4fa0-b6ed-2d08ae1dd849-c000.snappy.parquet.crc │ │ │ │ ├── .part-00011-6b4df0d7-60c8-4fa0-b6ed-2d08ae1dd849-c000.snappy.parquet.crc │ │ │ │ ├── .part-00012-6b4df0d7-60c8-4fa0-b6ed-2d08ae1dd849-c000.snappy.parquet.crc │ │ │ │ ├── .part-00013-6b4df0d7-60c8-4fa0-b6ed-2d08ae1dd849-c000.snappy.parquet.crc │ │ │ │ ├── .part-00014-6b4df0d7-60c8-4fa0-b6ed-2d08ae1dd849-c000.snappy.parquet.crc │ │ │ │ ├── .part-00015-6b4df0d7-60c8-4fa0-b6ed-2d08ae1dd849-c000.snappy.parquet.crc │ │ │ │ ├── .part-00016-6b4df0d7-60c8-4fa0-b6ed-2d08ae1dd849-c000.snappy.parquet.crc │ │ │ │ ├── .part-00017-6b4df0d7-60c8-4fa0-b6ed-2d08ae1dd849-c000.snappy.parquet.crc │ │ │ │ ├── .part-00018-6b4df0d7-60c8-4fa0-b6ed-2d08ae1dd849-c000.snappy.parquet.crc │ │ │ │ ├── .part-00019-6b4df0d7-60c8-4fa0-b6ed-2d08ae1dd849-c000.snappy.parquet.crc │ │ │ │ ├── _SUCCESS │ │ │ │ ├── part-00000-6b4df0d7-60c8-4fa0-b6ed-2d08ae1dd849-c000.snappy.parquet │ │ │ │ ├── part-00001-6b4df0d7-60c8-4fa0-b6ed-2d08ae1dd849-c000.snappy.parquet │ │ │ │ ├── part-00002-6b4df0d7-60c8-4fa0-b6ed-2d08ae1dd849-c000.snappy.parquet │ │ │ │ ├── part-00003-6b4df0d7-60c8-4fa0-b6ed-2d08ae1dd849-c000.snappy.parquet │ │ │ │ ├── part-00004-6b4df0d7-60c8-4fa0-b6ed-2d08ae1dd849-c000.snappy.parquet │ │ │ │ ├── part-00005-6b4df0d7-60c8-4fa0-b6ed-2d08ae1dd849-c000.snappy.parquet │ │ │ │ ├── part-00006-6b4df0d7-60c8-4fa0-b6ed-2d08ae1dd849-c000.snappy.parquet │ │ │ │ ├── part-00007-6b4df0d7-60c8-4fa0-b6ed-2d08ae1dd849-c000.snappy.parquet │ │ │ │ ├── part-00008-6b4df0d7-60c8-4fa0-b6ed-2d08ae1dd849-c000.snappy.parquet │ │ │ │ ├── part-00009-6b4df0d7-60c8-4fa0-b6ed-2d08ae1dd849-c000.snappy.parquet │ │ │ │ ├── part-00010-6b4df0d7-60c8-4fa0-b6ed-2d08ae1dd849-c000.snappy.parquet │ │ │ │ ├── part-00011-6b4df0d7-60c8-4fa0-b6ed-2d08ae1dd849-c000.snappy.parquet │ │ │ │ ├── part-00012-6b4df0d7-60c8-4fa0-b6ed-2d08ae1dd849-c000.snappy.parquet │ │ │ │ ├── part-00013-6b4df0d7-60c8-4fa0-b6ed-2d08ae1dd849-c000.snappy.parquet │ │ │ │ ├── part-00014-6b4df0d7-60c8-4fa0-b6ed-2d08ae1dd849-c000.snappy.parquet │ │ │ │ ├── part-00015-6b4df0d7-60c8-4fa0-b6ed-2d08ae1dd849-c000.snappy.parquet │ │ │ │ ├── part-00016-6b4df0d7-60c8-4fa0-b6ed-2d08ae1dd849-c000.snappy.parquet │ │ │ │ ├── part-00017-6b4df0d7-60c8-4fa0-b6ed-2d08ae1dd849-c000.snappy.parquet │ │ │ │ ├── part-00018-6b4df0d7-60c8-4fa0-b6ed-2d08ae1dd849-c000.snappy.parquet │ │ │ │ └── part-00019-6b4df0d7-60c8-4fa0-b6ed-2d08ae1dd849-c000.snappy.parquet │ │ │ ├── estimator/ │ │ │ │ └── metadata/ │ │ │ │ ├── ._SUCCESS.crc │ │ │ │ ├── .part-00000.crc │ │ │ │ ├── _SUCCESS │ │ │ │ └── part-00000 │ │ │ ├── evaluator/ │ │ │ │ └── metadata/ │ │ │ │ ├── ._SUCCESS.crc │ │ │ │ ├── .part-00000.crc │ │ │ │ ├── _SUCCESS │ │ │ │ └── part-00000 │ │ │ └── metadata/ │ │ │ ├── ._SUCCESS.crc │ │ │ ├── .part-00000.crc │ │ │ ├── _SUCCESS │ │ │ └── part-00000 │ │ └── pipeline-model/ │ │ ├── metadata/ │ │ │ ├── ._SUCCESS.crc │ │ │ ├── .part-00000.crc │ │ │ ├── _SUCCESS │ │ │ └── part-00000 │ │ └── stages/ │ │ ├── 0_ValueCleaner_57f061a9e393/ │ │ │ └── metadata/ │ │ │ ├── ._SUCCESS.crc │ │ │ ├── .part-00000.crc │ │ │ ├── _SUCCESS │ │ │ └── part-00000 │ │ ├── 1_Imputer_3f8cf4b571a8/ │ │ │ ├── data/ │ │ │ │ ├── ._SUCCESS.crc │ │ │ │ ├── .part-00000-d346f402-14f7-495c-adb5-386e07999ead-c000.snappy.parquet.crc │ │ │ │ ├── _SUCCESS │ │ │ │ └── part-00000-d346f402-14f7-495c-adb5-386e07999ead-c000.snappy.parquet │ │ │ └── metadata/ │ │ │ ├── ._SUCCESS.crc │ │ │ ├── .part-00000.crc │ │ │ ├── _SUCCESS │ │ │ └── part-00000 │ │ ├── 2_OneHotEncoderEstimator_f1dc6e50f52e/ │ │ │ ├── data/ │ │ │ │ ├── ._SUCCESS.crc │ │ │ │ ├── .part-00000-c909fe56-90d1-4202-a5f4-69907defba9a-c000.snappy.parquet.crc │ │ │ │ ├── _SUCCESS │ │ │ │ └── part-00000-c909fe56-90d1-4202-a5f4-69907defba9a-c000.snappy.parquet │ │ │ └── metadata/ │ │ │ ├── ._SUCCESS.crc │ │ │ ├── .part-00000.crc │ │ │ ├── _SUCCESS │ │ │ └── part-00000 │ │ ├── 3_VectorAssembler_ef6b7bf933ee/ │ │ │ └── metadata/ │ │ │ ├── ._SUCCESS.crc │ │ │ ├── .part-00000.crc │ │ │ ├── _SUCCESS │ │ │ └── part-00000 │ │ └── 4_BinaryLabelMaker_3b174e5e0c29/ │ │ └── metadata/ │ │ ├── ._SUCCESS.crc │ │ ├── .part-00000.crc │ │ ├── _SUCCESS │ │ └── part-00000 │ ├── 05_anomaly_detection/ │ │ ├── dl-anomaly-detection.ipynb │ │ ├── models/ │ │ │ ├── denoising_autoencoder_model.h5 │ │ │ ├── simple_autoencoder_model.h5 │ │ │ └── stacked_autoencoder_model.h5 │ │ └── notebook_utils.py │ ├── 06_dl_classifier/ │ │ ├── dl-classifier.ipynb │ │ ├── models/ │ │ │ ├── c0cb0656-558f-4311-b138-9b91ab4d1fe6.h5 │ │ │ ├── model_class_weight.h5 │ │ │ ├── model_no_class_weights.h5 │ │ │ └── opt_model.h5 │ │ └── notebook_utils.py │ └── 07_binary_classifier_comparison/ │ ├── binary-classifier-comparison.ipynb │ ├── models/ │ │ └── gb_835066e8-2427-48ca-a521-67195008cb91.catboost │ └── notebook_utils.py ├── setup.cfg ├── setup.py ├── tests/ │ ├── data/ │ │ └── test_dataset.py │ ├── transform/ │ │ └── test_preprocessing.py │ └── validation_data/ │ └── validation.csv └── upload.py