{"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":56537,"databundleVersionId":8015876,"sourceType":"competition"}],"dockerImageVersionId":30698,"isInternetEnabled":true,"language":"python","sourceType":"notebook","isGpuEnabled":false}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"code","source":"import numpy as np # linear algebra\nimport pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)\n\nimport polars as pl # to load big-size data fast \n\nimport os\nfor dirname, _, filenames in os.walk('/kaggle/input'):\n    for filename in filenames:\n        print(os.path.join(dirname, filename))","metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","execution":{"iopub.status.busy":"2024-05-15T04:08:08.087127Z","iopub.execute_input":"2024-05-15T04:08:08.087565Z","iopub.status.idle":"2024-05-15T04:08:09.740804Z","shell.execute_reply.started":"2024-05-15T04:08:08.087535Z","shell.execute_reply":"2024-05-15T04:08:09.739053Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"### learned things in this coding\n- 1. Big data loading - loading through polars and change to pandas, sampling\n- 2. Reduce data size - change data type, remove 1 value column, and select features\n","metadata":{}},{"cell_type":"markdown","source":"# 1. loading data","metadata":{}},{"cell_type":"code","source":"%%time\nsample_submission_pl = pl.read_csv(\"/kaggle/input/leap-atmospheric-physics-ai-climsim/sample_submission.csv\")\nsample_submission_pl.shape","metadata":{"execution":{"iopub.status.busy":"2024-05-15T04:08:09.743991Z","iopub.execute_input":"2024-05-15T04:08:09.744736Z","iopub.status.idle":"2024-05-15T04:08:25.311253Z","shell.execute_reply.started":"2024-05-15T04:08:09.744682Z","shell.execute_reply":"2024-05-15T04:08:25.309643Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# sample_submission\nsample_submission = sample_submission_pl.to_pandas()\nprint(sample_submission.shape)\nsample_submission.head(2)\n# (625000, 369) target 368 cols","metadata":{"execution":{"iopub.status.busy":"2024-05-15T04:08:25.312855Z","iopub.execute_input":"2024-05-15T04:08:25.313324Z","iopub.status.idle":"2024-05-15T04:08:29.986909Z","shell.execute_reply.started":"2024-05-15T04:08:25.313286Z","shell.execute_reply":"2024-05-15T04:08:29.984656Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"target_col = sample_submission.drop([\"sample_id\"], axis=1).columns\ntarget_col","metadata":{"execution":{"iopub.status.busy":"2024-05-15T04:08:29.991059Z","iopub.execute_input":"2024-05-15T04:08:29.991707Z","iopub.status.idle":"2024-05-15T04:08:32.17032Z","shell.execute_reply.started":"2024-05-15T04:08:29.99167Z","shell.execute_reply":"2024-05-15T04:08:32.168508Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"%%time\ntest_pl = pl.read_csv(\"/kaggle/input/leap-atmospheric-physics-ai-climsim/test.csv\")\ntest_pl.shape","metadata":{"execution":{"iopub.status.busy":"2024-05-15T04:08:32.171998Z","iopub.execute_input":"2024-05-15T04:08:32.172617Z","iopub.status.idle":"2024-05-15T04:09:24.713367Z","shell.execute_reply.started":"2024-05-15T04:08:32.17258Z","shell.execute_reply":"2024-05-15T04:09:24.71104Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# test\ntest = test_pl.to_pandas()\nprint(test.shape)\ntest.head(2)\n# (625000, 557) feature 556 cols","metadata":{"execution":{"iopub.status.busy":"2024-05-15T04:09:24.717046Z","iopub.execute_input":"2024-05-15T04:09:24.717655Z","iopub.status.idle":"2024-05-15T04:09:29.500406Z","shell.execute_reply.started":"2024-05-15T04:09:24.717606Z","shell.execute_reply":"2024-05-15T04:09:29.49838Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"%%time\nsample_size = 100000\ntrain_smp1_pl = pl.read_csv('/kaggle/input/leap-atmospheric-physics-ai-climsim/train.csv', \n                            n_rows=sample_size)\ntrain_smp1_pl.shape","metadata":{"execution":{"iopub.status.busy":"2024-05-15T04:09:29.502151Z","iopub.execute_input":"2024-05-15T04:09:29.502524Z","iopub.status.idle":"2024-05-15T04:09:39.962808Z","shell.execute_reply.started":"2024-05-15T04:09:29.502492Z","shell.execute_reply":"2024-05-15T04:09:39.961503Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# train_smp1\ntrain_smp1 = train_smp1_pl.to_pandas()\nprint(train_smp1.shape)\ntrain_smp1.head(2)","metadata":{"execution":{"iopub.status.busy":"2024-05-15T04:09:39.964353Z","iopub.execute_input":"2024-05-15T04:09:39.965358Z","iopub.status.idle":"2024-05-15T04:09:41.080979Z","shell.execute_reply.started":"2024-05-15T04:09:39.96531Z","shell.execute_reply":"2024-05-15T04:09:41.079193Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"%%time\nsample_size = 100000\ntrain_smp2_pl = pl.read_csv('/kaggle/input/leap-atmospheric-physics-ai-climsim/train.csv', \n                            skip_rows_after_header=sample_size, n_rows=sample_size)\ntrain_smp2_pl.shape","metadata":{"execution":{"iopub.status.busy":"2024-05-15T04:09:41.08263Z","iopub.execute_input":"2024-05-15T04:09:41.083308Z","iopub.status.idle":"2024-05-15T04:09:54.251998Z","shell.execute_reply.started":"2024-05-15T04:09:41.083274Z","shell.execute_reply":"2024-05-15T04:09:54.250259Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# train_smp2\ntrain_smp2 = train_smp2_pl.to_pandas()\nprint(train_smp2.shape)\ntrain_smp2.head(2)","metadata":{"execution":{"iopub.status.busy":"2024-05-15T04:09:54.257601Z","iopub.execute_input":"2024-05-15T04:09:54.258075Z","iopub.status.idle":"2024-05-15T04:09:55.360696Z","shell.execute_reply.started":"2024-05-15T04:09:54.258041Z","shell.execute_reply":"2024-05-15T04:09:55.359743Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"%%time\nsample_size = 100000\ntrain_smp3_pl = pl.read_csv('/kaggle/input/leap-atmospheric-physics-ai-climsim/train.csv', \n                            skip_rows_after_header=sample_size*2, n_rows=sample_size)\ntrain_smp3_pl.shape","metadata":{"execution":{"iopub.status.busy":"2024-05-15T04:09:55.362313Z","iopub.execute_input":"2024-05-15T04:09:55.365432Z","iopub.status.idle":"2024-05-15T04:10:10.945111Z","shell.execute_reply.started":"2024-05-15T04:09:55.365389Z","shell.execute_reply":"2024-05-15T04:10:10.943315Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# train_smp3\ntrain_smp3 = train_smp3_pl.to_pandas()\nprint(train_smp3.shape)\ntrain_smp3.head(2)","metadata":{"execution":{"iopub.status.busy":"2024-05-15T04:10:10.946626Z","iopub.execute_input":"2024-05-15T04:10:10.947033Z","iopub.status.idle":"2024-05-15T04:10:11.881006Z","shell.execute_reply.started":"2024-05-15T04:10:10.947005Z","shell.execute_reply":"2024-05-15T04:10:11.879122Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"%%time\nsample_size = 100000\ntrain_smp4_pl = pl.read_csv('/kaggle/input/leap-atmospheric-physics-ai-climsim/train.csv', \n                            skip_rows_after_header=sample_size*3, n_rows=sample_size)\ntrain_smp4_pl.shape","metadata":{"execution":{"iopub.status.busy":"2024-05-15T04:10:11.883189Z","iopub.execute_input":"2024-05-15T04:10:11.884785Z","iopub.status.idle":"2024-05-15T04:10:29.970138Z","shell.execute_reply.started":"2024-05-15T04:10:11.884729Z","shell.execute_reply":"2024-05-15T04:10:29.968876Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# train_smp4\ntrain_smp4 = train_smp4_pl.to_pandas()\nprint(train_smp4.shape)\ntrain_smp4.head(2)","metadata":{"execution":{"iopub.status.busy":"2024-05-15T04:10:29.971883Z","iopub.execute_input":"2024-05-15T04:10:29.972255Z","iopub.status.idle":"2024-05-15T04:10:31.034608Z","shell.execute_reply.started":"2024-05-15T04:10:29.972225Z","shell.execute_reply":"2024-05-15T04:10:31.03368Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train_smp1.info(), train_smp2.info(), train_smp3.info(), train_smp4.info()","metadata":{"execution":{"iopub.status.busy":"2024-05-15T04:10:31.03599Z","iopub.execute_input":"2024-05-15T04:10:31.036437Z","iopub.status.idle":"2024-05-15T04:10:31.371607Z","shell.execute_reply.started":"2024-05-15T04:10:31.036392Z","shell.execute_reply":"2024-05-15T04:10:31.370418Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# 2.  Change Data type ","metadata":{}},{"cell_type":"code","source":"# D-type change \ntest['sample_id'] = test['sample_id'].str.extract(r'(\\d+)')\ntest['sample_id'] = test['sample_id'].apply(pd.to_numeric)\ntest = test.astype('float32')\ntest.info()","metadata":{"execution":{"iopub.status.busy":"2024-05-15T04:10:31.37304Z","iopub.execute_input":"2024-05-15T04:10:31.373454Z","iopub.status.idle":"2024-05-15T04:10:43.82941Z","shell.execute_reply.started":"2024-05-15T04:10:31.373424Z","shell.execute_reply":"2024-05-15T04:10:43.826856Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"test_df = test.drop(['sample_id'], axis=1)\nprint(test_df.shape)\ntest_df.head(2)","metadata":{"execution":{"iopub.status.busy":"2024-05-15T04:10:43.83169Z","iopub.execute_input":"2024-05-15T04:10:43.832221Z","iopub.status.idle":"2024-05-15T04:10:45.897283Z","shell.execute_reply.started":"2024-05-15T04:10:43.832182Z","shell.execute_reply":"2024-05-15T04:10:45.895974Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train_smp1['sample_id'] = train_smp1['sample_id'].str.extract(r'(\\d+)')\ntrain_smp1['sample_id'] = train_smp1['sample_id'].apply(pd.to_numeric)\ntrain_smp1 = train_smp1.astype('float32')\n\ntrain_smp2['sample_id'] = train_smp2['sample_id'].str.extract(r'(\\d+)')\ntrain_smp2['sample_id'] = train_smp2['sample_id'].apply(pd.to_numeric)\ntrain_smp2 = train_smp2.astype('float32')\n\ntrain_smp3['sample_id'] = train_smp3['sample_id'].str.extract(r'(\\d+)')\ntrain_smp3['sample_id'] = train_smp3['sample_id'].apply(pd.to_numeric)\ntrain_smp3 = train_smp3.astype('float32')\n\ntrain_smp4['sample_id'] = train_smp4['sample_id'].str.extract(r'(\\d+)')\ntrain_smp4['sample_id'] = train_smp4['sample_id'].apply(pd.to_numeric)\ntrain_smp4 = train_smp4.astype('float32')\n\ntrain_smp1.info(), train_smp2.info(), train_smp3.info(), train_smp4.info()","metadata":{"execution":{"iopub.status.busy":"2024-05-15T04:10:45.899712Z","iopub.execute_input":"2024-05-15T04:10:45.900165Z","iopub.status.idle":"2024-05-15T04:10:55.051791Z","shell.execute_reply.started":"2024-05-15T04:10:45.900126Z","shell.execute_reply":"2024-05-15T04:10:55.05012Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train_smp1_df = train_smp1.drop(['sample_id'], axis=1)\ntrain_smp2_df = train_smp2.drop(['sample_id'], axis=1)\ntrain_smp3_df = train_smp3.drop(['sample_id'], axis=1)\ntrain_smp4_df = train_smp4.drop(['sample_id'], axis=1)","metadata":{"execution":{"iopub.status.busy":"2024-05-15T04:10:55.053665Z","iopub.execute_input":"2024-05-15T04:10:55.055159Z","iopub.status.idle":"2024-05-15T04:10:57.376602Z","shell.execute_reply.started":"2024-05-15T04:10:55.055109Z","shell.execute_reply":"2024-05-15T04:10:57.374851Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# 3. remove common unique columns","metadata":{}},{"cell_type":"code","source":"unique_col_test = test_df.loc[:, test_df.nunique() == 1]\nprint(len(unique_col_test.columns))\nprint(\"unique value column in test_df: \", unique_col_test.columns)","metadata":{"execution":{"iopub.status.busy":"2024-05-15T04:10:57.378629Z","iopub.execute_input":"2024-05-15T04:10:57.379192Z","iopub.status.idle":"2024-05-15T04:11:15.722476Z","shell.execute_reply.started":"2024-05-15T04:10:57.379148Z","shell.execute_reply":"2024-05-15T04:11:15.720904Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"unique_col_train = train_smp1_df.loc[:, train_smp1_df.nunique() == 1]\nprint(len(unique_col_train.columns))\nprint(\"unique value column in train_smp1_df: \", unique_col_train.columns)","metadata":{"execution":{"iopub.status.busy":"2024-05-15T04:11:15.724275Z","iopub.execute_input":"2024-05-15T04:11:15.724633Z","iopub.status.idle":"2024-05-15T04:11:19.554115Z","shell.execute_reply.started":"2024-05-15T04:11:15.724602Z","shell.execute_reply":"2024-05-15T04:11:19.552772Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# common unique columns in train and test  \ncommon_unique_col = set(unique_col_train.columns).intersection(unique_col_test.columns)\nprint(len(common_unique_col))\nprint(\"Common Unique Col:\", common_unique_col)","metadata":{"execution":{"iopub.status.busy":"2024-05-15T04:11:19.55533Z","iopub.execute_input":"2024-05-15T04:11:19.555767Z","iopub.status.idle":"2024-05-15T04:11:19.561481Z","shell.execute_reply.started":"2024-05-15T04:11:19.555727Z","shell.execute_reply":"2024-05-15T04:11:19.560346Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"test_df = test_df.drop(common_unique_col, axis=1)\nprint(test_df.shape)\ntest_df.info()\ntest_df.head(2)\n# (625000, 488)","metadata":{"execution":{"iopub.status.busy":"2024-05-15T04:11:19.563231Z","iopub.execute_input":"2024-05-15T04:11:19.563632Z","iopub.status.idle":"2024-05-15T04:11:21.47945Z","shell.execute_reply.started":"2024-05-15T04:11:19.563596Z","shell.execute_reply":"2024-05-15T04:11:21.477909Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train_smp1_df = train_smp1_df.drop(common_unique_col, axis=1)\nprint(train_smp1_df.shape)\ntrain_smp1_df.info()\ntrain_smp1_df.head(2)\n# (110000, 857)","metadata":{"execution":{"iopub.status.busy":"2024-05-15T04:11:21.481164Z","iopub.execute_input":"2024-05-15T04:11:21.481511Z","iopub.status.idle":"2024-05-15T04:11:22.19014Z","shell.execute_reply.started":"2024-05-15T04:11:21.481484Z","shell.execute_reply":"2024-05-15T04:11:22.188839Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train_smp2_df = train_smp2_df.drop(common_unique_col, axis=1)\ntrain_smp3_df = train_smp3_df.drop(common_unique_col, axis=1)\ntrain_smp4_df = train_smp4_df.drop(common_unique_col, axis=1)\ntrain_smp2_df.shape, train_smp3_df.shape, train_smp4_df.shape","metadata":{"execution":{"iopub.status.busy":"2024-05-15T04:11:22.192Z","iopub.execute_input":"2024-05-15T04:11:22.192346Z","iopub.status.idle":"2024-05-15T04:11:23.661735Z","shell.execute_reply.started":"2024-05-15T04:11:22.192319Z","shell.execute_reply":"2024-05-15T04:11:23.660359Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train_df = pd.concat([train_smp1_df, train_smp2_df, train_smp3_df, train_smp4_df], \n                     axis=0, ignore_index=True)\ntrain_df.info()","metadata":{"execution":{"iopub.status.busy":"2024-05-15T04:11:23.663632Z","iopub.execute_input":"2024-05-15T04:11:23.664235Z","iopub.status.idle":"2024-05-15T04:11:25.396924Z","shell.execute_reply.started":"2024-05-15T04:11:23.664199Z","shell.execute_reply":"2024-05-15T04:11:25.396013Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# 4. feature and target ","metadata":{}},{"cell_type":"code","source":"# target\ntarget = train_df[target_col]\nprint(target.shape)\ntarget.head(2)\n# (440000, 368)","metadata":{"execution":{"iopub.status.busy":"2024-05-15T04:11:25.398725Z","iopub.execute_input":"2024-05-15T04:11:25.399525Z","iopub.status.idle":"2024-05-15T04:11:26.310737Z","shell.execute_reply.started":"2024-05-15T04:11:25.399483Z","shell.execute_reply":"2024-05-15T04:11:26.309588Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# feature\nfeature = train_df.drop(target_col,  axis=1)\nprint(feature.shape)\nfeature.head(2)\n# (440000, 488)","metadata":{"execution":{"iopub.status.busy":"2024-05-15T04:11:26.317979Z","iopub.execute_input":"2024-05-15T04:11:26.318786Z","iopub.status.idle":"2024-05-15T04:11:27.735604Z","shell.execute_reply.started":"2024-05-15T04:11:26.31874Z","shell.execute_reply":"2024-05-15T04:11:27.732569Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# 5. feature selection with higher variation (information)","metadata":{}},{"cell_type":"code","source":"# 4. Select feature with variance higher than 0.6\nfrom sklearn.feature_selection import VarianceThreshold\n\nthresholder = VarianceThreshold(threshold=0.6)\nthresholder.fit(feature)\n\nfeature_higher_variance = thresholder.transform(feature)\ntest_higher_variance = thresholder.transform(test_df)\nfeature_higher_variance.shape, test_higher_variance.shape\n# 488 cols -> 185 cols","metadata":{"execution":{"iopub.status.busy":"2024-05-15T04:11:27.737056Z","iopub.execute_input":"2024-05-15T04:11:27.737431Z","iopub.status.idle":"2024-05-15T04:11:37.947163Z","shell.execute_reply.started":"2024-05-15T04:11:27.737392Z","shell.execute_reply":"2024-05-15T04:11:37.945803Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# 6. modeling ","metadata":{}},{"cell_type":"code","source":"target1 = target.iloc[:, 0:60]\ntarget2 = target.iloc[:, 60:120]\ntarget3 = target.iloc[:, 120:180]\ntarget4 = target.iloc[:, 180:240]\ntarget5 = target.iloc[:, 240:300]\ntarget6 = target.iloc[:, 300:360]\ntarget7 = target.iloc[:, 360:]\nprint(target7.shape)\ntarget7.head(2)","metadata":{"execution":{"iopub.status.busy":"2024-05-15T04:11:37.948603Z","iopub.execute_input":"2024-05-15T04:11:37.948973Z","iopub.status.idle":"2024-05-15T04:11:37.972781Z","shell.execute_reply.started":"2024-05-15T04:11:37.948921Z","shell.execute_reply":"2024-05-15T04:11:37.971505Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"from sklearn.model_selection import train_test_split\n\nX_train1, X_val1, y_train1, y_val1 = train_test_split(feature_higher_variance, target1, random_state=2405)\nX_train2, X_val2, y_train2, y_val2 = train_test_split(feature_higher_variance, target2, random_state=2405)\nX_train3, X_val3, y_train3, y_val3 = train_test_split(feature_higher_variance, target3, random_state=2405)\nX_train4, X_val4, y_train4, y_val4 = train_test_split(feature_higher_variance, target4, random_state=2405)\nX_train5, X_val5, y_train5, y_val5 = train_test_split(feature_higher_variance, target5, random_state=2405)\nX_train6, X_val6, y_train6, y_val6 = train_test_split(feature_higher_variance, target6, random_state=2405)\nX_train7, X_val7, y_train7, y_val7 = train_test_split(feature_higher_variance, target7, random_state=2405)\nX_train7.shape, X_val7.shape, y_train7.shape, y_val7.shape\n# ((330000, 186), (110000, 186), (330000, 8), (110000, 8))","metadata":{"execution":{"iopub.status.busy":"2024-05-15T04:11:37.974809Z","iopub.execute_input":"2024-05-15T04:11:37.975237Z","iopub.status.idle":"2024-05-15T04:11:50.854457Z","shell.execute_reply.started":"2024-05-15T04:11:37.975194Z","shell.execute_reply":"2024-05-15T04:11:50.85275Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# LGBMRegressor for 1st dataset\nfrom lightgbm import LGBMRegressor\nfrom sklearn.metrics import r2_score\n\nlgbm_models_1 = []\n\nfor i in y_train1.columns:\n    lgbm_model = LGBMRegressor(random_state=2405, verbose=-1, eval_metric = 'R2')\n    lgbm_model.fit(X_train1, y_train1[i])\n    lgbm_models_1.append(lgbm_model)\n    y_val1_pred = lgbm_model.predict(X_val1)\n    print(f\"LGBM Model for {i}, R2 Score = \", f\"{r2_score(y_val1[i], y_val1_pred):.6f}\")","metadata":{"execution":{"iopub.status.busy":"2024-05-15T04:11:50.857213Z","iopub.execute_input":"2024-05-15T04:11:50.857737Z","iopub.status.idle":"2024-05-15T05:21:48.918061Z","shell.execute_reply.started":"2024-05-15T04:11:50.857691Z","shell.execute_reply":"2024-05-15T05:21:48.915395Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# LGBMRegressor for 2nd dataset\nfrom lightgbm import LGBMRegressor\nfrom sklearn.metrics import r2_score\n\nlgbm_models_2 = []\n\nfor i in y_train2.columns:\n    lgbm_model = LGBMRegressor(random_state=2405, verbose=-1, eval_metric = 'R2')\n    lgbm_model.fit(X_train2, y_train2[i])\n    lgbm_models_2.append(lgbm_model)\n    y_val2_pred = lgbm_model.predict(X_val2)\n    print(f\"LGBM Model for {i}, R2 Score = \", f\"{r2_score(y_val2[i], y_val2_pred):.6f}\")","metadata":{"execution":{"iopub.status.busy":"2024-05-15T05:36:05.236358Z","iopub.execute_input":"2024-05-15T05:36:05.236917Z","iopub.status.idle":"2024-05-15T06:29:18.528357Z","shell.execute_reply.started":"2024-05-15T05:36:05.236884Z","shell.execute_reply":"2024-05-15T06:29:18.527053Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# LGBMRegressor for 3rd dataset\nlgbm_models_3 = []\n\nfor i in y_train3.columns:\n    lgbm_model = LGBMRegressor(random_state=2405, verbose=-1, eval_metric = 'R2')\n    lgbm_model.fit(X_train3, y_train3[i])\n    lgbm_models_3.append(lgbm_model)\n    y_val3_pred = lgbm_model.predict(X_val3)\n    print(f\"LGBM Model for {i}, R2 Score = \", f\"{r2_score(y_val3[i], y_val3_pred):.6f}\")","metadata":{"execution":{"iopub.status.busy":"2024-05-15T06:34:01.813591Z","iopub.execute_input":"2024-05-15T06:34:01.814533Z","iopub.status.idle":"2024-05-15T07:21:49.322708Z","shell.execute_reply.started":"2024-05-15T06:34:01.814459Z","shell.execute_reply":"2024-05-15T07:21:49.321135Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# LGBMRegressor for 4th dataset\nlgbm_models_4 = []\n\nfor i in y_train4.columns:\n    lgbm_model = LGBMRegressor(random_state=2405, verbose=-1, eval_metric = 'R2')\n    lgbm_model.fit(X_train4, y_train4[i])\n    lgbm_models_4.append(lgbm_model)\n    y_val4_pred = lgbm_model.predict(X_val4)\n    print(f\"LGBM Model for {i}, R2 Score = \", f\"{r2_score(y_val4[i], y_val4_pred):.6f}\")","metadata":{"execution":{"iopub.status.busy":"2024-05-15T07:21:49.324879Z","iopub.execute_input":"2024-05-15T07:21:49.325283Z","iopub.status.idle":"2024-05-15T08:09:53.577173Z","shell.execute_reply.started":"2024-05-15T07:21:49.325251Z","shell.execute_reply":"2024-05-15T08:09:53.575481Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# LGBMRegressor for 5th dataset\nlgbm_models_5 = []\n\nfor i in y_train5.columns:\n    lgbm_model = LGBMRegressor(random_state=2405, verbose=-1, eval_metric = 'R2')\n    lgbm_model.fit(X_train5, y_train5[i])\n    lgbm_models_5.append(lgbm_model)\n    y_val5_pred = lgbm_model.predict(X_val5)\n    print(f\"LGBM Model for {i}, R2 Score = \", f\"{r2_score(y_val5[i], y_val5_pred):.6f}\")","metadata":{"execution":{"iopub.status.busy":"2024-05-15T08:09:53.579157Z","iopub.execute_input":"2024-05-15T08:09:53.580005Z","iopub.status.idle":"2024-05-15T09:03:26.630349Z","shell.execute_reply.started":"2024-05-15T08:09:53.579969Z","shell.execute_reply":"2024-05-15T09:03:26.628484Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# LGBMRegressor for 6th dataset\nlgbm_models_6 = []\n\nfor i in y_train6.columns:\n    lgbm_model = LGBMRegressor(random_state=2405, verbose=-1, eval_metric = 'R2')\n    lgbm_model.fit(X_train6, y_train6[i])\n    lgbm_models_6.append(lgbm_model)\n    y_val6_pred = lgbm_model.predict(X_val6)\n    print(f\"LGBM Model for {i}, R2 Score = \", f\"{r2_score(y_val6[i], y_val6_pred):.6f}\")","metadata":{"execution":{"iopub.status.busy":"2024-05-15T09:03:26.634587Z","iopub.execute_input":"2024-05-15T09:03:26.635195Z","iopub.status.idle":"2024-05-15T10:00:36.429583Z","shell.execute_reply.started":"2024-05-15T09:03:26.635153Z","shell.execute_reply":"2024-05-15T10:00:36.427573Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# LGBMRegressor for 7th dataset\nlgbm_models_7 = []\n\nfor i in y_train7.columns:\n    lgbm_model = LGBMRegressor(random_state=2405, verbose=-1, eval_metric = 'R2')\n    lgbm_model.fit(X_train7, y_train7[i])\n    lgbm_models_7.append(lgbm_model)\n    y_val7_pred = lgbm_model.predict(X_val7)\n    print(f\"LGBM Model for {i}, R2 Score = \", f\"{r2_score(y_val7[i], y_val7_pred):.6f}\")","metadata":{"execution":{"iopub.status.busy":"2024-05-15T10:00:36.431399Z","iopub.execute_input":"2024-05-15T10:00:36.431876Z","iopub.status.idle":"2024-05-15T10:09:36.613923Z","shell.execute_reply.started":"2024-05-15T10:00:36.431833Z","shell.execute_reply":"2024-05-15T10:09:36.612514Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# 7. Submission","metadata":{}},{"cell_type":"code","source":"submission_1 = pd.DataFrame()\nsubmission_1['sample_id'] = test['sample_id']\nsubmission_1.head(2)","metadata":{"execution":{"iopub.status.busy":"2024-05-15T05:22:03.737484Z","iopub.execute_input":"2024-05-15T05:22:03.737924Z","iopub.status.idle":"2024-05-15T05:22:03.777501Z","shell.execute_reply.started":"2024-05-15T05:22:03.737894Z","shell.execute_reply":"2024-05-15T05:22:03.776342Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"submission_1 = pd.DataFrame()\nsubmission_1['sample_id'] = test['sample_id']\n\nfor i, col in enumerate(target1.columns): \n    submission_1[col] = (lgbm_models_1[i].predict(test_higher_variance))\n\nsubmission_1 = submission_1.astype('float32')\nprint(submission_1.shape)\nsubmission_1.head(2) ","metadata":{"execution":{"iopub.status.busy":"2024-05-15T05:30:42.880838Z","iopub.execute_input":"2024-05-15T05:30:42.881622Z","iopub.status.idle":"2024-05-15T05:35:43.39464Z","shell.execute_reply.started":"2024-05-15T05:30:42.881562Z","shell.execute_reply":"2024-05-15T05:35:43.393298Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"submission_2 = pd.DataFrame()\nsubmission_2['sample_id'] = test['sample_id']\n\nfor i, col in enumerate(target2.columns): \n    submission_2[col] = (lgbm_models_2[i].predict(test_higher_variance))\n\nsubmission_2 = submission_2.astype('float32')\nprint(submission_2.shape)\nsubmission_2.head(2)    ","metadata":{"execution":{"iopub.status.busy":"2024-05-15T06:29:18.530996Z","iopub.execute_input":"2024-05-15T06:29:18.531742Z","iopub.status.idle":"2024-05-15T06:33:09.719012Z","shell.execute_reply.started":"2024-05-15T06:29:18.531687Z","shell.execute_reply":"2024-05-15T06:33:09.717855Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"submission_3 = pd.DataFrame()\nsubmission_3['sample_id'] = test['sample_id']\n\nfor i, col in enumerate(target3.columns): \n    submission_3[col] = (lgbm_models_3[i].predict(test_higher_variance))\n    \nsubmission_3 = submission_3.astype('float32')\nprint(submission_3.shape)\nsubmission_3.head(2) ","metadata":{"execution":{"iopub.status.busy":"2024-05-15T10:09:36.61585Z","iopub.execute_input":"2024-05-15T10:09:36.616315Z","iopub.status.idle":"2024-05-15T10:12:53.374501Z","shell.execute_reply.started":"2024-05-15T10:09:36.616284Z","shell.execute_reply":"2024-05-15T10:12:53.372665Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"submission_4 = pd.DataFrame()\nsubmission_4['sample_id'] = test['sample_id']\n\nfor i, col in enumerate(target4.columns): \n    submission_4[col] = (lgbm_models_4[i].predict(test_higher_variance))\n    \nsubmission_4 = submission_4.astype('float32')\nprint(submission_4.shape)\nsubmission_4.head(2) ","metadata":{"execution":{"iopub.status.busy":"2024-05-15T10:12:53.379319Z","iopub.execute_input":"2024-05-15T10:12:53.380053Z","iopub.status.idle":"2024-05-15T10:16:06.385806Z","shell.execute_reply.started":"2024-05-15T10:12:53.380005Z","shell.execute_reply":"2024-05-15T10:16:06.384498Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"submission_5 = pd.DataFrame()\nsubmission_5['sample_id'] = test['sample_id']\n\nfor i, col in enumerate(target5.columns): \n    submission_5[col] = (lgbm_models_5[i].predict(test_higher_variance))\n    \nsubmission_5 = submission_5.astype('float32')\nprint(submission_5.shape)\nsubmission_5.head(2) ","metadata":{"execution":{"iopub.status.busy":"2024-05-15T10:16:06.38789Z","iopub.execute_input":"2024-05-15T10:16:06.388307Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# be stopped here\n# Your notebook tried to allocate more memory than is available. It has restarted.","metadata":{},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"submission_6 = pd.DataFrame()\nsubmission_6['sample_id'] = test['sample_id']\n\nfor i, col in enumerate(target6.columns): \n    submission_6[col] = (lgbm_models_6[i].predict(test_higher_variance))\n    \nsubmission_6 = submission_6.astype('float32')\nprint(submission_6.shape)\nsubmission_6.head(2) ","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"submission_7 = pd.DataFrame()\nsubmission_7['sample_id'] = test['sample_id']\n\nfor i, col in enumerate(target7.columns): \n    submission_7[col] = (lgbm_models_7[i].predict(test_higher_variance))\n    \nsubmission_7 = submission_7.astype('float32')\nprint(submission_7.shape)\nsubmission_7.head(2) ","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"submission = pd.merge(submission_1, submission_2, submission_3, submission_4, \n                      submission_5, submission_6, submission_7, on = 'sample_id')\nprint(submission.shape)\nsubmission.head()","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"\n","metadata":{},"execution_count":null,"outputs":[]}]}