{"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":"nvidiaTeslaT4","dataSources":[{"sourceId":50160,"databundleVersionId":7921029,"sourceType":"competition"},{"sourceId":178158327,"sourceType":"kernelVersion"},{"sourceId":178159521,"sourceType":"kernelVersion"},{"sourceId":33095,"sourceType":"modelInstanceVersion","modelInstanceId":27710},{"sourceId":33096,"sourceType":"modelInstanceVersion","modelInstanceId":27711}],"dockerImageVersionId":30699,"isInternetEnabled":false,"language":"python","sourceType":"notebook","isGpuEnabled":true}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"code","source":"%%capture\n!python /kaggle/usr/lib/script1/script1.py","metadata":{"_uuid":"e5f8f072-a3b5-4104-9e08-43a17ad6a013","_cell_guid":"8fad5fc6-c963-4313-b01c-34b86d44df49","collapsed":false,"jupyter":{"outputs_hidden":false},"execution":{"iopub.status.busy":"2024-05-23T15:14:14.211683Z","iopub.execute_input":"2024-05-23T15:14:14.212052Z","iopub.status.idle":"2024-05-23T15:14:16.595858Z","shell.execute_reply.started":"2024-05-23T15:14:14.212017Z","shell.execute_reply":"2024-05-23T15:14:16.594406Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"%%capture\n!python /kaggle/usr/lib/0_585/0_585.py","metadata":{"execution":{"iopub.status.busy":"2024-05-23T15:14:20.147968Z","iopub.execute_input":"2024-05-23T15:14:20.148343Z","iopub.status.idle":"2024-05-23T15:14:23.381774Z","shell.execute_reply.started":"2024-05-23T15:14:20.148310Z","shell.execute_reply":"2024-05-23T15:14:23.380666Z"},"trusted":true},"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-23T15:14:25.241312Z","iopub.execute_input":"2024-05-23T15:14:25.242208Z","iopub.status.idle":"2024-05-23T15:14:28.217398Z","shell.execute_reply.started":"2024-05-23T15:14:25.242170Z","shell.execute_reply":"2024-05-23T15:14:28.216426Z"},"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-23T15:14:32.281589Z","iopub.execute_input":"2024-05-23T15:14:32.282250Z","iopub.status.idle":"2024-05-23T15:14:33.260531Z","shell.execute_reply.started":"2024-05-23T15:14:32.282218Z","shell.execute_reply":"2024-05-23T15:14:33.259734Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"df_train.head()","metadata":{"execution":{"iopub.status.busy":"2024-05-23T15:14:35.609354Z","iopub.execute_input":"2024-05-23T15:14:35.610232Z","iopub.status.idle":"2024-05-23T15:14:35.650688Z","shell.execute_reply.started":"2024-05-23T15:14:35.610198Z","shell.execute_reply":"2024-05-23T15:14:35.649616Z"},"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-23T15:14:43.032021Z","iopub.execute_input":"2024-05-23T15:14:43.032659Z","iopub.status.idle":"2024-05-23T15:16:26.916680Z","shell.execute_reply.started":"2024-05-23T15:14:43.032628Z","shell.execute_reply":"2024-05-23T15:16:26.915797Z"},"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-23T15:17:14.082530Z","iopub.execute_input":"2024-05-23T15:17:14.083432Z","iopub.status.idle":"2024-05-23T15:17:14.091958Z","shell.execute_reply.started":"2024-05-23T15:17:14.083384Z","shell.execute_reply":"2024-05-23T15:17:14.090721Z"},"trusted":true},"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)\ncondition=y_pred<0.98\ndf_subm = pd.read_csv(\"/kaggle/working/sub.csv\")\ndf_subm = df_subm.set_index(\"case_id\")\n\ndf_subm.loc[condition, 'score'] = (df_subm.loc[condition, 'score'] - 0.073).clip(0)\ndf_subm.to_csv(\"submission.csv\")\ndf_subm\n!rm -rf data.pkl","metadata":{"execution":{"iopub.status.busy":"2024-05-23T15:17:22.408293Z","iopub.execute_input":"2024-05-23T15:17:22.409174Z","iopub.status.idle":"2024-05-23T15:17:23.732143Z","shell.execute_reply.started":"2024-05-23T15:17:22.409140Z","shell.execute_reply":"2024-05-23T15:17:23.730695Z"},"trusted":true},"execution_count":null,"outputs":[]}]}