{"metadata":{"kernelspec":{"display_name":"Python 3","language":"python","name":"python3"},"language_info":{"name":"python","version":"3.10.13","mimetype":"text/x-python","codemirror_mode":{"name":"ipython","version":3},"pygments_lexer":"ipython3","nbconvert_exporter":"python","file_extension":".py"},"kaggle":{"accelerator":"none","dataSources":[{"sourceId":67356,"databundleVersionId":8006601,"sourceType":"competition"},{"sourceId":170595844,"sourceType":"kernelVersion"}],"dockerImageVersionId":30698,"isInternetEnabled":true,"language":"python","sourceType":"notebook","isGpuEnabled":false}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"code","source":"from pathlib import Path\nimport pickle\nimport numpy as np\nimport pandas as pd\nfrom tqdm import tqdm\nfrom sklearn.model_selection import KFold,StratifiedKFold","metadata":{"ExecuteTime":{"end_time":"2024-05-28T05:52:16.647305Z","start_time":"2024-05-28T05:52:14.30763Z"},"execution":{"iopub.status.busy":"2024-05-31T09:38:41.055225Z","iopub.execute_input":"2024-05-31T09:38:41.055706Z","iopub.status.idle":"2024-05-31T09:38:41.067496Z","shell.execute_reply.started":"2024-05-31T09:38:41.055611Z","shell.execute_reply":"2024-05-31T09:38:41.066246Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"data_root = Path(\"/kaggle/input/belka-shrinking-the-dataset\")","metadata":{"ExecuteTime":{"end_time":"2024-05-28T05:16:30.390177Z","start_time":"2024-05-28T05:16:30.388257Z"},"execution":{"iopub.status.busy":"2024-05-31T09:38:41.528699Z","iopub.execute_input":"2024-05-31T09:38:41.529129Z","iopub.status.idle":"2024-05-31T09:38:41.536079Z","shell.execute_reply.started":"2024-05-31T09:38:41.529098Z","shell.execute_reply":"2024-05-31T09:38:41.534700Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train = pd.read_parquet(data_root / \"train.parquet\", columns=[\n    'binds_BRD4',\n    'binds_HSA',\n    'binds_sEH'\n])","metadata":{"collapsed":false,"ExecuteTime":{"end_time":"2024-05-28T05:16:30.659214Z","start_time":"2024-05-28T05:16:30.391173Z"},"jupyter":{"outputs_hidden":false},"execution":{"iopub.status.busy":"2024-05-31T09:38:41.917481Z","iopub.execute_input":"2024-05-31T09:38:41.917907Z","iopub.status.idle":"2024-05-31T09:38:43.453456Z","shell.execute_reply.started":"2024-05-31T09:38:41.917875Z","shell.execute_reply":"2024-05-31T09:38:43.452128Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train[\"target\"] = train[\"binds_BRD4\"] + train[\"binds_HSA\"]*2 + train[\"binds_sEH\"]*4","metadata":{"execution":{"iopub.status.busy":"2024-05-31T09:38:43.456025Z","iopub.execute_input":"2024-05-31T09:38:43.456522Z","iopub.status.idle":"2024-05-31T09:38:44.114922Z","shell.execute_reply.started":"2024-05-31T09:38:43.456471Z","shell.execute_reply":"2024-05-31T09:38:44.113719Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train[\"target\"].value_counts()","metadata":{"execution":{"iopub.status.busy":"2024-05-31T09:38:44.116381Z","iopub.execute_input":"2024-05-31T09:38:44.116819Z","iopub.status.idle":"2024-05-31T09:38:44.715475Z","shell.execute_reply.started":"2024-05-31T09:38:44.116789Z","shell.execute_reply":"2024-05-31T09:38:44.714222Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"skf = StratifiedKFold(n_splits =5, shuffle = True, random_state = 42)","metadata":{"execution":{"iopub.status.busy":"2024-05-31T09:38:44.718839Z","iopub.execute_input":"2024-05-31T09:38:44.719340Z","iopub.status.idle":"2024-05-31T09:38:44.726256Z","shell.execute_reply.started":"2024-05-31T09:38:44.719298Z","shell.execute_reply":"2024-05-31T09:38:44.724685Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train_keeps = []\nval_keeps = []","metadata":{"execution":{"iopub.status.busy":"2024-05-31T09:38:44.727700Z","iopub.execute_input":"2024-05-31T09:38:44.728136Z","iopub.status.idle":"2024-05-31T09:38:44.835830Z","shell.execute_reply.started":"2024-05-31T09:38:44.728096Z","shell.execute_reply":"2024-05-31T09:38:44.834502Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"for fold, (train_idx, valid_idx) in enumerate(skf.split(train, train[\"target\"])):\n    train_keep = np.zeros(len(train), dtype=bool)\n    val_keep = np.zeros(len(train), dtype=bool)\n    train_keep[train_idx] = True\n    val_keep[valid_idx] = True\n    train_keeps.append(train_keep)\n    val_keeps.append(val_keep)","metadata":{"execution":{"iopub.status.busy":"2024-05-31T09:38:44.837430Z","iopub.execute_input":"2024-05-31T09:38:44.837868Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train_keeps = np.array(train_keeps)\nval_keeps = np.array(val_keeps)\n\n# save train_keeps and val_keeps to pickle\nwith open(\"split.pkl\", \"wb\") as f:\n    pickle.dump((train_keeps, val_keeps), f)","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"","metadata":{},"execution_count":null,"outputs":[]}]}