{"metadata":{"kernelspec":{"name":"python3","display_name":"Python 3","language":"python"},"language_info":{"name":"python","version":"3.10.14","mimetype":"text/x-python","codemirror_mode":{"name":"ipython","version":3},"pygments_lexer":"ipython3","nbconvert_exporter":"python","file_extension":".py"},"kaggle":{"accelerator":"gpu","dataSources":[{"sourceId":84896,"databundleVersionId":10305135,"sourceType":"competition"}],"dockerImageVersionId":30804,"isInternetEnabled":true,"language":"python","sourceType":"notebook","isGpuEnabled":true},"papermill":{"default_parameters":{},"duration":88.046943,"end_time":"2024-09-13T02:15:23.261138","environment_variables":{},"exception":null,"input_path":"__notebook__.ipynb","output_path":"__notebook__.ipynb","parameters":{},"start_time":"2024-09-13T02:13:55.214195","version":"2.6.0"}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"markdown","source":"<p style=\"\n font-family: 'Meiryo UI';\n font-size: 30px;\n padding: 20px;\n text-align: center;\n color: #ffffff;\n border-radius: 20px;\n font-weight: bold;\n background-color: #0050a0;\n \">\n XGBoost GridSearch | Insurance Dataset\n </p>","metadata":{}},{"cell_type":"markdown","source":"![Insurance_015.jpg](attachment:Insurance_015.jpg)","metadata":{},"attachments":{"Insurance_015.jpg":{"image/jpeg":"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"}}},{"cell_type":"markdown","source":"<p style=\"\n font-family: 'Meiryo UI';\n font-size: 24px; \n font-weight: bold;\n color: #ffffff;\n background-color: #007040; \n display: inline-block;\n border-radius: 15px;\n padding: 12px 50px;\n margin-left: 0px;\n\">\n Import Libraries\n</p>","metadata":{}},{"cell_type":"code","source":"import matplotlib.pyplot as plt\nimport seaborn as sns\nimport numpy as np\nimport pandas as pd \n\nfrom sklearn.model_selection import GridSearchCV\nfrom sklearn.preprocessing import LabelEncoder\nfrom sklearn.preprocessing import StandardScaler\nfrom xgboost import XGBRegressor \n\nimport warnings\nwarnings.filterwarnings(\"ignore\")","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-15T10:59:32.353223Z","iopub.execute_input":"2024-12-15T10:59:32.353626Z","iopub.status.idle":"2024-12-15T10:59:32.358244Z","shell.execute_reply.started":"2024-12-15T10:59:32.353594Z","shell.execute_reply":"2024-12-15T10:59:32.357456Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"<p style=\"\n font-family: 'Meiryo UI';\n font-size: 24px; \n font-weight: bold;\n color: #ffffff;\n background-color: #007040; \n display: inline-block;\n border-radius: 15px;\n padding: 12px 50px;\n margin-left: 0px;\n\">\n Loading Dataset\n</p>","metadata":{}},{"cell_type":"code","source":"train = pd.read_csv('/kaggle/input/playground-series-s4e12/train.csv',index_col=[0])\ntest = pd.read_csv('/kaggle/input/playground-series-s4e12/test.csv',index_col=[0])","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-15T10:59:32.359733Z","iopub.execute_input":"2024-12-15T10:59:32.359988Z","iopub.status.idle":"2024-12-15T10:59:37.637026Z","shell.execute_reply.started":"2024-12-15T10:59:32.359963Z","shell.execute_reply":"2024-12-15T10:59:37.636088Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"train.tail().T","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-15T10:59:37.638566Z","iopub.execute_input":"2024-12-15T10:59:37.63881Z","iopub.status.idle":"2024-12-15T10:59:37.650585Z","shell.execute_reply.started":"2024-12-15T10:59:37.638787Z","shell.execute_reply":"2024-12-15T10:59:37.649782Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"<p style=\"\n font-family: 'Meiryo UI';\n font-size: 24px; \n font-weight: bold;\n color: #ffffff;\n background-color: #007040; \n display: inline-block;\n border-radius: 15px;\n padding: 12px 50px;\n margin-left: 0px;\n\">\n Evaluation metric\n</p>","metadata":{}},{"cell_type":"markdown","source":"![RMSLE_03.jpg](attachment:RMSLE_03.jpg)","metadata":{},"attachments":{"RMSLE_03.jpg":{"image/jpeg":"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+Cjnw+8WeKdO0u1+Lv7ON/c6jdx2sNtYfEa2uLq5d2ChIowuXkJOFUfeJA71714G8C6Z8OPC1ro2kQPBYWm8oJJpJ5HZ3Lu7ySFnkdnZmZ3YszMSSSc1r4oA+PvHHhnTPD3/AAWu+Fcun6fYWEuo/DHxVc3b28CRNdSnUdHzI5UfO57k89ea+wa8X8T/ALAXw28YftAWnxRvo/HbeN7BXitb6H4ga/bw2sLvHJJBHbR3q26QO0MReFYxG+wblNe0UAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFACBQKNozS0UAFFFFABRiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigD//2Q=="}}},{"cell_type":"markdown","source":"<p style=\"\n font-family: 'Meiryo UI';\n font-size: 24px; \n font-weight: bold;\n color: #ffffff;\n background-color: #007040; \n display: inline-block;\n border-radius: 15px;\n padding: 12px 50px;\n margin-left: 0px;\n\">\n Extract Target Column\n</p>","metadata":{}},{"cell_type":"code","source":"# Extract the Target Column\ntarget_column = (set(train.columns) - set(test.columns)).pop()\n\nprint(f\"Target column: {target_column}\")\nprint(f\"Data type: {train[target_column].dtype}\")","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-15T10:59:37.651532Z","iopub.execute_input":"2024-12-15T10:59:37.651883Z","iopub.status.idle":"2024-12-15T10:59:37.669401Z","shell.execute_reply.started":"2024-12-15T10:59:37.651845Z","shell.execute_reply":"2024-12-15T10:59:37.668362Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"<p style=\"\n font-family: 'Meiryo UI';\n font-size: 24px; \n font-weight: bold;\n color: #ffffff;\n background-color: #007040; \n display: inline-block;\n border-radius: 15px;\n padding: 12px 50px;\n margin-left: 0px;\n\">\n Histogram of Target Variable (Original and Log)\n</p>","metadata":{}},{"cell_type":"code","source":"# Original target column\nplt.figure(figsize=(9, 3))\nplt.subplot(1, 2, 1)\nsns.histplot(train[target_column], kde=True, bins=30, color='blue')\nplt.title(f'Histogram of Target : {target_column} (y)', fontsize=11)\nplt.xlabel(f'{target_column} (y)', fontsize=10)\nplt.ylabel('Frequency', fontsize=10)\nplt.tick_params(axis='both', which='major', labelsize=7)\nplt.grid(True, linestyle='--', alpha=0.6)\n\n# log(y_train + 1)\ny_train_log = np.log1p(train[target_column])\nplt.subplot(1, 2, 2)\nsns.histplot(y_train_log, kde=True, bins=30, color='green')\nplt.title(f'Histogram of log( y + 1 )', fontsize=11)\nplt.xlabel(f'log( y + 1 )', fontsize=10)\nplt.ylabel('Frequency', fontsize=10)\nplt.tick_params(axis='both', which='major', labelsize=7)\nplt.grid(True, linestyle='--', alpha=0.6)\n\nplt.tight_layout()\nplt.show()","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-15T10:59:37.671727Z","iopub.execute_input":"2024-12-15T10:59:37.672051Z","iopub.status.idle":"2024-12-15T10:59:47.071924Z","shell.execute_reply.started":"2024-12-15T10:59:37.67201Z","shell.execute_reply":"2024-12-15T10:59:47.071071Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"<p style=\"\n font-family: 'Meiryo UI';\n font-size: 28px; \n font-weight: bold;\n color: #ffffff;\n background-color: #2060A0; \n display: inline-block;\n border-radius: 5px;\n padding: 15px 120px;\n margin-left: 0px;\n\">\n  EDA (Exploratory Data Analysis)\n</p>","metadata":{}},{"cell_type":"code","source":"train.info()","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-15T10:59:47.073104Z","iopub.execute_input":"2024-12-15T10:59:47.073504Z","iopub.status.idle":"2024-12-15T10:59:47.606869Z","shell.execute_reply.started":"2024-12-15T10:59:47.073439Z","shell.execute_reply":"2024-12-15T10:59:47.605995Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"<p style=\"\n font-family: 'Meiryo UI';\n font-size: 24px; \n font-weight: bold;\n color: #ffffff;\n background-color: #007040; \n display: inline-block;\n border-radius: 15px;\n padding: 12px 50px;\n margin-left: 0px;\n\">\n Datetime Transformation\n</p>","metadata":{}},{"cell_type":"code","source":"# Retrieve columns with 'object' data type\ndatetime_columns = train.select_dtypes(include=['object']).columns\n\nfor col in datetime_columns:\n    try:\n        # Convert the column to datetime format\n        train[col] = pd.to_datetime(train[col], errors='raise')\n        test[col] = pd.to_datetime(test[col], errors='raise')\n\n        # Extract year and month from datetime\n        train['year'] = train[col].dt.year\n        test['year'] = test[col].dt.year\n\n        print(f\"Extracted year from '{col}'.\")\n    except Exception:\n        continue\n\n# 删除列 \"Policy Start Date\" 并修改原 DataFrame\ntrain=train.drop(columns=[\"Policy Start Date\"])\ntest=test.drop(columns=[\"Policy Start Date\"])\n","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-15T10:59:47.607909Z","iopub.execute_input":"2024-12-15T10:59:47.60817Z","iopub.status.idle":"2024-12-15T10:59:49.107561Z","shell.execute_reply.started":"2024-12-15T10:59:47.608145Z","shell.execute_reply":"2024-12-15T10:59:49.106843Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"train.tail().T","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-15T10:59:49.108647Z","iopub.execute_input":"2024-12-15T10:59:49.109003Z","iopub.status.idle":"2024-12-15T10:59:49.12118Z","shell.execute_reply.started":"2024-12-15T10:59:49.108955Z","shell.execute_reply":"2024-12-15T10:59:49.120413Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"<p style=\"\n font-family: 'Meiryo UI';\n font-size: 24px; \n font-weight: bold;\n color: #ffffff;\n background-color: #007040; \n display: inline-block;\n border-radius: 15px;\n padding: 12px 50px;\n margin-left: 0px;\n\">\n Missing Values Count\n</p>","metadata":{}},{"cell_type":"code","source":"train.isnull().sum()","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-15T10:59:49.122178Z","iopub.execute_input":"2024-12-15T10:59:49.122473Z","iopub.status.idle":"2024-12-15T10:59:49.604432Z","shell.execute_reply.started":"2024-12-15T10:59:49.122448Z","shell.execute_reply":"2024-12-15T10:59:49.60346Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"<p style=\"\n font-family: 'Meiryo UI';\n font-size: 24px; \n font-weight: bold;\n color: #ffffff;\n background-color: #007040; \n display: inline-block;\n border-radius: 15px;\n padding: 12px 50px;\n margin-left: 0px;\n\">\n Visualizing Missing Values\n</p>","metadata":{}},{"cell_type":"code","source":"# Function to highlight missing values in the DataFrame\ndef highlight_missing(val):\n    if pd.isna(val):\n        # Apply styling for missing values\n        return 'background-color: SkyBlue; border: 1px solid red'\n    else:\n        return ''\n\n# Identify columns with missing values\ncolumns_with_issues = train.columns[train.isnull().sum() > 0]\n\n# Select representative rows with missing values for each column\nrepresentative_rows = pd.concat(\n    [train[train[col].isnull()].iloc[:1] for col in columns_with_issues]\n).drop_duplicates()\n\n# Apply styling to highlight missing values in the selected rows\nstyled_df = representative_rows.T.style.applymap(highlight_missing)\n\n# Display the styled DataFrame\ndisplay(styled_df)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-15T10:59:49.60554Z","iopub.execute_input":"2024-12-15T10:59:49.605892Z","iopub.status.idle":"2024-12-15T10:59:50.45272Z","shell.execute_reply.started":"2024-12-15T10:59:49.605853Z","shell.execute_reply":"2024-12-15T10:59:50.451796Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"<p style=\"\n font-family: 'Meiryo UI';\n font-size: 24px; \n font-weight: bold;\n color: #ffffff;\n background-color: #007040; \n display: inline-block;\n border-radius: 15px;\n padding: 12px 50px;\n margin-left: 0px;\n\">\n Filling missing values\n\n</p>","metadata":{}},{"cell_type":"code","source":"def proceed_data(data):\n    # replacing the missing values with 0\n    data['Previous Claims'] = data['Previous Claims'].fillna(0.0)\n    data['Number of Dependents'] = data['Number of Dependents'].fillna(0)\n    data['Insurance Duration'] = data['Insurance Duration'].fillna(0)\n    \n    # 使用均值填充缺失值\n    numericalColumns = ['Age', 'Annual Income', 'Health Score', 'Credit Score', 'Vehicle Age']\n    for column in numericalColumns:\n        if column in data.columns:  # 确保列存在于数据集中\n            meanValue = data[column].mean()  # 计算列的平均值\n            data[column] = data[column].fillna(meanValue)  # 用均值填充缺失值\n\n                \nproceed_data(train)\nproceed_data(test)    \n        \n# Fill missing values in object columns\nobject_columns = train.select_dtypes(include=['object']).columns\nfor col in object_columns:\n    if col in test.columns:\n        train[col].fillna(\"Unknown\", inplace=True)\n        test[col].fillna(\"Unknown\", inplace=True)\n\n","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-15T10:59:50.456591Z","iopub.execute_input":"2024-12-15T10:59:50.456877Z","iopub.status.idle":"2024-12-15T10:59:51.801295Z","shell.execute_reply.started":"2024-12-15T10:59:50.45685Z","shell.execute_reply":"2024-12-15T10:59:51.800597Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"train.tail().T","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-15T10:59:51.802343Z","iopub.execute_input":"2024-12-15T10:59:51.80269Z","iopub.status.idle":"2024-12-15T10:59:51.814164Z","shell.execute_reply.started":"2024-12-15T10:59:51.802653Z","shell.execute_reply":"2024-12-15T10:59:51.81336Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"train.isnull().sum()","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-15T10:59:51.815486Z","iopub.execute_input":"2024-12-15T10:59:51.815827Z","iopub.status.idle":"2024-12-15T10:59:52.299722Z","shell.execute_reply.started":"2024-12-15T10:59:51.815791Z","shell.execute_reply":"2024-12-15T10:59:52.29903Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"<p style=\"\n font-family: 'Meiryo UI';\n font-size: 24px; \n font-weight: bold;\n color: #ffffff;\n background-color: #007040; \n display: inline-block;\n border-radius: 15px;\n padding: 12px 35px;\n margin-left: 0px;\n\">\n Label Encoding for Categorical Features\n</p>","metadata":{}},{"cell_type":"code","source":"le = LabelEncoder()\nobject_columns = train.select_dtypes(include=['object']).columns\nfor column_name in object_columns:\n    train[column_name] = le.fit_transform(train[column_name])    \n    test[column_name] = le.transform(test[column_name])","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-15T10:59:52.300934Z","iopub.execute_input":"2024-12-15T10:59:52.301204Z","iopub.status.idle":"2024-12-15T10:59:55.70095Z","shell.execute_reply.started":"2024-12-15T10:59:52.301178Z","shell.execute_reply":"2024-12-15T10:59:55.700231Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"train.dtypes","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-15T10:59:55.701952Z","iopub.execute_input":"2024-12-15T10:59:55.702236Z","iopub.status.idle":"2024-12-15T10:59:55.709016Z","shell.execute_reply.started":"2024-12-15T10:59:55.70221Z","shell.execute_reply":"2024-12-15T10:59:55.708233Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"<p style=\"\n font-family: 'Meiryo UI';\n font-size: 24px; \n font-weight: bold;\n color: #ffffff;\n background-color: #007040; \n display: inline-block;\n border-radius: 15px;\n padding: 12px 50px;\n margin-left: 0px;\n\">\n Dataset Normalization\n</p>","metadata":{}},{"cell_type":"code","source":"# Select numerical columns\nnumerical_columns = train.select_dtypes(include=['float64']).columns\nnumerical_columns = numerical_columns[numerical_columns != target_column]\n\n# Applying Normalization\nscaler = StandardScaler()\ntrain[numerical_columns] = scaler.fit_transform(train[numerical_columns])\ntest[numerical_columns] = scaler.transform(test[numerical_columns])","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-15T10:59:55.710092Z","iopub.execute_input":"2024-12-15T10:59:55.710383Z","iopub.status.idle":"2024-12-15T10:59:56.067243Z","shell.execute_reply.started":"2024-12-15T10:59:55.710357Z","shell.execute_reply":"2024-12-15T10:59:56.06655Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"import matplotlib.pyplot as plt\nimport numpy as np\n\n# 根据特征数量动态调整布局\ncolumns_to_plot = train.columns\nn_features = len(columns_to_plot)\nn_cols = 4  # 每行显示的图数量\nn_rows = int(np.ceil(n_features / n_cols))  # 动态计算行数\n\n# 创建子图\nfig, axes = plt.subplots(nrows=n_rows, ncols=n_cols, figsize=(12, n_rows * 3))  # 调整图形大小\naxes = axes.flatten()\n\n# 绘制每个特征的分布\nfor i, column in enumerate(columns_to_plot):\n    ax = axes[i]\n    if train[column].nunique() > 10:  # 如果类别超过10，认为是数值型特征\n        train[column].hist(ax=ax, bins=20, color='skyblue', edgecolor='black', linewidth=0.5)\n        ax.set_ylabel('Frequency')\n    else:  # 否则认为是分类型特征\n        train[column].value_counts().plot(kind='bar', ax=ax, color='skyblue', edgecolor='black', linewidth=0.5)\n        ax.set_ylabel('Count')\n    ax.set_title(column, fontsize=9)\n    ax.tick_params(axis='both', which='major', labelsize=6)\n\n# 删除多余的子图（如果特征数量不足以填满所有网格）\nfor j in range(i + 1, len(axes)):\n    fig.delaxes(axes[j])\n\n# 全局标题和布局\nplt.suptitle('Dataset Feature Distributions (train)', fontsize=11)\nplt.tight_layout()\nplt.subplots_adjust(top=0.95)  # 调整全局标题与子图的间距\nplt.show()\n","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-15T10:59:56.068313Z","iopub.execute_input":"2024-12-15T10:59:56.068594Z","iopub.status.idle":"2024-12-15T10:59:59.669214Z","shell.execute_reply.started":"2024-12-15T10:59:56.068568Z","shell.execute_reply":"2024-12-15T10:59:59.668341Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"<p style=\"\n font-family: 'Meiryo UI';\n font-size: 24px; \n font-weight: bold;\n color: #ffffff;\n background-color: #007040; \n display: inline-block;\n border-radius: 15px;\n padding: 12px 50px;\n margin-left: 0px;\n\">\n Correlation Heatmap\n</p>","metadata":{}},{"cell_type":"code","source":"# Select only numeric columns from the training data\nnumeric_data = train.select_dtypes(include=['number'])\n\n# Add a new column for the log(y+1)\nnumeric_data['log ( y+1 )'] = np.log1p(train[target_column])\n\n# Create the heatmap\ncorrelation_matrix = numeric_data.corr()\nplt.figure(figsize=(12, 9))\nheatmap = sns.heatmap(correlation_matrix, annot=True, cmap='coolwarm', vmax=1, vmin=-1,\n                      annot_kws={\"size\": 8}, fmt=\".3f\")\nheatmap.set_xticklabels(heatmap.get_xticklabels(), rotation=80, fontsize=9)\nheatmap.set_yticklabels(heatmap.get_yticklabels(), rotation=0, fontsize=9)\n\nplt.title(\"Correlation Heatmap of the Train Data\", fontsize=11)\nplt.tight_layout()\nplt.show()","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-15T10:59:59.670377Z","iopub.execute_input":"2024-12-15T10:59:59.670671Z","iopub.status.idle":"2024-12-15T11:00:02.414742Z","shell.execute_reply.started":"2024-12-15T10:59:59.670644Z","shell.execute_reply":"2024-12-15T11:00:02.413914Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"<p style=\"\n font-family: 'Meiryo UI';\n font-size: 30px; \n font-weight: bold;\n color: #ffffff;\n background-color: #2060A0; \n display: inline-block;\n border-radius: 5px;\n padding: 15px 250px;\n margin-left: 0px;\n\">\n  Model\n</p>","metadata":{}},{"cell_type":"markdown","source":"<p style=\"\n font-family: 'Meiryo UI';\n font-size: 24px; \n font-weight: bold;\n color: #ffffff;\n background-color: #007040; \n display: inline-block;\n border-radius: 15px;\n padding: 12px 50px;\n margin-left: 0px;\n\">\n Prepare training data\n</p>","metadata":{}},{"cell_type":"code","source":"# Prepare training data\nX_train = train.drop([target_column], axis=1)\ny_train = train[target_column]\ny_train_log = np.log1p(y_train)\n\ndisplay(X_train.dtypes, y_train.dtypes, y_train_log.dtypes)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-15T11:00:02.415994Z","iopub.execute_input":"2024-12-15T11:00:02.4167Z","iopub.status.idle":"2024-12-15T11:00:02.493631Z","shell.execute_reply.started":"2024-12-15T11:00:02.416661Z","shell.execute_reply":"2024-12-15T11:00:02.492818Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"<p style=\"\n font-family: 'Meiryo UI';\n font-size: 24px; \n font-weight: bold;\n color: #ffffff;\n background-color: #007040; \n display: inline-block;\n border-radius: 15px;\n padding: 12px 50px;\n margin-left: 0px;\n\">\n Model Setup and Training\n</p>","metadata":{}},{"cell_type":"code","source":"# Initialize the XGBoost regressor model\nmodel = XGBRegressor(random_state=42)#初始化XGBoost模型\n\n# Hyperparameters for XGBoost tuning\n# 定义超参数范围\nparams = {     \n    'n_estimators': [50,100],#基学习器的数量\n    'max_depth': [5],       #树的最大深度\n    'reg_alpha': [0.01,1], #L1正则化项的权重\n    'reg_lambda': [0.01,1], #L2正则化项的权重\n}\n\n# Set up GridSearchCV for hyperparameter tuning\n#利用GridSearchCV进行超参数调优\nsearch = GridSearchCV(\n    estimator = model,              \n    param_grid = params, #指定调优的候选值           \n    cv = 5,                 # k-fold cross-validation\n    verbose = 3,                    \n    scoring = \"neg_root_mean_squared_error\"  \n    #GridSearchCV希望分数越高越好，而RMSE值越小越好，因此选择负值\n    # evaluation metric\n)\n\n# Perform the grid search with cross-validation\nsearch.fit(X_train, y_train_log)\n\nprint(\"Best params: \", search.best_params_)\nprint(\"Best RMSLE: \", -search.best_score_)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-15T11:00:02.494806Z","iopub.execute_input":"2024-12-15T11:00:02.495495Z","iopub.status.idle":"2024-12-15T11:02:09.106181Z","shell.execute_reply.started":"2024-12-15T11:00:02.495454Z","shell.execute_reply":"2024-12-15T11:02:09.105427Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"search.cv_results_","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-15T11:02:09.107006Z","iopub.execute_input":"2024-12-15T11:02:09.107266Z","iopub.status.idle":"2024-12-15T11:02:09.117757Z","shell.execute_reply.started":"2024-12-15T11:02:09.107239Z","shell.execute_reply":"2024-12-15T11:02:09.117207Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"import matplotlib.pyplot as plt\nimport numpy as np\n\n# 树的模型个数与RMSLE的关系\nresult=search.cv_results_\nn_estimators=result['param_n_estimators']\nmean_test_score=[-score for score in result['mean_test_score']]\n\n# 绘制线图\nplt.figure(figsize=(8, 5))\nplt.plot(n_estimators_values, mean_test_score, marker='o', color='b', linestyle='-', linewidth=2, markersize=6)\n\n# 设置图表标题和标签\nplt.title('Relationship between n_estimators and RMSLE', fontsize=14)\nplt.xlabel('Number of Estimators (n_estimators)', fontsize=12)\nplt.ylabel('RMSLE', fontsize=12)\n\n# 显示网格\nplt.grid(True)\n\n# 显示图表\nplt.show()\n","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-15T11:02:09.118762Z","iopub.execute_input":"2024-12-15T11:02:09.119068Z","iopub.status.idle":"2024-12-15T11:02:09.164936Z","shell.execute_reply.started":"2024-12-15T11:02:09.119019Z","shell.execute_reply":"2024-12-15T11:02:09.163528Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"# 最大深度与RMSLE的关系\nresult=search.cv_results_\nmax_depth=result['param_max_depth']\nmean_test_score=[-score for score in result['mean_test_score']]\nprint(max_depth)\nprint(mean_test_score)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-15T11:02:09.165665Z","iopub.status.idle":"2024-12-15T11:02:09.165952Z","shell.execute_reply.started":"2024-12-15T11:02:09.165816Z","shell.execute_reply":"2024-12-15T11:02:09.165831Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"import matplotlib.pyplot as plt\nimport numpy as np\n\n# 最大深度与RMSLE的关系\nresult=search.cv_results_\nmax_depth=[2,3,4,5,6,7]\nmean_test_score=[1.0614739783754479, 1.053727992293238, 1.050084164721112, 1.0485233815147013, 1.048665500748336, 1.0500017039946958]\n\n# 绘制线形图\nplt.figure(figsize=(8, 5))\nplt.plot(max_depth, mean_test_score, marker='o', color='b', linestyle='-', linewidth=2, markersize=6)\n\n# 设置标题和标签\nplt.title('Relationship between max_depth and RMSLE', fontsize=14)\nplt.xlabel('Max Depth', fontsize=12)\nplt.ylabel('RMSLE', fontsize=12)\n\n# 显示网格\nplt.grid(True)\n\n# 显示图形\nplt.show()","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-15T11:02:09.167176Z","iopub.status.idle":"2024-12-15T11:02:09.167517Z","shell.execute_reply.started":"2024-12-15T11:02:09.167364Z","shell.execute_reply":"2024-12-15T11:02:09.167381Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"# 最大深度与RMSLE的关系\nresult=search.cv_results_\nreg_alpha=result['param_reg_alpha']\nreg_lambda=result['param_reg_lambda']\nmean_test_score=[-score for score in result['mean_test_score']]\nprint(reg_alpha)\nprint(reg_lambda)\nprint(mean_test_score)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-15T11:02:09.168769Z","iopub.status.idle":"2024-12-15T11:02:09.169044Z","shell.execute_reply.started":"2024-12-15T11:02:09.168912Z","shell.execute_reply":"2024-12-15T11:02:09.168926Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"import numpy as np\nimport matplotlib.pyplot as plt\n\n# 假设已经有了 reg_alpha_unique, reg_lambda_unique, mean_test_score\n\n# 假设你已经获取了所有唯一的 alpha 和 lambda\nreg_alpha_unique = [0, 0.01, 0.1, 1, 10]\nreg_lambda_unique = [0, 0.01, 0.1, 1, 10]\n\n# 确保 mean_test_score 长度匹配\n# 这里假设 mean_test_score 的长度是 reg_alpha_unique 长度 * reg_lambda_unique 长度\nmean_test_score = [1.0485661365874885, 1.0485936355591583, 1.048464259316471, 1.048515754729983, \n                   1.0485385640919946, 1.0485416927581697, 1.0484291520773064, 1.0485233815147013, \n                   1.048503281374699, 1.0484959522743214, 1.048601571587556, 1.0485176439296626, \n                   1.0486099386003607, 1.0486173663224392, 1.0485128454853256, 1.048599762714282, \n                   1.0484946124470296, 1.0486044365255345, 1.0483641713486156, 1.0485239876694419, \n                   1.0483949306178386, 1.0483949173438518, 1.0483940398407199, 1.048475373350588, \n                   1.0484071986327312]\n\n# 创建一个空的矩阵用于存储 RMSLE 值\nrmsle_matrix = np.zeros((len(reg_alpha_unique), len(reg_lambda_unique)))\n\n# 填充矩阵\nfor i, alpha in enumerate(reg_alpha_unique):\n    for j, lambda_ in enumerate(reg_lambda_unique):\n        index = i * len(reg_lambda_unique) + j\n        rmsle_matrix[i, j] = mean_test_score[index]\n\n# 使用 seaborn 的柔和颜色映射\nsns.set(font_scale=1.2)\nsns.heatmap(rmsle_matrix, annot=True, fmt=\".4f\", cmap=\"crest\", xticklabels=reg_lambda_unique, yticklabels=reg_alpha_unique) \n\n# 绘制热力图\nplt.figure(figsize=(8, 6))\nplt.imshow(rmsle_matrix, cmap='viridis', interpolation='nearest', aspect='auto')\nplt.colorbar(label='RMSLE')\n\n# 设置坐标轴\nplt.xticks(np.arange(len(reg_lambda_unique)), reg_lambda_unique)\nplt.yticks(np.arange(len(reg_alpha_unique)), reg_alpha_unique)\n\n# 设置标题和标签\nplt.title('Heatmap of RMSLE for different reg_alpha and reg_lambda values')\nplt.xlabel('reg_lambda')\nplt.ylabel('reg_alpha')\n\n# 自动调整布局\nplt.tight_layout()\n\n# 显示图形\nplt.show()\n\n","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-15T11:02:09.170364Z","iopub.status.idle":"2024-12-15T11:02:09.170683Z","shell.execute_reply.started":"2024-12-15T11:02:09.17054Z","shell.execute_reply":"2024-12-15T11:02:09.170557Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"from matplotlib.colors import LinearSegmentedColormap\nimport seaborn as sns\nimport numpy as np\nimport matplotlib.pyplot as plt\n\n# 蓝色系莫兰迪色自定义\nblue_morandi_colors = ['#c7d2e3', '#a5b8d0', '#8aa0c2', '#6f83a8', '#4f658b']\nblue_morandi_cmap = LinearSegmentedColormap.from_list(\"blue_morandi\", blue_morandi_colors)\n\n# 数据准备\nreg_alpha_unique = [0, 0.01, 0.1, 1, 10]\nreg_lambda_unique = [0, 0.01, 0.1, 1, 10]\nmean_test_score = [1.0485661365874885, 1.0485936355591583, 1.048464259316471, 1.048515754729983, \n                   1.0485385640919946, 1.0485416927581697, 1.0484291520773064, 1.0485233815147013, \n                   1.048503281374699, 1.0484959522743214, 1.048601571587556, 1.0485176439296626, \n                   1.0486099386003607, 1.0486173663224392, 1.0485128454853256, 1.048599762714282, \n                   1.0484946124470296, 1.0486044365255345, 1.0483641713486156, 1.0485239876694419, \n                   1.0483949306178386, 1.0483949173438518, 1.0483940398407199, 1.048475373350588, \n                   1.0484071986327312]\n\n# 创建矩阵用于存储 RMSLE 值\nrmsle_matrix = np.zeros((len(reg_alpha_unique), len(reg_lambda_unique)))\n\n# 填充矩阵\nfor i, alpha in enumerate(reg_alpha_unique):\n    for j, lambda_ in enumerate(reg_lambda_unique):\n        index = i * len(reg_lambda_unique) + j\n        rmsle_matrix[i, j] = mean_test_score[index]\n\n# 绘制热力图\nplt.figure(figsize=(8, 6))\nsns.heatmap(rmsle_matrix, annot=True, fmt=\".4f\", cmap=blue_morandi_cmap, \n            xticklabels=reg_lambda_unique, yticklabels=reg_alpha_unique, cbar_kws={'label': 'RMSLE'})\n\n# 设置标题和标签\nplt.title('Heatmap of RMSLE with Blue Morandi Colors', fontsize=14)\nplt.xlabel('reg_lambda', fontsize=12)\nplt.ylabel('reg_alpha', fontsize=12)\n\n# 自动调整布局\nplt.tight_layout()\n\n# 显示图形\nplt.show()\n","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-15T11:02:09.172051Z","iopub.status.idle":"2024-12-15T11:02:09.172399Z","shell.execute_reply.started":"2024-12-15T11:02:09.172214Z","shell.execute_reply":"2024-12-15T11:02:09.17223Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"<p style=\"\n font-family: 'Meiryo UI';\n font-size: 24px; \n font-weight: bold;\n color: #ffffff;\n background-color: #007040; \n display: inline-block;\n border-radius: 15px;\n padding: 12px 50px;\n margin-left: 0px;\n\">\n Scatter Plot of True and Predicted Values \n</p>","metadata":{}},{"cell_type":"code","source":"# Scatter Plot of True and Predicted Values (Training Target)\ny_true = y_train\ny_pred = np.expm1(search.predict(X_train))\n\n# Plot preparation\nplt.figure(figsize=(7, 5))\nplt.scatter(y_true, y_pred, c=y_pred, cmap='viridis', edgecolors='blue', s=20, alpha=0.7, linewidth=0.5)\ncb = plt.colorbar()\ncb.set_label('Prediction values')\n\n# Plot the diagonal line\nplt.plot([min(y_true), max(y_true)], [min(y_true), max(y_true)], color='red', linestyle='--', linewidth=1.0)\nplt.axis('equal')\n\n# Add RMSLE text to the plot\nrmsle_text = f'RMSLE : {round(-search.best_score_, 4)}'\nplt.text(0.10, 0.90, rmsle_text, transform=plt.gca().transAxes, fontsize=11, color='brown')\n\n# Labels and title\nplt.xlabel(f'True values ({target_column})', fontsize=11)\nplt.ylabel(f'Predicted values ({target_column})', fontsize=11)\nplt.title('Scatter Plot of True and Predicted Values (train)', fontsize=12)\nplt.grid(True)\nplt.show()\n","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-15T11:02:09.173242Z","iopub.status.idle":"2024-12-15T11:02:09.173582Z","shell.execute_reply.started":"2024-12-15T11:02:09.173432Z","shell.execute_reply":"2024-12-15T11:02:09.173453Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"# Scatter Plot of True and Predicted Values [log(y+1)]\ny_true = y_train_log\ny_pred = search.predict(X_train)\n\n# Plot preparation\nplt.figure(figsize=(7, 5))\nplt.scatter(y_true, y_pred, c=y_pred, cmap='viridis', edgecolors='blue', s=20, alpha=0.7, linewidth=0.5)\ncb = plt.colorbar()\ncb.set_label('Prediction values')\n\n# Plot the diagonal line\nplt.plot([min(y_true), max(y_true)], [min(y_true), max(y_true)], color='red', linestyle='--', linewidth=1.0)\nplt.axis('equal')\n\n# Add RMSLE text to the plot\nrmsle_text = f'RMSLE: {round(-search.best_score_, 4)}'\nplt.text(0.10, 0.90, rmsle_text, transform=plt.gca().transAxes, fontsize=11, color='brown')\n\n# Labels and title\nplt.xlabel('True values [ log(y+1) ]', fontsize=11)\nplt.ylabel('Predicted values [ log(y+1) ]', fontsize=11)\nplt.title('Scatter Plot of True and Predicted Values [log(y+1)]', fontsize=12)\nplt.grid(True)\nplt.show()","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-15T11:02:09.174497Z","iopub.status.idle":"2024-12-15T11:02:09.174791Z","shell.execute_reply.started":"2024-12-15T11:02:09.17465Z","shell.execute_reply":"2024-12-15T11:02:09.174665Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"<p style=\"\n font-family: 'Meiryo UI';\n font-size: 30px; \n font-weight: bold;\n color: #ffffff;\n background-color: #2060A0; \n display: inline-block;\n border-radius: 5px;\n padding: 15px 250px;\n margin-left: 0px;\n\">\n  Submission\n</p>","metadata":{}},{"cell_type":"markdown","source":"<p style=\"\n font-family: 'Meiryo UI';\n font-size: 24px; \n font-weight: bold;\n color: #ffffff;\n background-color: #007040; \n display: inline-block;\n border-radius: 15px;\n padding: 12px 50px;\n margin-left: 0px;\n\">\n Histogram of Target Variable\n</p>","metadata":{}},{"cell_type":"code","source":"def plot_histogram(data, title, xlabel, color, x_limits=None, y_limits=None):\n    sns.histplot(data, kde=True, bins=30, color=color, stat='density')\n    plt.title(title, fontsize=11)\n    plt.xlabel(xlabel, fontsize=10)\n    plt.ylabel('Density', fontsize=10)\n    plt.tick_params(axis='both', which='major', labelsize=7)\n    plt.grid(True, linestyle='--', alpha=0.6)\n    if x_limits:\n        plt.xlim(x_limits)\n    if y_limits:\n        plt.ylim(y_limits)\n\nplt.figure(figsize=(10, 2.5))\n\n# Plot 1: True values (train)\nplt.subplot(1, 3, 1)\nplot_histogram(y_train, title='Histogram : y_true (train)', xlabel='True values (train)', color='blue')\nx_limits = plt.gca().get_xlim()\ny_limits = plt.gca().get_ylim()\n\n# Plot 2: Predicted values (train)\nplt.subplot(1, 3, 2)\nplot_histogram(np.expm1(search.predict(X_train)), title='Histogram : y_pred (train)', \n               xlabel='Predicted values (train)', color='green', x_limits=x_limits, y_limits=y_limits)\n\n# Plot 3: Predicted values (test)\nplt.subplot(1, 3, 3)\nplot_histogram(np.expm1(search.predict(test)), title='Histogram : y_pred (test)', \n               xlabel='Predicted values (test)', color='purple', x_limits=x_limits, y_limits=y_limits)\n\nplt.tight_layout()\nplt.show()\n","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-15T11:03:17.851437Z","iopub.execute_input":"2024-12-15T11:03:17.85182Z","iopub.status.idle":"2024-12-15T11:03:32.270498Z","shell.execute_reply.started":"2024-12-15T11:03:17.851788Z","shell.execute_reply":"2024-12-15T11:03:32.269686Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"<p style=\"\n font-family: 'Meiryo UI';\n font-size: 24px; \n font-weight: bold;\n color: #ffffff;\n background-color: #007040; \n display: inline-block;\n border-radius: 15px;\n padding: 12px 50px;\n margin-left: 5px;\n\">\n Submission\n </p>","metadata":{}},{"cell_type":"markdown","source":"","metadata":{}},{"cell_type":"code","source":"# Generate predictions for the test dataset\ny_test_pred = np.expm1(search.predict(test))\n\n# Create the submission DataFrame\nsubmission = pd.DataFrame({'id': test.index, target_column: y_test_pred})\n\n# Save the submission DataFrame to a CSV file\nsubmission.to_csv('submission.csv', index=False)\n\nsubmission","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-15T11:04:39.623972Z","iopub.execute_input":"2024-12-15T11:04:39.624351Z","iopub.status.idle":"2024-12-15T11:04:41.228752Z","shell.execute_reply.started":"2024-12-15T11:04:39.624314Z","shell.execute_reply":"2024-12-15T11:04:41.227785Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"","metadata":{"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"","metadata":{"trusted":true},"outputs":[],"execution_count":null}]}