{"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","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":8060974,"sourceType":"datasetVersion","datasetId":4745893},{"sourceId":170653109,"sourceType":"kernelVersion"}],"dockerImageVersionId":30673,"isInternetEnabled":true,"language":"python","sourceType":"notebook","isGpuEnabled":false}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"markdown","source":"# **FOREWORD**","metadata":{}},{"cell_type":"markdown","source":"This is a simple blender kernel that combines the predictions of 2/ more good public scores. Feel free to update this with more weights and submissions! <br>\nIn this version, I blend 11 submissions, 1 public and 10 private experiments closely resembling public work. <br>","metadata":{}},{"cell_type":"code","source":"%%time \n\nimport polars as pl\nimport polars.selectors as cs\nimport numpy as np\nfrom gc import collect\n\n# Preparing the blend:-\nsub_fl  = pl.read_csv(f\"/kaggle/input/leash-BELKA/sample_submission.csv\")\ntarget  = \"binds\"\nweights = [0.00, 0.05, 0.00, 0.05, 0.05, 0.05, 0.05, 0.10, 0.10, 0.25, 0.35]\n\nprint(f\"\\n---> Sum of weights = {sum(weights):.2f}\\n\")\n\nsub1   = pl.read_parquet(f\"/kaggle/input/belka2024ancillary/Submission_E1V1.parquet\")\nsub2   = pl.read_csv(f\"/kaggle/input/leash-bio-automl-baseline/submission.csv\")\nsub3   = pl.read_parquet(f\"/kaggle/input/belka2024ancillary/Submission_E1V2.parquet\")\nsub4   = pl.read_csv(f\"/kaggle/input/belka2024ancillary/Submission_E1V3.csv\")\nsub5   = pl.read_csv(f\"/kaggle/input/belka2024ancillary/Submission_E1V4.csv\")\nsub6   = pl.read_csv(f\"/kaggle/input/belka2024ancillary/Submission_E1V5.csv\")\nsub7   = pl.read_csv(f\"/kaggle/input/belka2024ancillary/Submission_E1V6.csv\")\nsub8   = pl.read_csv(f\"/kaggle/input/belka2024ancillary/Submission_E1V7.csv\")\nsub9   = pl.read_csv(f\"/kaggle/input/belka2024ancillary/Submission_E1V8.csv\")\nsub10  = pl.read_csv(f\"/kaggle/input/belka2024ancillary/Submission_E1V9.csv\")\nsub11  = pl.read_csv(f\"/kaggle/input/belka2024ancillary/Submission_E1V10.csv\")\n\npreds = np.average(np.c_[sub1.select(pl.col(target)).to_numpy(), \n                         sub2.select(pl.col(target)).to_numpy(),\n                         sub3.select(pl.col(target)).to_numpy(),\n                         sub4.select(pl.col(target)).to_numpy(),\n                         sub5.select(pl.col(target)).to_numpy(),\n                         sub6.select(pl.col(target)).to_numpy(),\n                         sub7.select(pl.col(target)).to_numpy(),\n                         sub8.select(pl.col(target)).to_numpy(),\n                         sub9.select(pl.col(target)).to_numpy(),\n                         sub10.select(pl.col(target)).to_numpy(),\n                         sub11.select(pl.col(target)).to_numpy(),\n                       ], \n                   axis    = 1, \n                   weights = weights,\n                  );\n\nsub_fl = sub_fl.with_columns(pl.Series(name = target, values = preds.flatten()));\ndel sub1, sub2, preds;\n\nprint(f\"\\nFinal submission file\\n\");\ndisplay(sub_fl.head(10));\nsub_fl.select([\"id\", target]).write_csv(\"submission.csv\");\n\ncollect();","metadata":{"execution":{"iopub.status.busy":"2024-04-08T09:15:50.584149Z","iopub.execute_input":"2024-04-08T09:15:50.584630Z","iopub.status.idle":"2024-04-08T09:15:55.447689Z","shell.execute_reply.started":"2024-04-08T09:15:50.584594Z","shell.execute_reply":"2024-04-08T09:15:55.446220Z"},"trusted":true},"execution_count":null,"outputs":[]}]}