{"metadata":{"kernelspec":{"display_name":"Python 3","language":"python","name":"python3"},"language_info":{"name":"python","version":"3.6.6","mimetype":"text/x-python","codemirror_mode":{"name":"ipython","version":3},"pygments_lexer":"ipython3","nbconvert_exporter":"python","file_extension":".py"},"kaggle":{"accelerator":"none","dataSources":[{"sourceId":10445,"databundleVersionId":200747,"sourceType":"competition"}],"dockerImageVersionId":21695,"isInternetEnabled":false,"language":"python","sourceType":"notebook","isGpuEnabled":false}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"markdown","source":"**FEEL FREE TO UPVOTE**  （＾ｖ＾）","metadata":{"_uuid":"6df55b542f152882e00385a0f73198f4e3bc4316"}},{"cell_type":"code","source":"import numpy as np\nimport pandas as pd\nimport datetime\nimport gc\nimport matplotlib.pyplot as plt\nimport seaborn as sns\nimport lightgbm as lgb\nfrom sklearn.model_selection import StratifiedKFold\nfrom sklearn.metrics import mean_squared_error\nimport warnings\nwarnings.filterwarnings('ignore')\nnp.random.seed(4590)","metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","_kg_hide-output":false,"execution":{"iopub.status.busy":"2024-05-16T10:53:45.284156Z","iopub.execute_input":"2024-05-16T10:53:45.284624Z","iopub.status.idle":"2024-05-16T10:53:46.784245Z","shell.execute_reply.started":"2024-05-16T10:53:45.284551Z","shell.execute_reply":"2024-05-16T10:53:46.782869Z"},"trusted":true},"execution_count":1,"outputs":[]},{"cell_type":"code","source":"df_train = pd.read_csv('../input/train.csv')\ndf_test = pd.read_csv('../input/test.csv')\ndf_hist_trans = pd.read_csv('../input/historical_transactions.csv')\ndf_new_merchant_trans = pd.read_csv('../input/new_merchant_transactions.csv')","metadata":{"_cell_guid":"79c7e3d0-c299-4dcb-8224-4455121ee9b0","_uuid":"d629ff2d2480ee46fbb7e2d37f6b5fab8052498a","execution":{"iopub.status.busy":"2024-05-16T10:53:53.271857Z","iopub.execute_input":"2024-05-16T10:53:53.272186Z","iopub.status.idle":"2024-05-16T10:55:58.304444Z","shell.execute_reply.started":"2024-05-16T10:53:53.272134Z","shell.execute_reply":"2024-05-16T10:55:58.303567Z"},"trusted":true},"execution_count":2,"outputs":[]},{"cell_type":"code","source":"#handle missing value\nfor df in [df_hist_trans,df_new_merchant_trans]:\n    df['category_2'].fillna(1.0,inplace=True)\n    df['category_3'].fillna('A',inplace=True)\n    df['merchant_id'].fillna('M_ID_00a6ca8a8a',inplace=True)","metadata":{"_uuid":"71f89a3b8a93b2f2feb2cd0a45f860cde33687be","execution":{"iopub.status.busy":"2024-05-16T11:01:24.600393Z","iopub.execute_input":"2024-05-16T11:01:24.60202Z","iopub.status.idle":"2024-05-16T11:01:31.526095Z","shell.execute_reply.started":"2024-05-16T11:01:24.601929Z","shell.execute_reply":"2024-05-16T11:01:31.524354Z"},"trusted":true},"execution_count":3,"outputs":[]},{"cell_type":"code","source":"def get_new_columns(name,aggs):\n    return [name + '_' + k + '_' + agg for k in aggs.keys() for agg in aggs[k]]","metadata":{"_uuid":"dda90662d05e22310dd713df106ea07f4b8bccfc","execution":{"iopub.status.busy":"2024-05-16T11:04:58.664106Z","iopub.execute_input":"2024-05-16T11:04:58.665054Z","iopub.status.idle":"2024-05-16T11:04:58.670874Z","shell.execute_reply.started":"2024-05-16T11:04:58.664516Z","shell.execute_reply":"2024-05-16T11:04:58.670106Z"},"trusted":true},"execution_count":4,"outputs":[]},{"cell_type":"code","source":"for df in [df_hist_trans,df_new_merchant_trans]:\n    df['purchase_date'] = pd.to_datetime(df['purchase_date'])\n    df['year'] = df['purchase_date'].dt.year\n    df['weekofyear'] = df['purchase_date'].dt.weekofyear\n    df['month'] = df['purchase_date'].dt.month\n    df['dayofweek'] = df['purchase_date'].dt.dayofweek\n    df['weekend'] = (df.purchase_date.dt.weekday >=5).astype(int)\n    df['hour'] = df['purchase_date'].dt.hour\n    df['authorized_flag'] = df['authorized_flag'].map({'Y':1, 'N':0})\n    df['category_1'] = df['category_1'].map({'Y':1, 'N':0}) \n    #https://www.kaggle.com/c/elo-merchant-category-recommendation/discussion/73244\n    df['month_diff'] = ((datetime.datetime.today() - df['purchase_date']).dt.days)//30\n    df['month_diff'] += df['month_lag']","metadata":{"_uuid":"690ba01a38f524e9345b419200f588f937bc067a","execution":{"iopub.status.busy":"2024-05-16T11:06:26.187096Z","iopub.execute_input":"2024-05-16T11:06:26.187547Z","iopub.status.idle":"2024-05-16T11:07:05.487397Z","shell.execute_reply.started":"2024-05-16T11:06:26.187465Z","shell.execute_reply":"2024-05-16T11:07:05.486132Z"},"trusted":true},"execution_count":7,"outputs":[]},{"cell_type":"code","source":"aggs = {}\nfor col in ['month','hour','weekofyear','dayofweek','year','subsector_id','merchant_id','merchant_category_id']:\n    aggs[col] = ['nunique']\n\naggs['purchase_amount'] = ['sum','max','min','mean','var']\naggs['installments'] = ['sum','max','min','mean','var']\naggs['purchase_date'] = ['max','min']\naggs['month_lag'] = ['max','min','mean','var']\naggs['month_diff'] = ['mean']\naggs['authorized_flag'] = ['sum', 'mean']\naggs['weekend'] = ['sum', 'mean']\naggs['category_1'] = ['sum', 'mean']\naggs['card_id'] = ['size']\n\nfor col in ['category_2','category_3']:\n    df_hist_trans[col+'_mean'] = df_hist_trans.groupby([col])['purchase_amount'].transform('mean')\n    aggs[col+'_mean'] = ['mean']    \n\nnew_columns = get_new_columns('hist',aggs)\ndf_hist_trans_group = df_hist_trans.groupby('card_id').agg(aggs)\ndf_hist_trans_group.columns = new_columns\ndf_hist_trans_group.reset_index(drop=False,inplace=True)\ndf_hist_trans_group['hist_purchase_date_diff'] = (df_hist_trans_group['hist_purchase_date_max'] - df_hist_trans_group['hist_purchase_date_min']).dt.days\ndf_hist_trans_group['hist_purchase_date_average'] = df_hist_trans_group['hist_purchase_date_diff']/df_hist_trans_group['hist_card_id_size']\ndf_hist_trans_group['hist_purchase_date_uptonow'] = (datetime.datetime.today() - df_hist_trans_group['hist_purchase_date_max']).dt.days\ndf_train = df_train.merge(df_hist_trans_group,on='card_id',how='left')\ndf_test = df_test.merge(df_hist_trans_group,on='card_id',how='left')\ndel df_hist_trans_group;gc.collect()","metadata":{"_uuid":"ddf1d5bb0ade2b22b0f072c208c1506ea64503ea","execution":{"iopub.status.busy":"2024-05-16T11:09:40.154475Z","iopub.execute_input":"2024-05-16T11:09:40.154931Z","iopub.status.idle":"2024-05-16T11:17:03.080526Z","shell.execute_reply.started":"2024-05-16T11:09:40.154858Z","shell.execute_reply":"2024-05-16T11:17:03.079525Z"},"trusted":true},"execution_count":8,"outputs":[{"execution_count":8,"output_type":"execute_result","data":{"text/plain":"28"},"metadata":{}}]},{"cell_type":"code","source":"aggs = {}\nfor col in ['month','hour','weekofyear','dayofweek','year','subsector_id','merchant_id','merchant_category_id']:\n    aggs[col] = ['nunique']\naggs['purchase_amount'] = ['sum','max','min','mean','var']\naggs['installments'] = ['sum','max','min','mean','var']\naggs['purchase_date'] = ['max','min']\naggs['month_lag'] = ['max','min','mean','var']\naggs['month_diff'] = ['mean']\naggs['weekend'] = ['sum', 'mean']\naggs['category_1'] = ['sum', 'mean']\naggs['card_id'] = ['size']\n\nfor col in ['category_2','category_3']:\n    df_new_merchant_trans[col+'_mean'] = df_new_merchant_trans.groupby([col])['purchase_amount'].transform('mean')\n    aggs[col+'_mean'] = ['mean']\n    \nnew_columns = get_new_columns('new_hist',aggs)\ndf_hist_trans_group = df_new_merchant_trans.groupby('card_id').agg(aggs)\ndf_hist_trans_group.columns = new_columns\ndf_hist_trans_group.reset_index(drop=False,inplace=True)\ndf_hist_trans_group['new_hist_purchase_date_diff'] = (df_hist_trans_group['new_hist_purchase_date_max'] - df_hist_trans_group['new_hist_purchase_date_min']).dt.days\ndf_hist_trans_group['new_hist_purchase_date_average'] = df_hist_trans_group['new_hist_purchase_date_diff']/df_hist_trans_group['new_hist_card_id_size']\ndf_hist_trans_group['new_hist_purchase_date_uptonow'] = (datetime.datetime.today() - df_hist_trans_group['new_hist_purchase_date_max']).dt.days\ndf_train = df_train.merge(df_hist_trans_group,on='card_id',how='left')\ndf_test = df_test.merge(df_hist_trans_group,on='card_id',how='left')\ndel df_hist_trans_group;gc.collect()","metadata":{"_uuid":"f7f5625db40db4395374991124fb796c9decd60b","execution":{"iopub.status.busy":"2024-05-15T10:56:18.050112Z","iopub.execute_input":"2024-05-15T10:56:18.050586Z","iopub.status.idle":"2024-05-15T10:56:43.661603Z","shell.execute_reply.started":"2024-05-15T10:56:18.050518Z","shell.execute_reply":"2024-05-15T10:56:43.660511Z"},"trusted":true},"execution_count":44,"outputs":[{"execution_count":44,"output_type":"execute_result","data":{"text/plain":"28"},"metadata":{}}]},{"cell_type":"code","source":"del df_hist_trans;gc.collect()\ndel df_new_merchant_trans;gc.collect()\ndf_train.head(5)","metadata":{"_uuid":"a075cc90ab1322829e4fad3ff39fce307c5db93c","execution":{"iopub.status.busy":"2024-05-15T10:57:03.653593Z","iopub.execute_input":"2024-05-15T10:57:03.654335Z","iopub.status.idle":"2024-05-15T10:57:05.142286Z","shell.execute_reply.started":"2024-05-15T10:57:03.65397Z","shell.execute_reply":"2024-05-15T10:57:05.140845Z"},"trusted":true},"execution_count":45,"outputs":[{"execution_count":45,"output_type":"execute_result","data":{"text/plain":"  first_active_month              ...               new_hist_purchase_date_uptonow\n0            2017-06              ...                                       2207.0\n1            2017-01              ...                                       2238.0\n2            2016-08              ...                                       2208.0\n3            2017-09              ...                                       2218.0\n4            2017-11              ...                                       2208.0\n\n[5 rows x 78 columns]","text/html":"<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>first_active_month</th>\n      <th>card_id</th>\n      <th>feature_1</th>\n      <th>feature_2</th>\n      <th>feature_3</th>\n      <th>target</th>\n      <th>hist_month_nunique</th>\n      <th>hist_hour_nunique</th>\n      <th>hist_weekofyear_nunique</th>\n      <th>hist_dayofweek_nunique</th>\n      <th>hist_year_nunique</th>\n      <th>hist_subsector_id_nunique</th>\n      <th>hist_merchant_id_nunique</th>\n      <th>hist_merchant_category_id_nunique</th>\n      <th>hist_purchase_amount_sum</th>\n      <th>hist_purchase_amount_max</th>\n      <th>hist_purchase_amount_min</th>\n      <th>hist_purchase_amount_mean</th>\n      <th>hist_purchase_amount_var</th>\n      <th>hist_installments_sum</th>\n      <th>hist_installments_max</th>\n      <th>hist_installments_min</th>\n      <th>hist_installments_mean</th>\n      <th>hist_installments_var</th>\n      <th>hist_purchase_date_max</th>\n      <th>hist_purchase_date_min</th>\n      <th>hist_month_lag_max</th>\n      <th>hist_month_lag_min</th>\n      <th>hist_month_lag_mean</th>\n      <th>hist_month_lag_var</th>\n      <th>hist_month_diff_mean</th>\n      <th>hist_authorized_flag_sum</th>\n      <th>hist_authorized_flag_mean</th>\n      <th>hist_weekend_sum</th>\n      <th>hist_weekend_mean</th>\n      <th>hist_category_1_sum</th>\n      <th>hist_category_1_mean</th>\n      <th>hist_card_id_size</th>\n      <th>hist_category_2_mean_mean</th>\n      <th>hist_category_3_mean_mean</th>\n      <th>hist_purchase_date_diff</th>\n      <th>hist_purchase_date_average</th>\n      <th>hist_purchase_date_uptonow</th>\n      <th>new_hist_month_nunique</th>\n      <th>new_hist_hour_nunique</th>\n      <th>new_hist_weekofyear_nunique</th>\n      <th>new_hist_dayofweek_nunique</th>\n      <th>new_hist_year_nunique</th>\n      <th>new_hist_subsector_id_nunique</th>\n      <th>new_hist_merchant_id_nunique</th>\n      <th>new_hist_merchant_category_id_nunique</th>\n      <th>new_hist_purchase_amount_sum</th>\n      <th>new_hist_purchase_amount_max</th>\n      <th>new_hist_purchase_amount_min</th>\n      <th>new_hist_purchase_amount_mean</th>\n      <th>new_hist_purchase_amount_var</th>\n      <th>new_hist_installments_sum</th>\n      <th>new_hist_installments_max</th>\n      <th>new_hist_installments_min</th>\n      <th>new_hist_installments_mean</th>\n      <th>new_hist_installments_var</th>\n      <th>new_hist_purchase_date_max</th>\n      <th>new_hist_purchase_date_min</th>\n      <th>new_hist_month_lag_max</th>\n      <th>new_hist_month_lag_min</th>\n      <th>new_hist_month_lag_mean</th>\n      <th>new_hist_month_lag_var</th>\n      <th>new_hist_month_diff_mean</th>\n      <th>new_hist_weekend_sum</th>\n      <th>new_hist_weekend_mean</th>\n      <th>new_hist_category_1_sum</th>\n      <th>new_hist_category_1_mean</th>\n      <th>new_hist_card_id_size</th>\n      <th>new_hist_category_2_mean_mean</th>\n      <th>new_hist_category_3_mean_mean</th>\n      <th>new_hist_purchase_date_diff</th>\n      <th>new_hist_purchase_date_average</th>\n      <th>new_hist_purchase_date_uptonow</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>2017-06</td>\n      <td>C_ID_92a2005557</td>\n      <td>5</td>\n      <td>2</td>\n      <td>1</td>\n      <td>-0.820283</td>\n      <td>9</td>\n      <td>23</td>\n      <td>35</td>\n      <td>7</td>\n      <td>2</td>\n      <td>21</td>\n      <td>94</td>\n      <td>41</td>\n      <td>-165.968739</td>\n      <td>2.258395</td>\n      <td>-0.739395</td>\n      <td>-0.638341</td>\n      <td>0.045003</td>\n      <td>4</td>\n      <td>1</td>\n      <td>0</td>\n      <td>0.015385</td>\n      <td>0.015206</td>\n      <td>2018-02-25 09:31:15</td>\n      <td>2017-06-27 14:18:08</td>\n      <td>0</td>\n      <td>-8</td>\n      <td>-3.911538</td>\n      <td>5.748901</td>\n      <td>75.623077</td>\n      <td>247</td>\n      <td>0.950000</td>\n      <td>90</td>\n      <td>0.346154</td>\n      <td>0</td>\n      <td>0.000000</td>\n      <td>260</td>\n      <td>0.072502</td>\n      <td>0.346719</td>\n      <td>242</td>\n      <td>0.930769</td>\n      <td>2271</td>\n      <td>2.0</td>\n      <td>8.0</td>\n      <td>7.0</td>\n      <td>7.0</td>\n      <td>1.0</td>\n      <td>10.0</td>\n      <td>23.0</td>\n      <td>14.0</td>\n      <td>-13.244202</td>\n      <td>-0.296112</td>\n      <td>-0.724368</td>\n      <td>-0.575835</td>\n      <td>0.018445</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0.000000</td>\n      <td>0.000000</td>\n      <td>2018-04-29 11:23:05</td>\n      <td>2018-03-05 14:04:36</td>\n      <td>2.0</td>\n      <td>1.0</td>\n      <td>1.478261</td>\n      <td>0.260870</td>\n      <td>75.565217</td>\n      <td>6.0</td>\n      <td>0.260870</td>\n      <td>0.0</td>\n      <td>0.000000</td>\n      <td>23.0</td>\n      <td>-0.550160</td>\n      <td>-0.592993</td>\n      <td>54.0</td>\n      <td>2.347826</td>\n      <td>2207.0</td>\n    </tr>\n    <tr>\n      <th>1</th>\n      <td>2017-01</td>\n      <td>C_ID_3d0044924f</td>\n      <td>4</td>\n      <td>1</td>\n      <td>0</td>\n      <td>0.392913</td>\n      <td>12</td>\n      <td>24</td>\n      <td>50</td>\n      <td>7</td>\n      <td>2</td>\n      <td>24</td>\n      <td>142</td>\n      <td>57</td>\n      <td>-210.006336</td>\n      <td>4.630299</td>\n      <td>-0.742400</td>\n      <td>-0.600018</td>\n      <td>0.148200</td>\n      <td>543</td>\n      <td>10</td>\n      <td>-1</td>\n      <td>1.551429</td>\n      <td>2.282448</td>\n      <td>2018-01-31 22:31:09</td>\n      <td>2017-01-06 16:29:42</td>\n      <td>0</td>\n      <td>-12</td>\n      <td>-5.031429</td>\n      <td>14.477519</td>\n      <td>76.580000</td>\n      <td>339</td>\n      <td>0.968571</td>\n      <td>132</td>\n      <td>0.377143</td>\n      <td>31</td>\n      <td>0.088571</td>\n      <td>350</td>\n      <td>0.074568</td>\n      <td>-0.295163</td>\n      <td>390</td>\n      <td>1.114286</td>\n      <td>2295</td>\n      <td>2.0</td>\n      <td>5.0</td>\n      <td>4.0</td>\n      <td>4.0</td>\n      <td>1.0</td>\n      <td>4.0</td>\n      <td>6.0</td>\n      <td>5.0</td>\n      <td>-4.355735</td>\n      <td>-0.701858</td>\n      <td>-0.739410</td>\n      <td>-0.725956</td>\n      <td>0.000205</td>\n      <td>6.0</td>\n      <td>1.0</td>\n      <td>1.0</td>\n      <td>1.000000</td>\n      <td>0.000000</td>\n      <td>2018-03-30 06:48:26</td>\n      <td>2018-02-01 17:07:54</td>\n      <td>2.0</td>\n      <td>1.0</td>\n      <td>1.500000</td>\n      <td>0.300000</td>\n      <td>76.500000</td>\n      <td>0.0</td>\n      <td>0.000000</td>\n      <td>0.0</td>\n      <td>0.000000</td>\n      <td>6.0</td>\n      <td>-0.550160</td>\n      <td>-0.606486</td>\n      <td>56.0</td>\n      <td>9.333333</td>\n      <td>2238.0</td>\n    </tr>\n    <tr>\n      <th>2</th>\n      <td>2016-08</td>\n      <td>C_ID_d639edf6cd</td>\n      <td>2</td>\n      <td>2</td>\n      <td>0</td>\n      <td>0.688056</td>\n      <td>10</td>\n      <td>14</td>\n      <td>22</td>\n      <td>7</td>\n      <td>2</td>\n      <td>7</td>\n      <td>13</td>\n      <td>8</td>\n      <td>-29.167391</td>\n      <td>-0.145847</td>\n      <td>-0.730138</td>\n      <td>-0.678311</td>\n      <td>0.007635</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0.000000</td>\n      <td>0.000000</td>\n      <td>2018-02-27 19:08:25</td>\n      <td>2017-01-11 08:21:22</td>\n      <td>0</td>\n      <td>-13</td>\n      <td>-8.604651</td>\n      <td>14.768549</td>\n      <td>75.488372</td>\n      <td>41</td>\n      <td>0.953488</td>\n      <td>11</td>\n      <td>0.255814</td>\n      <td>0</td>\n      <td>0.000000</td>\n      <td>43</td>\n      <td>-0.087803</td>\n      <td>0.358458</td>\n      <td>412</td>\n      <td>9.581395</td>\n      <td>2268</td>\n      <td>1.0</td>\n      <td>1.0</td>\n      <td>1.0</td>\n      <td>1.0</td>\n      <td>1.0</td>\n      <td>1.0</td>\n      <td>1.0</td>\n      <td>1.0</td>\n      <td>-0.700326</td>\n      <td>-0.700326</td>\n      <td>-0.700326</td>\n      <td>-0.700326</td>\n      <td>NaN</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0.000000</td>\n      <td>NaN</td>\n      <td>2018-04-28 17:43:11</td>\n      <td>2018-04-28 17:43:11</td>\n      <td>2.0</td>\n      <td>2.0</td>\n      <td>2.000000</td>\n      <td>NaN</td>\n      <td>75.000000</td>\n      <td>1.0</td>\n      <td>1.000000</td>\n      <td>0.0</td>\n      <td>0.000000</td>\n      <td>1.0</td>\n      <td>-0.549015</td>\n      <td>-0.592993</td>\n      <td>0.0</td>\n      <td>0.000000</td>\n      <td>2208.0</td>\n    </tr>\n    <tr>\n      <th>3</th>\n      <td>2017-09</td>\n      <td>C_ID_186d6a6901</td>\n      <td>4</td>\n      <td>3</td>\n      <td>0</td>\n      <td>0.142495</td>\n      <td>6</td>\n      <td>16</td>\n      <td>20</td>\n      <td>7</td>\n      <td>2</td>\n      <td>13</td>\n      <td>50</td>\n      <td>25</td>\n      <td>-49.491364</td>\n      <td>1.445596</td>\n      <td>-0.740897</td>\n      <td>-0.642745</td>\n      <td>0.068447</td>\n      <td>84</td>\n      <td>3</td>\n      <td>-1</td>\n      <td>1.090909</td>\n      <td>0.346890</td>\n      <td>2018-02-28 11:44:40</td>\n      <td>2017-09-26 16:22:21</td>\n      <td>0</td>\n      <td>-5</td>\n      <td>-2.831169</td>\n      <td>3.247437</td>\n      <td>75.519481</td>\n      <td>77</td>\n      <td>1.000000</td>\n      <td>11</td>\n      <td>0.142857</td>\n      <td>12</td>\n      <td>0.155844</td>\n      <td>77</td>\n      <td>-0.086166</td>\n      <td>-0.338321</td>\n      <td>154</td>\n      <td>2.000000</td>\n      <td>2267</td>\n      <td>2.0</td>\n      <td>5.0</td>\n      <td>5.0</td>\n      <td>4.0</td>\n      <td>1.0</td>\n      <td>5.0</td>\n      <td>7.0</td>\n      <td>6.0</td>\n      <td>-4.654372</td>\n      <td>-0.566740</td>\n      <td>-0.734135</td>\n      <td>-0.664910</td>\n      <td>0.004340</td>\n      <td>5.0</td>\n      <td>1.0</td>\n      <td>-1.0</td>\n      <td>0.714286</td>\n      <td>0.571429</td>\n      <td>2018-04-18 11:00:11</td>\n      <td>2018-03-07 11:55:06</td>\n      <td>2.0</td>\n      <td>1.0</td>\n      <td>1.714286</td>\n      <td>0.238095</td>\n      <td>75.714286</td>\n      <td>3.0</td>\n      <td>0.428571</td>\n      <td>1.0</td>\n      <td>0.142857</td>\n      <td>7.0</td>\n      <td>-0.556518</td>\n      <td>-0.604559</td>\n      <td>41.0</td>\n      <td>5.857143</td>\n      <td>2218.0</td>\n    </tr>\n    <tr>\n      <th>4</th>\n      <td>2017-11</td>\n      <td>C_ID_cdbd2c0db2</td>\n      <td>1</td>\n      <td>3</td>\n      <td>0</td>\n      <td>-0.159749</td>\n      <td>4</td>\n      <td>22</td>\n      <td>17</td>\n      <td>7</td>\n      <td>2</td>\n      <td>17</td>\n      <td>66</td>\n      <td>26</td>\n      <td>-48.687656</td>\n      <td>7.193041</td>\n      <td>-0.746156</td>\n      <td>-0.366073</td>\n      <td>1.828160</td>\n      <td>182</td>\n      <td>12</td>\n      <td>1</td>\n      <td>1.368421</td>\n      <td>3.598086</td>\n      <td>2018-02-28 20:40:41</td>\n      <td>2017-11-12 00:00:00</td>\n      <td>0</td>\n      <td>-3</td>\n      <td>-1.285714</td>\n      <td>1.054113</td>\n      <td>75.556391</td>\n      <td>128</td>\n      <td>0.962406</td>\n      <td>42</td>\n      <td>0.315789</td>\n      <td>15</td>\n      <td>0.112782</td>\n      <td>133</td>\n      <td>-0.114647</td>\n      <td>-0.377684</td>\n      <td>108</td>\n      <td>0.812030</td>\n      <td>2267</td>\n      <td>2.0</td>\n      <td>14.0</td>\n      <td>8.0</td>\n      <td>7.0</td>\n      <td>1.0</td>\n      <td>10.0</td>\n      <td>36.0</td>\n      <td>17.0</td>\n      <td>-19.926237</td>\n      <td>0.450886</td>\n      <td>-0.739395</td>\n      <td>-0.553507</td>\n      <td>0.050096</td>\n      <td>35.0</td>\n      <td>2.0</td>\n      <td>-1.0</td>\n      <td>0.972222</td>\n      <td>0.142063</td>\n      <td>2018-04-28 18:50:25</td>\n      <td>2018-03-02 11:55:43</td>\n      <td>2.0</td>\n      <td>1.0</td>\n      <td>1.555556</td>\n      <td>0.253968</td>\n      <td>75.638889</td>\n      <td>12.0</td>\n      <td>0.333333</td>\n      <td>2.0</td>\n      <td>0.055556</td>\n      <td>36.0</td>\n      <td>-0.555446</td>\n      <td>-0.588217</td>\n      <td>57.0</td>\n      <td>1.583333</td>\n      <td>2208.0</td>\n    </tr>\n  </tbody>\n</table>\n</div>"},"metadata":{}}]},{"cell_type":"code","source":"df_train['outliers'] = 0\ndf_train.loc[df_train['target'] < -30, 'outliers'] = 1\ndf_train['outliers'].value_counts()","metadata":{"_uuid":"6f3182aeac0c3bf7a061a1b9e25e859f25fee9b5","execution":{"iopub.status.busy":"2024-05-15T10:57:09.170947Z","iopub.execute_input":"2024-05-15T10:57:09.171479Z","iopub.status.idle":"2024-05-15T10:57:09.32583Z","shell.execute_reply.started":"2024-05-15T10:57:09.171368Z","shell.execute_reply":"2024-05-15T10:57:09.324728Z"},"trusted":true},"execution_count":46,"outputs":[{"execution_count":46,"output_type":"execute_result","data":{"text/plain":"0    199710\n1      2207\nName: outliers, dtype: int64"},"metadata":{}}]},{"cell_type":"code","source":"for df in [df_train,df_test]:\n    df['first_active_month'] = pd.to_datetime(df['first_active_month'])\n    df['dayofweek'] = df['first_active_month'].dt.dayofweek\n    df['weekofyear'] = df['first_active_month'].dt.weekofyear\n    df['month'] = df['first_active_month'].dt.month\n    df['elapsed_time'] = (datetime.datetime.today() - df['first_active_month']).dt.days\n    df['hist_first_buy'] = (df['hist_purchase_date_min'] - df['first_active_month']).dt.days\n    df['new_hist_first_buy'] = (df['new_hist_purchase_date_min'] - df['first_active_month']).dt.days\n    for f in ['hist_purchase_date_max','hist_purchase_date_min','new_hist_purchase_date_max',\\\n                     'new_hist_purchase_date_min']:\n        df[f] = df[f].astype(np.int64) * 1e-9\n    df['card_id_total'] = df['new_hist_card_id_size']+df['hist_card_id_size']\n    df['purchase_amount_total'] = df['new_hist_purchase_amount_sum']+df['hist_purchase_amount_sum']\n\nfor f in ['feature_1','feature_2','feature_3']:\n    order_label = df_train.groupby([f])['outliers'].mean()\n    df_train[f] = df_train[f].map(order_label)\n    df_test[f] = df_test[f].map(order_label)\n","metadata":{"_uuid":"ce2082fc1fb0e3f8f7d27fc166aa7a8351b65504","execution":{"iopub.status.busy":"2024-05-15T10:57:17.514527Z","iopub.execute_input":"2024-05-15T10:57:17.514916Z","iopub.status.idle":"2024-05-15T10:57:18.328736Z","shell.execute_reply.started":"2024-05-15T10:57:17.51486Z","shell.execute_reply":"2024-05-15T10:57:18.325805Z"},"trusted":true},"execution_count":47,"outputs":[]},{"cell_type":"code","source":"df_train_columns = [c for c in df_train.columns if c not in ['card_id', 'first_active_month','target','outliers']]\ntarget = df_train['target']\ndel df_train['target']","metadata":{"_uuid":"c4f20f27679889542acfd60d1f1ac381b201ac43","execution":{"iopub.status.busy":"2024-05-15T10:57:21.650719Z","iopub.execute_input":"2024-05-15T10:57:21.651787Z","iopub.status.idle":"2024-05-15T10:57:21.706206Z","shell.execute_reply.started":"2024-05-15T10:57:21.65172Z","shell.execute_reply":"2024-05-15T10:57:21.704627Z"},"trusted":true},"execution_count":48,"outputs":[]},{"cell_type":"code","source":"df_train.head()","metadata":{"execution":{"iopub.status.busy":"2024-05-15T10:57:23.524477Z","iopub.execute_input":"2024-05-15T10:57:23.525361Z","iopub.status.idle":"2024-05-15T10:57:23.995001Z","shell.execute_reply.started":"2024-05-15T10:57:23.525224Z","shell.execute_reply":"2024-05-15T10:57:23.991358Z"},"trusted":true},"execution_count":49,"outputs":[{"execution_count":49,"output_type":"execute_result","data":{"text/plain":"  first_active_month          ...          purchase_amount_total\n0         2017-06-01          ...                    -179.212942\n1         2017-01-01          ...                    -214.362071\n2         2016-08-01          ...                     -29.867717\n3         2017-09-01          ...                     -54.145736\n4         2017-11-01          ...                     -68.613893\n\n[5 rows x 86 columns]","text/html":"<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>first_active_month</th>\n      <th>card_id</th>\n      <th>feature_1</th>\n      <th>feature_2</th>\n      <th>feature_3</th>\n      <th>hist_month_nunique</th>\n      <th>hist_hour_nunique</th>\n      <th>hist_weekofyear_nunique</th>\n      <th>hist_dayofweek_nunique</th>\n      <th>hist_year_nunique</th>\n      <th>hist_subsector_id_nunique</th>\n      <th>hist_merchant_id_nunique</th>\n      <th>hist_merchant_category_id_nunique</th>\n      <th>hist_purchase_amount_sum</th>\n      <th>hist_purchase_amount_max</th>\n      <th>hist_purchase_amount_min</th>\n      <th>hist_purchase_amount_mean</th>\n      <th>hist_purchase_amount_var</th>\n      <th>hist_installments_sum</th>\n      <th>hist_installments_max</th>\n      <th>hist_installments_min</th>\n      <th>hist_installments_mean</th>\n      <th>hist_installments_var</th>\n      <th>hist_purchase_date_max</th>\n      <th>hist_purchase_date_min</th>\n      <th>hist_month_lag_max</th>\n      <th>hist_month_lag_min</th>\n      <th>hist_month_lag_mean</th>\n      <th>hist_month_lag_var</th>\n      <th>hist_month_diff_mean</th>\n      <th>hist_authorized_flag_sum</th>\n      <th>hist_authorized_flag_mean</th>\n      <th>hist_weekend_sum</th>\n      <th>hist_weekend_mean</th>\n      <th>hist_category_1_sum</th>\n      <th>hist_category_1_mean</th>\n      <th>hist_card_id_size</th>\n      <th>hist_category_2_mean_mean</th>\n      <th>hist_category_3_mean_mean</th>\n      <th>hist_purchase_date_diff</th>\n      <th>...</th>\n      <th>new_hist_year_nunique</th>\n      <th>new_hist_subsector_id_nunique</th>\n      <th>new_hist_merchant_id_nunique</th>\n      <th>new_hist_merchant_category_id_nunique</th>\n      <th>new_hist_purchase_amount_sum</th>\n      <th>new_hist_purchase_amount_max</th>\n      <th>new_hist_purchase_amount_min</th>\n      <th>new_hist_purchase_amount_mean</th>\n      <th>new_hist_purchase_amount_var</th>\n      <th>new_hist_installments_sum</th>\n      <th>new_hist_installments_max</th>\n      <th>new_hist_installments_min</th>\n      <th>new_hist_installments_mean</th>\n      <th>new_hist_installments_var</th>\n      <th>new_hist_purchase_date_max</th>\n      <th>new_hist_purchase_date_min</th>\n      <th>new_hist_month_lag_max</th>\n      <th>new_hist_month_lag_min</th>\n      <th>new_hist_month_lag_mean</th>\n      <th>new_hist_month_lag_var</th>\n      <th>new_hist_month_diff_mean</th>\n      <th>new_hist_weekend_sum</th>\n      <th>new_hist_weekend_mean</th>\n      <th>new_hist_category_1_sum</th>\n      <th>new_hist_category_1_mean</th>\n      <th>new_hist_card_id_size</th>\n      <th>new_hist_category_2_mean_mean</th>\n      <th>new_hist_category_3_mean_mean</th>\n      <th>new_hist_purchase_date_diff</th>\n      <th>new_hist_purchase_date_average</th>\n      <th>new_hist_purchase_date_uptonow</th>\n      <th>outliers</th>\n      <th>dayofweek</th>\n      <th>weekofyear</th>\n      <th>month</th>\n      <th>elapsed_time</th>\n      <th>hist_first_buy</th>\n      <th>new_hist_first_buy</th>\n      <th>card_id_total</th>\n      <th>purchase_amount_total</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>2017-06-01</td>\n      <td>C_ID_92a2005557</td>\n      <td>0.013145</td>\n      <td>0.008752</td>\n      <td>0.011428</td>\n      <td>9</td>\n      <td>23</td>\n      <td>35</td>\n      <td>7</td>\n      <td>2</td>\n      <td>21</td>\n      <td>94</td>\n      <td>41</td>\n      <td>-165.968739</td>\n      <td>2.258395</td>\n      <td>-0.739395</td>\n      <td>-0.638341</td>\n      <td>0.045003</td>\n      <td>4</td>\n      <td>1</td>\n      <td>0</td>\n      <td>0.015385</td>\n      <td>0.015206</td>\n      <td>1.519551e+09</td>\n      <td>1.498573e+09</td>\n      <td>0</td>\n      <td>-8</td>\n      <td>-3.911538</td>\n      <td>5.748901</td>\n      <td>75.623077</td>\n      <td>247</td>\n      <td>0.950000</td>\n      <td>90</td>\n      <td>0.346154</td>\n      <td>0</td>\n      <td>0.000000</td>\n      <td>260</td>\n      <td>0.072502</td>\n      <td>0.346719</td>\n      <td>242</td>\n      <td>...</td>\n      <td>1.0</td>\n      <td>10.0</td>\n      <td>23.0</td>\n      <td>14.0</td>\n      <td>-13.244202</td>\n      <td>-0.296112</td>\n      <td>-0.724368</td>\n      <td>-0.575835</td>\n      <td>0.018445</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0.000000</td>\n      <td>0.000000</td>\n      <td>1.525001e+09</td>\n      <td>1.520259e+09</td>\n      <td>2.0</td>\n      <td>1.0</td>\n      <td>1.478261</td>\n      <td>0.260870</td>\n      <td>75.565217</td>\n      <td>6.0</td>\n      <td>0.260870</td>\n      <td>0.0</td>\n      <td>0.000000</td>\n      <td>23.0</td>\n      <td>-0.550160</td>\n      <td>-0.592993</td>\n      <td>54.0</td>\n      <td>2.347826</td>\n      <td>2207.0</td>\n      <td>0</td>\n      <td>3</td>\n      <td>22</td>\n      <td>6</td>\n      <td>2540</td>\n      <td>26</td>\n      <td>277.0</td>\n      <td>283.0</td>\n      <td>-179.212942</td>\n    </tr>\n    <tr>\n      <th>1</th>\n      <td>2017-01-01</td>\n      <td>C_ID_3d0044924f</td>\n      <td>0.010712</td>\n      <td>0.011385</td>\n      <td>0.010283</td>\n      <td>12</td>\n      <td>24</td>\n      <td>50</td>\n      <td>7</td>\n      <td>2</td>\n      <td>24</td>\n      <td>142</td>\n      <td>57</td>\n      <td>-210.006336</td>\n      <td>4.630299</td>\n      <td>-0.742400</td>\n      <td>-0.600018</td>\n      <td>0.148200</td>\n      <td>543</td>\n      <td>10</td>\n      <td>-1</td>\n      <td>1.551429</td>\n      <td>2.282448</td>\n      <td>1.517438e+09</td>\n      <td>1.483720e+09</td>\n      <td>0</td>\n      <td>-12</td>\n      <td>-5.031429</td>\n      <td>14.477519</td>\n      <td>76.580000</td>\n      <td>339</td>\n      <td>0.968571</td>\n      <td>132</td>\n      <td>0.377143</td>\n      <td>31</td>\n      <td>0.088571</td>\n      <td>350</td>\n      <td>0.074568</td>\n      <td>-0.295163</td>\n      <td>390</td>\n      <td>...</td>\n      <td>1.0</td>\n      <td>4.0</td>\n      <td>6.0</td>\n      <td>5.0</td>\n      <td>-4.355735</td>\n      <td>-0.701858</td>\n      <td>-0.739410</td>\n      <td>-0.725956</td>\n      <td>0.000205</td>\n      <td>6.0</td>\n      <td>1.0</td>\n      <td>1.0</td>\n      <td>1.000000</td>\n      <td>0.000000</td>\n      <td>1.522393e+09</td>\n      <td>1.517505e+09</td>\n      <td>2.0</td>\n      <td>1.0</td>\n      <td>1.500000</td>\n      <td>0.300000</td>\n      <td>76.500000</td>\n      <td>0.0</td>\n      <td>0.000000</td>\n      <td>0.0</td>\n      <td>0.000000</td>\n      <td>6.0</td>\n      <td>-0.550160</td>\n      <td>-0.606486</td>\n      <td>56.0</td>\n      <td>9.333333</td>\n      <td>2238.0</td>\n      <td>0</td>\n      <td>6</td>\n      <td>52</td>\n      <td>1</td>\n      <td>2691</td>\n      <td>5</td>\n      <td>396.0</td>\n      <td>356.0</td>\n      <td>-214.362071</td>\n    </tr>\n    <tr>\n      <th>2</th>\n      <td>2016-08-01</td>\n      <td>C_ID_d639edf6cd</td>\n      <td>0.010610</td>\n      <td>0.008752</td>\n      <td>0.010283</td>\n      <td>10</td>\n      <td>14</td>\n      <td>22</td>\n      <td>7</td>\n      <td>2</td>\n      <td>7</td>\n      <td>13</td>\n      <td>8</td>\n      <td>-29.167391</td>\n      <td>-0.145847</td>\n      <td>-0.730138</td>\n      <td>-0.678311</td>\n      <td>0.007635</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0.000000</td>\n      <td>0.000000</td>\n      <td>1.519759e+09</td>\n      <td>1.484123e+09</td>\n      <td>0</td>\n      <td>-13</td>\n      <td>-8.604651</td>\n      <td>14.768549</td>\n      <td>75.488372</td>\n      <td>41</td>\n      <td>0.953488</td>\n      <td>11</td>\n      <td>0.255814</td>\n      <td>0</td>\n      <td>0.000000</td>\n      <td>43</td>\n      <td>-0.087803</td>\n      <td>0.358458</td>\n      <td>412</td>\n      <td>...</td>\n      <td>1.0</td>\n      <td>1.0</td>\n      <td>1.0</td>\n      <td>1.0</td>\n      <td>-0.700326</td>\n      <td>-0.700326</td>\n      <td>-0.700326</td>\n      <td>-0.700326</td>\n      <td>NaN</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0.000000</td>\n      <td>NaN</td>\n      <td>1.524937e+09</td>\n      <td>1.524937e+09</td>\n      <td>2.0</td>\n      <td>2.0</td>\n      <td>2.000000</td>\n      <td>NaN</td>\n      <td>75.000000</td>\n      <td>1.0</td>\n      <td>1.000000</td>\n      <td>0.0</td>\n      <td>0.000000</td>\n      <td>1.0</td>\n      <td>-0.549015</td>\n      <td>-0.592993</td>\n      <td>0.0</td>\n      <td>0.000000</td>\n      <td>2208.0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>31</td>\n      <td>8</td>\n      <td>2844</td>\n      <td>163</td>\n      <td>635.0</td>\n      <td>44.0</td>\n      <td>-29.867717</td>\n    </tr>\n    <tr>\n      <th>3</th>\n      <td>2017-09-01</td>\n      <td>C_ID_186d6a6901</td>\n      <td>0.010712</td>\n      <td>0.014166</td>\n      <td>0.010283</td>\n      <td>6</td>\n      <td>16</td>\n      <td>20</td>\n      <td>7</td>\n      <td>2</td>\n      <td>13</td>\n      <td>50</td>\n      <td>25</td>\n      <td>-49.491364</td>\n      <td>1.445596</td>\n      <td>-0.740897</td>\n      <td>-0.642745</td>\n      <td>0.068447</td>\n      <td>84</td>\n      <td>3</td>\n      <td>-1</td>\n      <td>1.090909</td>\n      <td>0.346890</td>\n      <td>1.519818e+09</td>\n      <td>1.506443e+09</td>\n      <td>0</td>\n      <td>-5</td>\n      <td>-2.831169</td>\n      <td>3.247437</td>\n      <td>75.519481</td>\n      <td>77</td>\n      <td>1.000000</td>\n      <td>11</td>\n      <td>0.142857</td>\n      <td>12</td>\n      <td>0.155844</td>\n      <td>77</td>\n      <td>-0.086166</td>\n      <td>-0.338321</td>\n      <td>154</td>\n      <td>...</td>\n      <td>1.0</td>\n      <td>5.0</td>\n      <td>7.0</td>\n      <td>6.0</td>\n      <td>-4.654372</td>\n      <td>-0.566740</td>\n      <td>-0.734135</td>\n      <td>-0.664910</td>\n      <td>0.004340</td>\n      <td>5.0</td>\n      <td>1.0</td>\n      <td>-1.0</td>\n      <td>0.714286</td>\n      <td>0.571429</td>\n      <td>1.524049e+09</td>\n      <td>1.520424e+09</td>\n      <td>2.0</td>\n      <td>1.0</td>\n      <td>1.714286</td>\n      <td>0.238095</td>\n      <td>75.714286</td>\n      <td>3.0</td>\n      <td>0.428571</td>\n      <td>1.0</td>\n      <td>0.142857</td>\n      <td>7.0</td>\n      <td>-0.556518</td>\n      <td>-0.604559</td>\n      <td>41.0</td>\n      <td>5.857143</td>\n      <td>2218.0</td>\n      <td>0</td>\n      <td>4</td>\n      <td>35</td>\n      <td>9</td>\n      <td>2448</td>\n      <td>25</td>\n      <td>187.0</td>\n      <td>84.0</td>\n      <td>-54.145736</td>\n    </tr>\n    <tr>\n      <th>4</th>\n      <td>2017-11-01</td>\n      <td>C_ID_cdbd2c0db2</td>\n      <td>0.008058</td>\n      <td>0.014166</td>\n      <td>0.010283</td>\n      <td>4</td>\n      <td>22</td>\n      <td>17</td>\n      <td>7</td>\n      <td>2</td>\n      <td>17</td>\n      <td>66</td>\n      <td>26</td>\n      <td>-48.687656</td>\n      <td>7.193041</td>\n      <td>-0.746156</td>\n      <td>-0.366073</td>\n      <td>1.828160</td>\n      <td>182</td>\n      <td>12</td>\n      <td>1</td>\n      <td>1.368421</td>\n      <td>3.598086</td>\n      <td>1.519850e+09</td>\n      <td>1.510445e+09</td>\n      <td>0</td>\n      <td>-3</td>\n      <td>-1.285714</td>\n      <td>1.054113</td>\n      <td>75.556391</td>\n      <td>128</td>\n      <td>0.962406</td>\n      <td>42</td>\n      <td>0.315789</td>\n      <td>15</td>\n      <td>0.112782</td>\n      <td>133</td>\n      <td>-0.114647</td>\n      <td>-0.377684</td>\n      <td>108</td>\n      <td>...</td>\n      <td>1.0</td>\n      <td>10.0</td>\n      <td>36.0</td>\n      <td>17.0</td>\n      <td>-19.926237</td>\n      <td>0.450886</td>\n      <td>-0.739395</td>\n      <td>-0.553507</td>\n      <td>0.050096</td>\n      <td>35.0</td>\n      <td>2.0</td>\n      <td>-1.0</td>\n      <td>0.972222</td>\n      <td>0.142063</td>\n      <td>1.524941e+09</td>\n      <td>1.519992e+09</td>\n      <td>2.0</td>\n      <td>1.0</td>\n      <td>1.555556</td>\n      <td>0.253968</td>\n      <td>75.638889</td>\n      <td>12.0</td>\n      <td>0.333333</td>\n      <td>2.0</td>\n      <td>0.055556</td>\n      <td>36.0</td>\n      <td>-0.555446</td>\n      <td>-0.588217</td>\n      <td>57.0</td>\n      <td>1.583333</td>\n      <td>2208.0</td>\n      <td>0</td>\n      <td>2</td>\n      <td>44</td>\n      <td>11</td>\n      <td>2387</td>\n      <td>11</td>\n      <td>121.0</td>\n      <td>169.0</td>\n      <td>-68.613893</td>\n    </tr>\n  </tbody>\n</table>\n</div>"},"metadata":{}}]},{"cell_type":"code","source":"df_test.head()","metadata":{"execution":{"iopub.status.busy":"2024-05-15T10:57:26.009517Z","iopub.execute_input":"2024-05-15T10:57:26.009842Z","iopub.status.idle":"2024-05-15T10:57:26.23646Z","shell.execute_reply.started":"2024-05-15T10:57:26.009799Z","shell.execute_reply":"2024-05-15T10:57:26.234199Z"},"trusted":true},"execution_count":50,"outputs":[{"execution_count":50,"output_type":"execute_result","data":{"text/plain":"  first_active_month          ...          purchase_amount_total\n0         2017-04-01          ...                     -42.510888\n1         2017-01-01          ...                     -55.081212\n2         2017-08-01          ...                       4.708978\n3         2017-12-01          ...                     -19.434389\n4         2015-12-01          ...                      37.204381\n\n[5 rows x 85 columns]","text/html":"<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>first_active_month</th>\n      <th>card_id</th>\n      <th>feature_1</th>\n      <th>feature_2</th>\n      <th>feature_3</th>\n      <th>hist_month_nunique</th>\n      <th>hist_hour_nunique</th>\n      <th>hist_weekofyear_nunique</th>\n      <th>hist_dayofweek_nunique</th>\n      <th>hist_year_nunique</th>\n      <th>hist_subsector_id_nunique</th>\n      <th>hist_merchant_id_nunique</th>\n      <th>hist_merchant_category_id_nunique</th>\n      <th>hist_purchase_amount_sum</th>\n      <th>hist_purchase_amount_max</th>\n      <th>hist_purchase_amount_min</th>\n      <th>hist_purchase_amount_mean</th>\n      <th>hist_purchase_amount_var</th>\n      <th>hist_installments_sum</th>\n      <th>hist_installments_max</th>\n      <th>hist_installments_min</th>\n      <th>hist_installments_mean</th>\n      <th>hist_installments_var</th>\n      <th>hist_purchase_date_max</th>\n      <th>hist_purchase_date_min</th>\n      <th>hist_month_lag_max</th>\n      <th>hist_month_lag_min</th>\n      <th>hist_month_lag_mean</th>\n      <th>hist_month_lag_var</th>\n      <th>hist_month_diff_mean</th>\n      <th>hist_authorized_flag_sum</th>\n      <th>hist_authorized_flag_mean</th>\n      <th>hist_weekend_sum</th>\n      <th>hist_weekend_mean</th>\n      <th>hist_category_1_sum</th>\n      <th>hist_category_1_mean</th>\n      <th>hist_card_id_size</th>\n      <th>hist_category_2_mean_mean</th>\n      <th>hist_category_3_mean_mean</th>\n      <th>hist_purchase_date_diff</th>\n      <th>...</th>\n      <th>new_hist_dayofweek_nunique</th>\n      <th>new_hist_year_nunique</th>\n      <th>new_hist_subsector_id_nunique</th>\n      <th>new_hist_merchant_id_nunique</th>\n      <th>new_hist_merchant_category_id_nunique</th>\n      <th>new_hist_purchase_amount_sum</th>\n      <th>new_hist_purchase_amount_max</th>\n      <th>new_hist_purchase_amount_min</th>\n      <th>new_hist_purchase_amount_mean</th>\n      <th>new_hist_purchase_amount_var</th>\n      <th>new_hist_installments_sum</th>\n      <th>new_hist_installments_max</th>\n      <th>new_hist_installments_min</th>\n      <th>new_hist_installments_mean</th>\n      <th>new_hist_installments_var</th>\n      <th>new_hist_purchase_date_max</th>\n      <th>new_hist_purchase_date_min</th>\n      <th>new_hist_month_lag_max</th>\n      <th>new_hist_month_lag_min</th>\n      <th>new_hist_month_lag_mean</th>\n      <th>new_hist_month_lag_var</th>\n      <th>new_hist_month_diff_mean</th>\n      <th>new_hist_weekend_sum</th>\n      <th>new_hist_weekend_mean</th>\n      <th>new_hist_category_1_sum</th>\n      <th>new_hist_category_1_mean</th>\n      <th>new_hist_card_id_size</th>\n      <th>new_hist_category_2_mean_mean</th>\n      <th>new_hist_category_3_mean_mean</th>\n      <th>new_hist_purchase_date_diff</th>\n      <th>new_hist_purchase_date_average</th>\n      <th>new_hist_purchase_date_uptonow</th>\n      <th>dayofweek</th>\n      <th>weekofyear</th>\n      <th>month</th>\n      <th>elapsed_time</th>\n      <th>hist_first_buy</th>\n      <th>new_hist_first_buy</th>\n      <th>card_id_total</th>\n      <th>purchase_amount_total</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>2017-04-01</td>\n      <td>C_ID_0ab67a22ab</td>\n      <td>0.010479</td>\n      <td>0.014166</td>\n      <td>0.011428</td>\n      <td>9</td>\n      <td>17</td>\n      <td>24</td>\n      <td>7</td>\n      <td>1</td>\n      <td>12</td>\n      <td>24</td>\n      <td>16</td>\n      <td>-40.733733</td>\n      <td>0.235676</td>\n      <td>-0.743902</td>\n      <td>-0.599025</td>\n      <td>0.036967</td>\n      <td>141</td>\n      <td>12</td>\n      <td>1</td>\n      <td>2.073529</td>\n      <td>4.248244</td>\n      <td>1.514510e+09</td>\n      <td>1.491330e+09</td>\n      <td>0</td>\n      <td>-8</td>\n      <td>-3.632353</td>\n      <td>6.026997</td>\n      <td>77.500000</td>\n      <td>44</td>\n      <td>0.647059</td>\n      <td>12</td>\n      <td>0.176471</td>\n      <td>23</td>\n      <td>0.338235</td>\n      <td>68</td>\n      <td>0.074568</td>\n      <td>-0.239369</td>\n      <td>268</td>\n      <td>...</td>\n      <td>3.0</td>\n      <td>1.0</td>\n      <td>3.0</td>\n      <td>3.0</td>\n      <td>3.0</td>\n      <td>-1.777156</td>\n      <td>-0.383266</td>\n      <td>-0.722114</td>\n      <td>-0.592385</td>\n      <td>0.033432</td>\n      <td>5.0</td>\n      <td>3.0</td>\n      <td>1.0</td>\n      <td>1.666667</td>\n      <td>1.333333</td>\n      <td>1.519845e+09</td>\n      <td>1.517651e+09</td>\n      <td>2.0</td>\n      <td>2.0</td>\n      <td>2.000000</td>\n      <td>0.000000</td>\n      <td>77.333333</td>\n      <td>1.0</td>\n      <td>0.333333</td>\n      <td>0.0</td>\n      <td>0.000000</td>\n      <td>3.0</td>\n      <td>-0.550160</td>\n      <td>-0.391755</td>\n      <td>25.0</td>\n      <td>8.333333</td>\n      <td>2267.0</td>\n      <td>5.0</td>\n      <td>13.0</td>\n      <td>4.0</td>\n      <td>2601.0</td>\n      <td>3.0</td>\n      <td>308.0</td>\n      <td>71.0</td>\n      <td>-42.510888</td>\n    </tr>\n    <tr>\n      <th>1</th>\n      <td>2017-01-01</td>\n      <td>C_ID_130fd0cbdd</td>\n      <td>0.010610</td>\n      <td>0.014166</td>\n      <td>0.010283</td>\n      <td>5</td>\n      <td>18</td>\n      <td>20</td>\n      <td>7</td>\n      <td>2</td>\n      <td>12</td>\n      <td>27</td>\n      <td>16</td>\n      <td>-49.136513</td>\n      <td>0.318817</td>\n      <td>-0.731881</td>\n      <td>-0.629955</td>\n      <td>0.024025</td>\n      <td>83</td>\n      <td>4</td>\n      <td>1</td>\n      <td>1.064103</td>\n      <td>0.164669</td>\n      <td>1.518989e+09</td>\n      <td>1.484321e+09</td>\n      <td>0</td>\n      <td>-13</td>\n      <td>-10.410256</td>\n      <td>4.686647</td>\n      <td>75.743590</td>\n      <td>77</td>\n      <td>0.987179</td>\n      <td>17</td>\n      <td>0.217949</td>\n      <td>2</td>\n      <td>0.025641</td>\n      <td>78</td>\n      <td>-0.148613</td>\n      <td>-0.391464</td>\n      <td>401</td>\n      <td>...</td>\n      <td>6.0</td>\n      <td>1.0</td>\n      <td>6.0</td>\n      <td>9.0</td>\n      <td>8.0</td>\n      <td>-5.944698</td>\n      <td>-0.506484</td>\n      <td>-0.740897</td>\n      <td>-0.660522</td>\n      <td>0.005062</td>\n      <td>11.0</td>\n      <td>3.0</td>\n      <td>1.0</td>\n      <td>1.222222</td>\n      <td>0.444444</td>\n      <td>1.524247e+09</td>\n      <td>1.520080e+09</td>\n      <td>2.0</td>\n      <td>1.0</td>\n      <td>1.444444</td>\n      <td>0.277778</td>\n      <td>75.777778</td>\n      <td>3.0</td>\n      <td>0.333333</td>\n      <td>2.0</td>\n      <td>0.222222</td>\n      <td>9.0</td>\n      <td>-0.555930</td>\n      <td>-0.534909</td>\n      <td>48.0</td>\n      <td>5.333333</td>\n      <td>2216.0</td>\n      <td>6.0</td>\n      <td>52.0</td>\n      <td>1.0</td>\n      <td>2691.0</td>\n      <td>12.0</td>\n      <td>426.0</td>\n      <td>87.0</td>\n      <td>-55.081212</td>\n    </tr>\n    <tr>\n      <th>2</th>\n      <td>2017-08-01</td>\n      <td>C_ID_b709037bc5</td>\n      <td>0.013145</td>\n      <td>0.011385</td>\n      <td>0.011428</td>\n      <td>6</td>\n      <td>7</td>\n      <td>7</td>\n      <td>4</td>\n      <td>2</td>\n      <td>6</td>\n      <td>9</td>\n      <td>8</td>\n      <td>4.528840</td>\n      <td>2.525866</td>\n      <td>-0.536537</td>\n      <td>0.348372</td>\n      <td>0.821827</td>\n      <td>44</td>\n      <td>10</td>\n      <td>-1</td>\n      <td>3.384615</td>\n      <td>13.589744</td>\n      <td>1.517598e+09</td>\n      <td>1.503673e+09</td>\n      <td>0</td>\n      <td>-6</td>\n      <td>-2.076923</td>\n      <td>3.076923</td>\n      <td>75.846154</td>\n      <td>9</td>\n      <td>0.692308</td>\n      <td>0</td>\n      <td>0.000000</td>\n      <td>1</td>\n      <td>0.076923</td>\n      <td>13</td>\n      <td>-0.076914</td>\n      <td>0.125002</td>\n      <td>161</td>\n      <td>...</td>\n      <td>2.0</td>\n      <td>1.0</td>\n      <td>2.0</td>\n      <td>2.0</td>\n      <td>2.0</td>\n      <td>0.180138</td>\n      <td>0.904506</td>\n      <td>-0.724368</td>\n      <td>0.090069</td>\n      <td>1.326615</td>\n      <td>11.0</td>\n      <td>10.0</td>\n      <td>1.0</td>\n      <td>5.500000</td>\n      <td>40.500000</td>\n      <td>1.520947e+09</td>\n      <td>1.519916e+09</td>\n      <td>1.0</td>\n      <td>1.0</td>\n      <td>1.000000</td>\n      <td>0.000000</td>\n      <td>76.000000</td>\n      <td>0.0</td>\n      <td>0.000000</td>\n      <td>1.0</td>\n      <td>0.500000</td>\n      <td>2.0</td>\n      <td>-0.549587</td>\n      <td>-0.284389</td>\n      <td>11.0</td>\n      <td>5.500000</td>\n      <td>2254.0</td>\n      <td>1.0</td>\n      <td>31.0</td>\n      <td>8.0</td>\n      <td>2479.0</td>\n      <td>24.0</td>\n      <td>212.0</td>\n      <td>15.0</td>\n      <td>4.708978</td>\n    </tr>\n    <tr>\n      <th>3</th>\n      <td>2017-12-01</td>\n      <td>C_ID_d27d835a9f</td>\n      <td>0.010610</td>\n      <td>0.011385</td>\n      <td>0.010283</td>\n      <td>3</td>\n      <td>9</td>\n      <td>6</td>\n      <td>7</td>\n      <td>2</td>\n      <td>11</td>\n      <td>23</td>\n      <td>18</td>\n      <td>-13.690715</td>\n      <td>0.087965</td>\n      <td>-0.731881</td>\n      <td>-0.526566</td>\n      <td>0.048032</td>\n      <td>38</td>\n      <td>6</td>\n      <td>-1</td>\n      <td>1.461538</td>\n      <td>2.178462</td>\n      <td>1.519127e+09</td>\n      <td>1.512392e+09</td>\n      <td>0</td>\n      <td>-2</td>\n      <td>-1.230769</td>\n      <td>0.904615</td>\n      <td>75.692308</td>\n      <td>26</td>\n      <td>1.000000</td>\n      <td>7</td>\n      <td>0.269231</td>\n      <td>0</td>\n      <td>0.000000</td>\n      <td>26</td>\n      <td>0.074568</td>\n      <td>-0.208399</td>\n      <td>77</td>\n      <td>...</td>\n      <td>5.0</td>\n      <td>1.0</td>\n      <td>8.0</td>\n      <td>10.0</td>\n      <td>10.0</td>\n      <td>-5.743674</td>\n      <td>-0.447880</td>\n      <td>-0.671775</td>\n      <td>-0.574367</td>\n      <td>0.005353</td>\n      <td>29.0</td>\n      <td>12.0</td>\n      <td>1.0</td>\n      <td>2.900000</td>\n      <td>11.211111</td>\n      <td>1.524000e+09</td>\n      <td>1.520162e+09</td>\n      <td>2.0</td>\n      <td>1.0</td>\n      <td>1.300000</td>\n      <td>0.233333</td>\n      <td>75.600000</td>\n      <td>3.0</td>\n      <td>0.300000</td>\n      <td>1.0</td>\n      <td>0.100000</td>\n      <td>10.0</td>\n      <td>-0.550046</td>\n      <td>-0.284389</td>\n      <td>44.0</td>\n      <td>4.400000</td>\n      <td>2219.0</td>\n      <td>4.0</td>\n      <td>48.0</td>\n      <td>12.0</td>\n      <td>2357.0</td>\n      <td>3.0</td>\n      <td>93.0</td>\n      <td>36.0</td>\n      <td>-19.434389</td>\n    </tr>\n    <tr>\n      <th>4</th>\n      <td>2015-12-01</td>\n      <td>C_ID_2b5e3df5c2</td>\n      <td>0.013145</td>\n      <td>0.011385</td>\n      <td>0.011428</td>\n      <td>12</td>\n      <td>21</td>\n      <td>34</td>\n      <td>7</td>\n      <td>2</td>\n      <td>15</td>\n      <td>47</td>\n      <td>31</td>\n      <td>25.139384</td>\n      <td>15.782255</td>\n      <td>-0.746758</td>\n      <td>0.228540</td>\n      <td>7.715973</td>\n      <td>120</td>\n      <td>4</td>\n      <td>1</td>\n      <td>1.090909</td>\n      <td>0.193495</td>\n      <td>1.519728e+09</td>\n      <td>1.483444e+09</td>\n      <td>0</td>\n      <td>-13</td>\n      <td>-6.227273</td>\n      <td>20.525855</td>\n      <td>75.700000</td>\n      <td>87</td>\n      <td>0.790909</td>\n      <td>21</td>\n      <td>0.190909</td>\n      <td>0</td>\n      <td>0.000000</td>\n      <td>110</td>\n      <td>-0.135035</td>\n      <td>-0.376706</td>\n      <td>419</td>\n      <td>...</td>\n      <td>4.0</td>\n      <td>1.0</td>\n      <td>4.0</td>\n      <td>6.0</td>\n      <td>5.0</td>\n      <td>12.064997</td>\n      <td>14.279604</td>\n      <td>-0.704082</td>\n      <td>2.010833</td>\n      <td>36.344872</td>\n      <td>5.0</td>\n      <td>2.0</td>\n      <td>-1.0</td>\n      <td>0.833333</td>\n      <td>0.966667</td>\n      <td>1.523535e+09</td>\n      <td>1.520132e+09</td>\n      <td>2.0</td>\n      <td>1.0</td>\n      <td>1.166667</td>\n      <td>0.166667</td>\n      <td>76.000000</td>\n      <td>2.0</td>\n      <td>0.333333</td>\n      <td>0.0</td>\n      <td>0.000000</td>\n      <td>6.0</td>\n      <td>-0.556457</td>\n      <td>-0.496872</td>\n      <td>39.0</td>\n      <td>6.500000</td>\n      <td>2224.0</td>\n      <td>1.0</td>\n      <td>49.0</td>\n      <td>12.0</td>\n      <td>3088.0</td>\n      <td>399.0</td>\n      <td>824.0</td>\n      <td>116.0</td>\n      <td>37.204381</td>\n    </tr>\n  </tbody>\n</table>\n</div>"},"metadata":{}}]},{"cell_type":"code","source":"X = df_train.drop(['card_id', 'first_active_month', 'outliers'], axis=1)\nX_test = df_test.drop(['card_id', 'first_active_month'], axis=1)\ny = target","metadata":{"execution":{"iopub.status.busy":"2024-05-15T10:57:45.949785Z","iopub.execute_input":"2024-05-15T10:57:45.950175Z","iopub.status.idle":"2024-05-15T10:57:46.074832Z","shell.execute_reply.started":"2024-05-15T10:57:45.950115Z","shell.execute_reply":"2024-05-15T10:57:46.073Z"},"trusted":true},"execution_count":52,"outputs":[]},{"cell_type":"code","source":"from sklearn.model_selection import StratifiedKFold, KFold, RepeatedKFold\nimport time\nimport xgboost as xgb\nn_fold = 5\nfolds = KFold(n_splits=n_fold, shuffle=True, random_state=42)\n# folds = RepeatedKFold(n_splits=n_fold, n_repeats=2, random_state=11)","metadata":{"execution":{"iopub.status.busy":"2024-05-15T11:04:29.135558Z","iopub.execute_input":"2024-05-15T11:04:29.135962Z","iopub.status.idle":"2024-05-15T11:04:29.268283Z","shell.execute_reply.started":"2024-05-15T11:04:29.135878Z","shell.execute_reply":"2024-05-15T11:04:29.26745Z"},"trusted":true},"execution_count":60,"outputs":[]},{"cell_type":"code","source":"def train_model(X=X, X_test=X_test, y=y, params=None, folds=folds, model_type='lgb', plot_feature_importance=False):\n\n    oof = np.zeros(len(X))\n    prediction = np.zeros(len(X_test))\n    scores = []\n    feature_importance = pd.DataFrame()\n    for fold_n, (train_index, valid_index) in enumerate(folds.split(X)):\n        print('Fold', fold_n, 'started at', time.ctime())\n        X_train, X_valid = X.iloc[train_index], X.iloc[valid_index]\n        y_train, y_valid = y.iloc[train_index], y.iloc[valid_index]\n        \n        if model_type == 'lgb':\n            model = lgb.LGBMRegressor(**params, n_estimators = 20000, nthread = 4, n_jobs = -1)\n            model.fit(X_train, y_train, \n                    eval_set=[(X_train, y_train), (X_valid, y_valid)], eval_metric='rmse',\n                    verbose=1000, early_stopping_rounds=200)\n            \n            y_pred_valid = model.predict(X_valid)\n            y_pred = model.predict(X_test, num_iteration=model.best_iteration_)\n            \n        if model_type == 'xgb':\n            train_data = xgb.DMatrix(data=X_train, label=y_train)\n            valid_data = xgb.DMatrix(data=X_valid, label=y_valid)\n\n            watchlist = [(train_data, 'train'), (valid_data, 'valid_data')]\n            model = xgb.train(dtrain=train_data, num_boost_round=20000, evals=watchlist, early_stopping_rounds=200, verbose_eval=500, params=params)\n            y_pred_valid = model.predict(xgb.DMatrix(X_valid), ntree_limit=model.best_ntree_limit)\n            y_pred = model.predict(xgb.DMatrix(X_test), ntree_limit=model.best_ntree_limit)\n            \n        if model_type == 'rcv':\n            model = RidgeCV(alphas=(0.01, 0.1, 1.0, 10.0, 100.0), scoring='neg_mean_squared_error', cv=3)\n            model.fit(X_train, y_train)\n            print(model.alpha_)\n\n            y_pred_valid = model.predict(X_valid)\n            score = mean_squared_error(y_valid, y_pred_valid) ** 0.5\n            print(f'Fold {fold_n}. RMSE: {score:.4f}.')\n            print('')\n            \n            y_pred = model.predict(X_test)\n            \n        if model_type == 'cat':\n            model = CatBoostRegressor(iterations=20000,  eval_metric='RMSE', **params)\n            model.fit(X_train, y_train, eval_set=(X_valid, y_valid), cat_features=[], use_best_model=True, verbose=False)\n\n            y_pred_valid = model.predict(X_valid)\n            y_pred = model.predict(X_test)\n        \n        oof[valid_index] = y_pred_valid.reshape(-1,)\n        scores.append(mean_squared_error(y_valid, y_pred_valid) ** 0.5)\n        \n        prediction += y_pred    \n        \n        if model_type == 'lgb':\n            # feature importance\n            fold_importance = pd.DataFrame()\n            fold_importance[\"feature\"] = X.columns\n            fold_importance[\"importance\"] = model.feature_importances_\n            fold_importance[\"fold\"] = fold_n + 1\n            feature_importance = pd.concat([feature_importance, fold_importance], axis=0)\n\n    prediction /= n_fold\n    \n    print('CV mean score: {0:.4f}, std: {1:.4f}.'.format(np.mean(scores), np.std(scores)))\n    \n    if model_type == 'lgb':\n        feature_importance[\"importance\"] /= n_fold\n        if plot_feature_importance:\n            cols = feature_importance[[\"feature\", \"importance\"]].groupby(\"feature\").mean().sort_values(\n                by=\"importance\", ascending=False)[:50].index\n\n            best_features = feature_importance.loc[feature_importance.feature.isin(cols)]\n\n            plt.figure(figsize=(16, 12));\n            sns.barplot(x=\"importance\", y=\"feature\", data=best_features.sort_values(by=\"importance\", ascending=False));\n            plt.title('LGB Features (avg over folds)');\n        \n            return oof, prediction, feature_importance\n        return oof, prediction\n    \n    else:\n        return oof, prediction","metadata":{"execution":{"iopub.status.busy":"2024-05-15T10:57:50.148869Z","iopub.execute_input":"2024-05-15T10:57:50.149225Z","iopub.status.idle":"2024-05-15T10:57:50.179701Z","shell.execute_reply.started":"2024-05-15T10:57:50.149177Z","shell.execute_reply":"2024-05-15T10:57:50.177899Z"},"trusted":true},"execution_count":54,"outputs":[]},{"cell_type":"code","source":"params = {'num_leaves': 54,\n         'min_data_in_leaf': 79,\n         'objective': 'regression',\n         'max_depth': 18,\n         'learning_rate': 0.018545526395058548,\n         \"boosting\": \"gbdt\",\n         \"feature_fraction\": 0.8354507676881442,\n         \"bagging_freq\": 5,\n         \"bagging_fraction\": 0.8126672064208567,\n         \"bagging_seed\": 11,\n         \"metric\": 'rmse',\n         \"lambda_l1\": 0.1,\n         \"verbosity\": -1,\n         'min_child_weight': 5.343384366323818,\n         'reg_alpha': 1.1302650970728192,\n         'reg_lambda': 0.3603427518866501,\n         'subsample': 0.8767547959893627,}","metadata":{"execution":{"iopub.status.busy":"2024-05-15T10:57:51.67382Z","iopub.execute_input":"2024-05-15T10:57:51.674176Z","iopub.status.idle":"2024-05-15T10:57:51.685853Z","shell.execute_reply.started":"2024-05-15T10:57:51.674107Z","shell.execute_reply":"2024-05-15T10:57:51.684787Z"},"trusted":true},"execution_count":55,"outputs":[]},{"cell_type":"code","source":"oof_lgb, prediction_lgb, feature_importance = train_model(params=params, model_type='lgb', plot_feature_importance=True)","metadata":{"execution":{"iopub.status.busy":"2024-05-15T10:57:52.965125Z","iopub.execute_input":"2024-05-15T10:57:52.965592Z","iopub.status.idle":"2024-05-15T11:00:56.672904Z","shell.execute_reply.started":"2024-05-15T10:57:52.965509Z","shell.execute_reply":"2024-05-15T11:00:56.671739Z"},"trusted":true},"execution_count":56,"outputs":[{"name":"stdout","text":"Fold 0 started at Wed May 15 10:57:52 2024\nTraining until validation scores don't improve for 200 rounds.\nEarly stopping, best iteration is:\n[486]\ttraining's rmse: 3.34706\tvalid_1's rmse: 3.68679\nFold 1 started at Wed May 15 10:58:27 2024\nTraining until validation scores don't improve for 200 rounds.\nEarly stopping, best iteration is:\n[460]\ttraining's rmse: 3.35491\tvalid_1's rmse: 3.66389\nFold 2 started at Wed May 15 10:59:00 2024\nTraining until validation scores don't improve for 200 rounds.\nEarly stopping, best iteration is:\n[710]\ttraining's rmse: 3.23988\tvalid_1's rmse: 3.77058\nFold 3 started at Wed May 15 10:59:45 2024\nTraining until validation scores don't improve for 200 rounds.\nEarly stopping, best iteration is:\n[316]\ttraining's rmse: 3.44306\tvalid_1's rmse: 3.56887\nFold 4 started at Wed May 15 11:00:13 2024\nTraining until validation scores don't improve for 200 rounds.\nEarly stopping, best iteration is:\n[530]\ttraining's rmse: 3.34814\tvalid_1's rmse: 3.59783\nCV mean score: 3.6576, std: 0.0709.\n","output_type":"stream"},{"output_type":"display_data","data":{"text/plain":"<Figure size 1152x864 with 1 Axes>","image/png":"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\n"},"metadata":{}}]},{"cell_type":"code","source":"submission = pd.read_csv('../input/sample_submission.csv')\nsubmission['target'] = prediction_lgb\nsubmission.to_csv('lgb.csv', index=False)","metadata":{"execution":{"iopub.status.busy":"2024-05-15T11:02:58.134448Z","iopub.execute_input":"2024-05-15T11:02:58.135093Z","iopub.status.idle":"2024-05-15T11:02:58.982108Z","shell.execute_reply.started":"2024-05-15T11:02:58.135035Z","shell.execute_reply":"2024-05-15T11:02:58.980854Z"},"trusted":true},"execution_count":58,"outputs":[]},{"cell_type":"code","source":"xgb_params = {'eta': 0.01, 'max_depth': 11, 'subsample': 0.8, 'colsample_bytree': 0.8, \n          'objective': 'reg:linear', 'eval_metric': 'rmse', 'silent': True, 'nthread': 4}\noof_xgb, prediction_xgb = train_model(params=xgb_params, model_type='xgb')","metadata":{"execution":{"iopub.status.busy":"2024-05-15T11:04:37.305555Z","iopub.execute_input":"2024-05-15T11:04:37.306216Z","iopub.status.idle":"2024-05-15T11:57:30.181474Z","shell.execute_reply.started":"2024-05-15T11:04:37.306132Z","shell.execute_reply":"2024-05-15T11:57:30.177964Z"},"trusted":true},"execution_count":61,"outputs":[{"name":"stdout","text":"Fold 0 started at Wed May 15 11:04:37 2024\n[0]\ttrain-rmse:3.93635\tvalid_data-rmse:3.97342\nMultiple eval metrics have been passed: 'valid_data-rmse' will be used for early stopping.\n\nWill train until valid_data-rmse hasn't improved in 200 rounds.\n[500]\ttrain-rmse:2.44131\tvalid_data-rmse:3.69735\nStopping. Best iteration:\n[375]\ttrain-rmse:2.59362\tvalid_data-rmse:3.69622\n\nFold 1 started at Wed May 15 11:15:12 2024\n[0]\ttrain-rmse:3.93999\tvalid_data-rmse:3.96006\nMultiple eval metrics have been passed: 'valid_data-rmse' will be used for early stopping.\n\nWill train until valid_data-rmse hasn't improved in 200 rounds.\n[500]\ttrain-rmse:2.45003\tvalid_data-rmse:3.66889\nStopping. Best iteration:\n[502]\ttrain-rmse:2.44733\tvalid_data-rmse:3.66875\n\nFold 2 started at Wed May 15 11:28:05 2024\n[0]\ttrain-rmse:3.9077\tvalid_data-rmse:4.08664\nMultiple eval metrics have been passed: 'valid_data-rmse' will be used for early stopping.\n\nWill train until valid_data-rmse hasn't improved in 200 rounds.\n[500]\ttrain-rmse:2.42864\tvalid_data-rmse:3.78008\nStopping. Best iteration:\n[371]\ttrain-rmse:2.57992\tvalid_data-rmse:3.78\n\nFold 3 started at Wed May 15 11:38:37 2024\n[0]\ttrain-rmse:3.97074\tvalid_data-rmse:3.83102\nMultiple eval metrics have been passed: 'valid_data-rmse' will be used for early stopping.\n\nWill train until valid_data-rmse hasn't improved in 200 rounds.\nStopping. Best iteration:\n[251]\ttrain-rmse:2.82454\tvalid_data-rmse:3.57147\n\nFold 4 started at Wed May 15 11:47:04 2024\n[0]\ttrain-rmse:3.959\tvalid_data-rmse:3.88297\nMultiple eval metrics have been passed: 'valid_data-rmse' will be used for early stopping.\n\nWill train until valid_data-rmse hasn't improved in 200 rounds.\n[500]\ttrain-rmse:2.45113\tvalid_data-rmse:3.60418\nStopping. Best iteration:\n[363]\ttrain-rmse:2.61242\tvalid_data-rmse:3.60336\n\nCV mean score: 3.6640, std: 0.0732.\n","output_type":"stream"}]},{"cell_type":"code","source":"submission['target'] = prediction_xgb\nsubmission.to_csv('xgb.csv', index=False)","metadata":{"execution":{"iopub.status.busy":"2024-05-15T11:58:43.282638Z","iopub.execute_input":"2024-05-15T11:58:43.283485Z","iopub.status.idle":"2024-05-15T11:58:43.951029Z","shell.execute_reply.started":"2024-05-15T11:58:43.283364Z","shell.execute_reply":"2024-05-15T11:58:43.949891Z"},"trusted":true},"execution_count":62,"outputs":[]},{"cell_type":"code","source":"from sklearn.linear_model import Ridge, RidgeCV","metadata":{"execution":{"iopub.status.busy":"2024-05-15T11:59:10.115834Z","iopub.execute_input":"2024-05-15T11:59:10.11624Z","iopub.status.idle":"2024-05-15T11:59:10.275953Z","shell.execute_reply.started":"2024-05-15T11:59:10.116191Z","shell.execute_reply":"2024-05-15T11:59:10.274769Z"},"trusted":true},"execution_count":64,"outputs":[]},{"cell_type":"code","source":"# 使用均值填充缺失值\nX.fillna(X.mean(), inplace=True)\nX_test.fillna(X_test.mean(), inplace=True)","metadata":{"execution":{"iopub.status.busy":"2024-05-15T12:00:03.402835Z","iopub.execute_input":"2024-05-15T12:00:03.403286Z","iopub.status.idle":"2024-05-15T12:00:03.826877Z","shell.execute_reply.started":"2024-05-15T12:00:03.403232Z","shell.execute_reply":"2024-05-15T12:00:03.823664Z"},"trusted":true},"execution_count":66,"outputs":[]},{"cell_type":"code","source":"oof_rcv, prediction_rcv = train_model(params=None, model_type='rcv')","metadata":{"execution":{"iopub.status.busy":"2024-05-15T12:00:05.859519Z","iopub.execute_input":"2024-05-15T12:00:05.859945Z","iopub.status.idle":"2024-05-15T12:00:29.890559Z","shell.execute_reply.started":"2024-05-15T12:00:05.859879Z","shell.execute_reply":"2024-05-15T12:00:29.889053Z"},"trusted":true},"execution_count":67,"outputs":[{"name":"stdout","text":"Fold 0 started at Wed May 15 12:00:05 2024\n10.0\nFold 0. RMSE: 3.7869.\n\nFold 1 started at Wed May 15 12:00:11 2024\n0.1\nFold 1. RMSE: 119.6677.\n\nFold 2 started at Wed May 15 12:00:16 2024\n1.0\nFold 2. RMSE: 3.9029.\n\nFold 3 started at Wed May 15 12:00:20 2024\n0.01\nFold 3. RMSE: 3.6522.\n\nFold 4 started at Wed May 15 12:00:25 2024\n10.0\nFold 4. RMSE: 3.7087.\n\nCV mean score: 26.9437, std: 46.3621.\n","output_type":"stream"}]},{"cell_type":"code","source":"submission['target'] = prediction_rcv\nsubmission.to_csv('rcv.csv', index=False)","metadata":{"execution":{"iopub.status.busy":"2024-05-15T12:00:38.03035Z","iopub.execute_input":"2024-05-15T12:00:38.031237Z","iopub.status.idle":"2024-05-15T12:00:38.710112Z","shell.execute_reply.started":"2024-05-15T12:00:38.031118Z","shell.execute_reply":"2024-05-15T12:00:38.708777Z"},"trusted":true},"execution_count":68,"outputs":[]},{"cell_type":"code","source":"from catboost import CatBoostRegressor","metadata":{"execution":{"iopub.status.busy":"2024-05-15T12:01:00.205959Z","iopub.execute_input":"2024-05-15T12:01:00.206623Z","iopub.status.idle":"2024-05-15T12:01:00.43691Z","shell.execute_reply.started":"2024-05-15T12:01:00.206511Z","shell.execute_reply":"2024-05-15T12:01:00.435946Z"},"trusted":true},"execution_count":70,"outputs":[]},{"cell_type":"code","source":"cat_params = {'learning_rate': 0.02,\n              'depth': 13,\n              'l2_leaf_reg': 10,\n              'bootstrap_type': 'Bernoulli',\n              #'metric_period': 500,\n              'od_type': 'Iter',\n              'od_wait': 50,\n              'random_seed': 11,\n              'allow_writing_files': False}\noof_cat, prediction_cat = train_model(params=cat_params, model_type='cat')","metadata":{"execution":{"iopub.status.busy":"2024-05-15T12:01:02.162355Z","iopub.execute_input":"2024-05-15T12:01:02.162985Z","iopub.status.idle":"2024-05-15T12:52:28.445977Z","shell.execute_reply.started":"2024-05-15T12:01:02.162928Z","shell.execute_reply":"2024-05-15T12:52:28.444882Z"},"trusted":true},"execution_count":71,"outputs":[{"name":"stdout","text":"Fold 0 started at Wed May 15 12:01:02 2024\nFold 1 started at Wed May 15 12:12:40 2024\nFold 2 started at Wed May 15 12:23:26 2024\nFold 3 started at Wed May 15 12:35:01 2024\nFold 4 started at Wed May 15 12:42:41 2024\nCV mean score: 3.6635, std: 0.0764.\n","output_type":"stream"}]},{"cell_type":"code","source":"# 平均法\nsubmission['target'] = (prediction_lgb + prediction_xgb + prediction_rcv + prediction_cat) / 4\nsubmission.to_csv('average.csv', index=False)","metadata":{"execution":{"iopub.status.busy":"2024-05-15T12:58:41.810721Z","iopub.execute_input":"2024-05-15T12:58:41.811189Z","iopub.status.idle":"2024-05-15T12:58:42.492589Z","shell.execute_reply.started":"2024-05-15T12:58:41.811134Z","shell.execute_reply":"2024-05-15T12:58:42.491577Z"},"trusted":true},"execution_count":72,"outputs":[]},{"cell_type":"code","source":"# blend\nweights = [0.3, 0.3, 0.15, 0.25]\n\n# 对所有模型的预测结果进行加权平均\nfinal_prediction = (weights[0] * prediction_lgb + weights[1] * prediction_xgb + weights[2] * prediction_rcv + weights[3] * prediction_cat) / sum(weights)\n\nsubmission['target'] = final_prediction\nsubmission.to_csv('voting.csv', index=False)","metadata":{},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"#blend\n","metadata":{},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"#投票法\nfrom sklearn.ensemble import VotingRegressor\n\n# 这里仅为示例，实际使用时应替换为您训练好的模型\nvoting_reg = VotingRegressor(\n    estimators=[('lr', model1), ('dt', model2), ('svr', model3)]\n)\n\n# 训练投票回归器\nvoting_reg.fit(X_train, y_train)\n\n# 使用投票回归器进行预测\npredictions = voting_reg.predict(X_test)\n\n# 创建提交文件\nsubmission = pd.DataFrame({'id': test_ids, 'target': predictions})\nsubmission.to_csv('submission_voting_regressor.csv', index=False)\n","metadata":{},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train_stack = np.vstack([oof_lgb, oof_xgb, oof_rcv, oof_cat]).transpose()\ntrain_stack = pd.DataFrame(train_stack)\ntest_stack = np.vstack([prediction_lgb, prediction_xgb, prediction_rcv, prediction_cat]).transpose()\ntest_stack = pd.DataFrame(test_stack)","metadata":{"execution":{"iopub.status.busy":"2024-05-15T12:58:46.588892Z","iopub.execute_input":"2024-05-15T12:58:46.589293Z","iopub.status.idle":"2024-05-15T12:58:46.603695Z","shell.execute_reply.started":"2024-05-15T12:58:46.589226Z","shell.execute_reply":"2024-05-15T12:58:46.602119Z"},"trusted":true},"execution_count":73,"outputs":[]},{"cell_type":"code","source":"oof_lgb_stack, prediction_lgb_stack = train_model(X=train_stack, X_test=test_stack, params=params, model_type='lgb')","metadata":{"execution":{"iopub.status.busy":"2024-05-15T12:58:51.16154Z","iopub.execute_input":"2024-05-15T12:58:51.161937Z","iopub.status.idle":"2024-05-15T12:59:10.655264Z","shell.execute_reply.started":"2024-05-15T12:58:51.161869Z","shell.execute_reply":"2024-05-15T12:59:10.654337Z"},"trusted":true},"execution_count":74,"outputs":[{"name":"stdout","text":"Fold 0 started at Wed May 15 12:58:51 2024\nTraining until validation scores don't improve for 200 rounds.\nEarly stopping, best iteration is:\n[120]\ttraining's rmse: 3.61685\tvalid_1's rmse: 3.68716\nFold 1 started at Wed May 15 12:58:55 2024\nTraining until validation scores don't improve for 200 rounds.\nEarly stopping, best iteration is:\n[120]\ttraining's rmse: 3.62057\tvalid_1's rmse: 3.67225\nFold 2 started at Wed May 15 12:58:58 2024\nTraining until validation scores don't improve for 200 rounds.\nEarly stopping, best iteration is:\n[143]\ttraining's rmse: 3.58678\tvalid_1's rmse: 3.78435\nFold 3 started at Wed May 15 12:59:02 2024\nTraining until validation scores don't improve for 200 rounds.\nEarly stopping, best iteration is:\n[139]\ttraining's rmse: 3.63944\tvalid_1's rmse: 3.56461\nFold 4 started at Wed May 15 12:59:06 2024\nTraining until validation scores don't improve for 200 rounds.\nEarly stopping, best iteration is:\n[150]\ttraining's rmse: 3.63074\tvalid_1's rmse: 3.60072\nCV mean score: 3.6618, std: 0.0761.\n","output_type":"stream"}]},{"cell_type":"code","source":"sample_submission = pd.read_csv('../input/sample_submission.csv')\nsample_submission['target'] = prediction_lgb_stack\nsample_submission.to_csv('stacker_lgb.csv', index=False)","metadata":{"execution":{"iopub.status.busy":"2024-05-15T12:59:21.001801Z","iopub.execute_input":"2024-05-15T12:59:21.002428Z","iopub.status.idle":"2024-05-15T12:59:21.79707Z","shell.execute_reply.started":"2024-05-15T12:59:21.002326Z","shell.execute_reply":"2024-05-15T12:59:21.795872Z"},"trusted":true},"execution_count":75,"outputs":[]},{"cell_type":"code","source":"oof_rcv_stack, prediction_rcv_stack = train_model(X=train_stack, X_test=test_stack, params=None, model_type='rcv')","metadata":{"execution":{"iopub.status.busy":"2024-05-15T12:59:24.359019Z","iopub.execute_input":"2024-05-15T12:59:24.360164Z","iopub.status.idle":"2024-05-15T12:59:26.770831Z","shell.execute_reply.started":"2024-05-15T12:59:24.359443Z","shell.execute_reply":"2024-05-15T12:59:26.769486Z"},"trusted":true},"execution_count":76,"outputs":[{"name":"stdout","text":"Fold 0 started at Wed May 15 12:59:24 2024\n0.01\nFold 0. RMSE: 3.6841.\n\nFold 1 started at Wed May 15 12:59:24 2024\n100.0\nFold 1. RMSE: 4.6929.\n\nFold 2 started at Wed May 15 12:59:25 2024\n0.01\nFold 2. RMSE: 3.7686.\n\nFold 3 started at Wed May 15 12:59:25 2024\n0.01\nFold 3. RMSE: 3.5630.\n\nFold 4 started at Wed May 15 12:59:26 2024\n0.01\nFold 4. RMSE: 3.5908.\n\nCV mean score: 3.8599, std: 0.4228.\n","output_type":"stream"}]},{"cell_type":"code","source":"sample_submission = pd.read_csv('../input/sample_submission.csv')\nsample_submission['target'] = prediction_rcv_stack\nsample_submission.to_csv('stacker_rcv.csv', index=False)","metadata":{"execution":{"iopub.status.busy":"2024-05-15T12:59:31.300245Z","iopub.execute_input":"2024-05-15T12:59:31.300669Z","iopub.status.idle":"2024-05-15T12:59:32.109432Z","shell.execute_reply.started":"2024-05-15T12:59:31.300614Z","shell.execute_reply":"2024-05-15T12:59:32.108342Z"},"trusted":true},"execution_count":77,"outputs":[]}]}