{"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"pygments_lexer":"ipython3","nbconvert_exporter":"python","version":"3.6.4","file_extension":".py","codemirror_mode":{"name":"ipython","version":3},"name":"python","mimetype":"text/x-python"}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"code","source":"import os\nimport gc\nimport numpy as np\nfrom numpy.random import default_rng\nimport pandas as pd\nfrom tqdm.auto import tqdm\nfrom glob import glob\nfrom os.path import basename, dirname, join, exists\nfrom time import perf_counter\nfrom collections import defaultdict as dd\nfrom functools import partial\n\nfrom sklearn.model_selection import train_test_split, StratifiedKFold, StratifiedGroupKFold\nfrom sklearn.metrics import average_precision_score\nfrom sklearn.preprocessing import StandardScaler as Scaler\nfrom scipy.special import expit\n\nimport tensorflow as tf\nprint(f\"TF version: {tf.__version__}\")\nAUTO = tf.data.experimental.AUTOTUNE","metadata":{"execution":{"iopub.status.busy":"2023-05-21T10:01:06.624867Z","iopub.execute_input":"2023-05-21T10:01:06.625301Z","iopub.status.idle":"2023-05-21T10:01:19.508679Z","shell.execute_reply.started":"2023-05-21T10:01:06.625268Z","shell.execute_reply":"2023-05-21T10:01:19.506888Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# Constants\n\nBASE_DIR = \"/kaggle/input/tlvmc-parkinsons-freezing-gait-prediction\"\nTRAIN_DIR = join(BASE_DIR, \"train\")\nTEST_DIR = join(BASE_DIR, \"test\")\n\nIS_PUBLIC = len(glob(join(TEST_DIR, \"*/*.csv\")))==2","metadata":{"execution":{"iopub.status.busy":"2023-05-21T10:01:25.471806Z","iopub.execute_input":"2023-05-21T10:01:25.472226Z","iopub.status.idle":"2023-05-21T10:01:25.488643Z","shell.execute_reply.started":"2023-05-21T10:01:25.472194Z","shell.execute_reply":"2023-05-21T10:01:25.486940Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"class Config:\n    train_sub_dirs = [\n        join(TRAIN_DIR, \"defog\"),\n        join(TRAIN_DIR, \"tdcsfog\")\n    ]\n    \n    metadata_paths = [\n        join(BASE_DIR, \"defog_metadata.csv\"),\n        join(BASE_DIR, \"tdcsfog_metadata.csv\")\n    ]\n    \n    splits = 10\n\n    batch_size = 1024\n    window_size = 64\n    window_future = 16\n    window_past = window_size - window_future # Includes current value\n    \n    wx = 8\n    \n    model_dropout = 0.2\n    model_hidden = 128\n    model_nblocks = 3\n    \n    lr = 0.00015\n    num_epochs = 5\n    \n    feature_list = ['AccV', 'AccML', 'AccAP']\n    label_list = ['StartHesitation', 'Turn', 'Walking']\n    \n    n_features = len(feature_list)\n    n_labels = len(label_list)    \n    \ncfg = Config()","metadata":{"execution":{"iopub.status.busy":"2023-05-21T10:04:06.594616Z","iopub.execute_input":"2023-05-21T10:04:06.595034Z","iopub.status.idle":"2023-05-21T10:04:06.605393Z","shell.execute_reply.started":"2023-05-21T10:04:06.595006Z","shell.execute_reply":"2023-05-21T10:04:06.604224Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Stratified Group KFold","metadata":{}},{"cell_type":"code","source":"","metadata":{},"execution_count":null,"outputs":[]}]}