{"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":50160,"databundleVersionId":7921029,"sourceType":"competition"},{"sourceId":7938810,"sourceType":"datasetVersion","datasetId":4256688},{"sourceId":8124368,"sourceType":"datasetVersion","datasetId":4801072},{"sourceId":8125798,"sourceType":"datasetVersion","datasetId":4802188},{"sourceId":8130356,"sourceType":"datasetVersion","datasetId":4805476},{"sourceId":8145162,"sourceType":"datasetVersion","datasetId":4816447},{"sourceId":8146326,"sourceType":"datasetVersion","datasetId":4817315},{"sourceId":8155285,"sourceType":"datasetVersion","datasetId":4823995},{"sourceId":8155289,"sourceType":"datasetVersion","datasetId":4823998},{"sourceId":8180746,"sourceType":"datasetVersion","datasetId":4843312},{"sourceId":8211577,"sourceType":"datasetVersion","datasetId":4866386},{"sourceId":8216146,"sourceType":"datasetVersion","datasetId":4869886},{"sourceId":8227872,"sourceType":"datasetVersion","datasetId":4878924},{"sourceId":8426680,"sourceType":"datasetVersion","datasetId":5017639},{"sourceId":8429012,"sourceType":"datasetVersion","datasetId":5019394},{"sourceId":8429316,"sourceType":"datasetVersion","datasetId":5019580},{"sourceId":8448150,"sourceType":"datasetVersion","datasetId":5034184},{"sourceId":8448240,"sourceType":"datasetVersion","datasetId":5034250},{"sourceId":8472544,"sourceType":"datasetVersion","datasetId":5052179},{"sourceId":8473713,"sourceType":"datasetVersion","datasetId":5053020},{"sourceId":33096,"sourceType":"modelInstanceVersion","isSourceIdPinned":true,"modelInstanceId":27711},{"sourceId":33095,"sourceType":"modelInstanceVersion","isSourceIdPinned":true,"modelInstanceId":27710}],"dockerImageVersionId":30665,"isInternetEnabled":false,"language":"python","sourceType":"notebook","isGpuEnabled":false}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"code","source":"","metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"!python /kaggle/input/ensemble-v3/ensemble_lgb_xgb_cat.py","metadata":{"execution":{"iopub.status.busy":"2024-05-21T06:33:23.590751Z","iopub.execute_input":"2024-05-21T06:33:23.591167Z","iopub.status.idle":"2024-05-21T06:52:18.367324Z","shell.execute_reply.started":"2024-05-21T06:33:23.591131Z","shell.execute_reply":"2024-05-21T06:52:18.365213Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"!python /kaggle/input/script-cat-lgb/script_cat_lgb.py","metadata":{"execution":{"iopub.status.busy":"2024-05-21T06:52:18.370657Z","iopub.execute_input":"2024-05-21T06:52:18.371231Z","iopub.status.idle":"2024-05-21T06:52:30.962608Z","shell.execute_reply.started":"2024-05-21T06:52:18.371177Z","shell.execute_reply":"2024-05-21T06:52:30.961315Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"!python /kaggle/input/catboost-online-0-585/catboost_0.585.py","metadata":{"execution":{"iopub.status.busy":"2024-05-21T06:52:30.964637Z","iopub.execute_input":"2024-05-21T06:52:30.965145Z","iopub.status.idle":"2024-05-21T06:52:42.481469Z","shell.execute_reply.started":"2024-05-21T06:52:30.965077Z","shell.execute_reply":"2024-05-21T06:52:42.480051Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"","metadata":{},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"!python /kaggle/input/script1/script1.py","metadata":{"execution":{"iopub.status.busy":"2024-05-21T06:52:42.485380Z","iopub.execute_input":"2024-05-21T06:52:42.485831Z","iopub.status.idle":"2024-05-21T06:55:51.966137Z","shell.execute_reply.started":"2024-05-21T06:52:42.485793Z","shell.execute_reply":"2024-05-21T06:55:51.964219Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"","metadata":{},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"","metadata":{},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"import sys\nfrom pathlib import Path\nimport subprocess\nimport os\nimport gc\nfrom glob import glob\n\nimport numpy as np\nimport pandas as pd\nimport polars as pl\nfrom datetime import datetime\nimport seaborn as sns\nimport matplotlib.pyplot as plt\n\nimport warnings\nwarnings.filterwarnings('ignore')\n\nfrom sklearn.model_selection import TimeSeriesSplit, GroupKFold, StratifiedGroupKFold\nfrom sklearn.base import BaseEstimator, RegressorMixin\nfrom sklearn.metrics import roc_auc_score\nimport lightgbm as lgb\nimport joblib\nfrom imblearn.over_sampling import SMOTE\nfrom sklearn.preprocessing import OrdinalEncoder\nfrom sklearn.impute import KNNImputer","metadata":{"execution":{"iopub.status.busy":"2024-05-21T06:55:51.968068Z","iopub.execute_input":"2024-05-21T06:55:51.968506Z","iopub.status.idle":"2024-05-21T06:55:54.196377Z","shell.execute_reply.started":"2024-05-21T06:55:51.968468Z","shell.execute_reply":"2024-05-21T06:55:54.195222Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"df_train,y,df_test=joblib.load('/kaggle/working/data.pkl')","metadata":{"execution":{"iopub.status.busy":"2024-05-21T06:55:54.197901Z","iopub.execute_input":"2024-05-21T06:55:54.198473Z","iopub.status.idle":"2024-05-21T06:55:55.327308Z","shell.execute_reply.started":"2024-05-21T06:55:54.198442Z","shell.execute_reply":"2024-05-21T06:55:55.326291Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"fitted_models_lgb=[]\nmodel = lgb.LGBMClassifier()\nmodel.fit(df_train,y)\nfitted_models_lgb.append(model)  ","metadata":{"execution":{"iopub.status.busy":"2024-05-21T06:55:55.328867Z","iopub.execute_input":"2024-05-21T06:55:55.329903Z","iopub.status.idle":"2024-05-21T06:57:55.991352Z","shell.execute_reply.started":"2024-05-21T06:55:55.329860Z","shell.execute_reply":"2024-05-21T06:57:55.990259Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"class VotingModel(BaseEstimator, RegressorMixin):\n    def __init__(self, estimators):\n        super().__init__()\n        self.estimators = estimators\n        \n    def fit(self, X, y=None):\n        return self\n    \n    def predict(self, X):\n        y_preds = [estimator.predict(X) for estimator in self.estimators]\n        return np.mean(y_preds, axis=0)\n    \n    def predict_proba(self, X):\n        y_preds = [estimator.predict_proba(X) for estimator in self.estimators]\n        \n        return np.mean(y_preds, axis=0)\n\nmodel = VotingModel(fitted_models_lgb)","metadata":{"execution":{"iopub.status.busy":"2024-05-21T06:57:55.993051Z","iopub.execute_input":"2024-05-21T06:57:55.993539Z","iopub.status.idle":"2024-05-21T06:57:56.003249Z","shell.execute_reply.started":"2024-05-21T06:57:55.993498Z","shell.execute_reply":"2024-05-21T06:57:56.002060Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"","metadata":{},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"df_test = df_test.drop(columns=[\"WEEK_NUM\",'target'])\ndf_test = df_test.set_index(\"case_id\")\n\ny_pred = pd.Series(model.predict_proba(df_test)[:,1], index=df_test.index)\n\ncondition = y_pred < 0.98","metadata":{"execution":{"iopub.status.busy":"2024-05-21T06:57:56.006982Z","iopub.execute_input":"2024-05-21T06:57:56.007364Z","iopub.status.idle":"2024-05-21T06:57:56.044040Z","shell.execute_reply.started":"2024-05-21T06:57:56.007335Z","shell.execute_reply":"2024-05-21T06:57:56.042969Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"y_pred","metadata":{"execution":{"iopub.status.busy":"2024-05-21T06:57:56.047316Z","iopub.execute_input":"2024-05-21T06:57:56.047709Z","iopub.status.idle":"2024-05-21T06:57:56.058052Z","shell.execute_reply.started":"2024-05-21T06:57:56.047666Z","shell.execute_reply":"2024-05-21T06:57:56.056901Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"","metadata":{},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"df_1 = pd.read_csv(\"/kaggle/working/submission_cat.csv\")\ndf_2 = pd.read_csv(\"/kaggle/working/sub_ensemble.csv\")\ndf_3 = pd.read_csv(\"/kaggle/working/sub.csv\")","metadata":{"execution":{"iopub.status.busy":"2024-05-21T06:57:56.059363Z","iopub.execute_input":"2024-05-21T06:57:56.059693Z","iopub.status.idle":"2024-05-21T06:57:56.074807Z","shell.execute_reply.started":"2024-05-21T06:57:56.059665Z","shell.execute_reply":"2024-05-21T06:57:56.073757Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"","metadata":{},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"df_1.columns = ['case_id','cat_score']","metadata":{"execution":{"iopub.status.busy":"2024-05-21T06:57:56.076410Z","iopub.execute_input":"2024-05-21T06:57:56.076832Z","iopub.status.idle":"2024-05-21T06:57:56.084449Z","shell.execute_reply.started":"2024-05-21T06:57:56.076792Z","shell.execute_reply":"2024-05-21T06:57:56.083387Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"df_subm = df_2.merge(df_1,how='left')","metadata":{"execution":{"iopub.status.busy":"2024-05-21T06:57:56.086051Z","iopub.execute_input":"2024-05-21T06:57:56.086520Z","iopub.status.idle":"2024-05-21T06:57:56.109351Z","shell.execute_reply.started":"2024-05-21T06:57:56.086482Z","shell.execute_reply":"2024-05-21T06:57:56.108073Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"df_3.columns = ['case_id','cat_lgb_avg']\ndf_subm = df_subm.merge(df_3,how='left')","metadata":{"execution":{"iopub.status.busy":"2024-05-21T06:59:00.234158Z","iopub.execute_input":"2024-05-21T06:59:00.234646Z","iopub.status.idle":"2024-05-21T06:59:00.248015Z","shell.execute_reply.started":"2024-05-21T06:59:00.234614Z","shell.execute_reply":"2024-05-21T06:59:00.246957Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"df_subm","metadata":{"execution":{"iopub.status.busy":"2024-05-21T06:59:04.407266Z","iopub.execute_input":"2024-05-21T06:59:04.407693Z","iopub.status.idle":"2024-05-21T06:59:04.425740Z","shell.execute_reply.started":"2024-05-21T06:59:04.407661Z","shell.execute_reply":"2024-05-21T06:59:04.424604Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"","metadata":{},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"","metadata":{"execution":{"iopub.status.busy":"2024-05-21T04:33:01.416167Z","iopub.execute_input":"2024-05-21T04:33:01.416563Z","iopub.status.idle":"2024-05-21T04:33:01.430876Z","shell.execute_reply.started":"2024-05-21T04:33:01.416534Z","shell.execute_reply":"2024-05-21T04:33:01.427661Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"df_subm['score_ensemble_prev'] = df_subm['score'] * 0.6 + df_subm['cat_score'] * 0.4","metadata":{"execution":{"iopub.status.busy":"2024-05-21T07:34:15.737698Z","iopub.execute_input":"2024-05-21T07:34:15.739283Z","iopub.status.idle":"2024-05-21T07:34:15.751587Z","shell.execute_reply.started":"2024-05-21T07:34:15.739204Z","shell.execute_reply":"2024-05-21T07:34:15.750220Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"df_subm.loc[df_subm['score_ensemble_prev']<0.01,'score_ensemble_prev'] = 0","metadata":{"execution":{"iopub.status.busy":"2024-05-21T07:34:30.510774Z","iopub.execute_input":"2024-05-21T07:34:30.511199Z","iopub.status.idle":"2024-05-21T07:34:30.518500Z","shell.execute_reply.started":"2024-05-21T07:34:30.511169Z","shell.execute_reply":"2024-05-21T07:34:30.517170Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"df_subm['score'] = 0","metadata":{"execution":{"iopub.status.busy":"2024-05-21T07:35:04.725434Z","iopub.execute_input":"2024-05-21T07:35:04.725843Z","iopub.status.idle":"2024-05-21T07:35:04.734912Z","shell.execute_reply.started":"2024-05-21T07:35:04.725814Z","shell.execute_reply":"2024-05-21T07:35:04.733663Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"df_subm = df_subm.set_index(\"case_id\")","metadata":{"execution":{"iopub.status.busy":"2024-05-21T07:36:07.462988Z","iopub.execute_input":"2024-05-21T07:36:07.463492Z","iopub.status.idle":"2024-05-21T07:36:07.474929Z","shell.execute_reply.started":"2024-05-21T07:36:07.463456Z","shell.execute_reply":"2024-05-21T07:36:07.473536Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"df_subm.loc[condition, 'score'] = (df_subm.loc[condition, 'cat_lgb_avg'] - 0.073).clip(0)","metadata":{"execution":{"iopub.status.busy":"2024-05-21T07:36:09.972002Z","iopub.execute_input":"2024-05-21T07:36:09.972815Z","iopub.status.idle":"2024-05-21T07:36:09.983967Z","shell.execute_reply.started":"2024-05-21T07:36:09.972777Z","shell.execute_reply":"2024-05-21T07:36:09.982636Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"df_subm.loc[~condition,'score'] = df_subm.loc[~condition,'score_ensemble_prev']","metadata":{"execution":{"iopub.status.busy":"2024-05-21T07:36:39.751355Z","iopub.execute_input":"2024-05-21T07:36:39.751895Z","iopub.status.idle":"2024-05-21T07:36:39.762636Z","shell.execute_reply.started":"2024-05-21T07:36:39.751851Z","shell.execute_reply":"2024-05-21T07:36:39.761320Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"df_subm = df_subm.drop(columns=['cat_score','cat_lgb_avg','score_ensemble_prev'])","metadata":{"execution":{"iopub.status.busy":"2024-05-21T07:37:15.057741Z","iopub.execute_input":"2024-05-21T07:37:15.058177Z","iopub.status.idle":"2024-05-21T07:37:15.069078Z","shell.execute_reply.started":"2024-05-21T07:37:15.058146Z","shell.execute_reply":"2024-05-21T07:37:15.067382Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"df_subm","metadata":{"execution":{"iopub.status.busy":"2024-05-21T07:37:17.182285Z","iopub.execute_input":"2024-05-21T07:37:17.182695Z","iopub.status.idle":"2024-05-21T07:37:17.195134Z","shell.execute_reply.started":"2024-05-21T07:37:17.182667Z","shell.execute_reply":"2024-05-21T07:37:17.193734Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"","metadata":{"execution":{"iopub.status.busy":"2024-05-21T04:33:20.988228Z","iopub.execute_input":"2024-05-21T04:33:20.988648Z","iopub.status.idle":"2024-05-21T04:33:21.002222Z","shell.execute_reply.started":"2024-05-21T04:33:20.988617Z","shell.execute_reply":"2024-05-21T04:33:20.999127Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"","metadata":{"execution":{"iopub.status.busy":"2024-05-21T04:34:03.849757Z","iopub.execute_input":"2024-05-21T04:34:03.850265Z","iopub.status.idle":"2024-05-21T04:34:03.860777Z","shell.execute_reply.started":"2024-05-21T04:34:03.850220Z","shell.execute_reply":"2024-05-21T04:34:03.859472Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"","metadata":{"execution":{"iopub.status.busy":"2024-05-21T04:34:56.629073Z","iopub.execute_input":"2024-05-21T04:34:56.630091Z","iopub.status.idle":"2024-05-21T04:34:56.638953Z","shell.execute_reply.started":"2024-05-21T04:34:56.630055Z","shell.execute_reply":"2024-05-21T04:34:56.637443Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"df_subm.to_csv(\"submission.csv\")\ndf_subm","metadata":{"execution":{"iopub.status.busy":"2024-05-21T07:37:43.104827Z","iopub.execute_input":"2024-05-21T07:37:43.105310Z","iopub.status.idle":"2024-05-21T07:37:43.124201Z","shell.execute_reply.started":"2024-05-21T07:37:43.105273Z","shell.execute_reply":"2024-05-21T07:37:43.122869Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"","metadata":{},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"","metadata":{},"execution_count":null,"outputs":[]}]}