{"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"name":"python","version":"3.10.12","mimetype":"text/x-python","codemirror_mode":{"name":"ipython","version":3},"pygments_lexer":"ipython3","nbconvert_exporter":"python","file_extension":".py"},"kaggle":{"accelerator":"none","dataSources":[{"sourceId":84896,"databundleVersionId":10305135,"sourceType":"competition"}],"dockerImageVersionId":30822,"isInternetEnabled":true,"language":"python","sourceType":"notebook","isGpuEnabled":false}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"code","source":"# This Python 3 environment comes with many helpful analytics libraries installed\n# It is defined by the kaggle/python Docker image: https://github.com/kaggle/docker-python\n# For example, here's several helpful packages to load\n\nimport numpy as np # linear algebra\nimport pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)\n\n# Input data files are available in the read-only \"../input/\" directory\n# For example, running this (by clicking run or pressing Shift+Enter) will list all files under the input directory\n\nimport os\nfor dirname, _, filenames in os.walk('/kaggle/input'):\n    for filename in filenames:\n        print(os.path.join(dirname, filename))\n\n# You can write up to 20GB to the current directory (/kaggle/working/) that gets preserved as output when you create a version using \"Save & Run All\" \n# You can also write temporary files to /kaggle/temp/, but they won't be saved outside of the current session","metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","trusted":true,"execution":{"iopub.status.busy":"2024-12-30T16:16:48.012283Z","iopub.execute_input":"2024-12-30T16:16:48.012778Z","iopub.status.idle":"2024-12-30T16:16:48.491738Z","shell.execute_reply.started":"2024-12-30T16:16:48.012743Z","shell.execute_reply":"2024-12-30T16:16:48.490461Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"train = pd.read_csv(\"/kaggle/input/playground-series-s4e12/train.csv\")\ntest = pd.read_csv(\"/kaggle/input/playground-series-s4e12/test.csv\")\nsubmission = pd.read_csv(\"/kaggle/input/playground-series-s4e12/sample_submission.csv\")","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-30T16:16:50.235333Z","iopub.execute_input":"2024-12-30T16:16:50.235945Z","iopub.status.idle":"2024-12-30T16:17:02.389715Z","shell.execute_reply.started":"2024-12-30T16:16:50.235912Z","shell.execute_reply":"2024-12-30T16:17:02.388418Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"display(train.head())","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-30T16:17:07.303785Z","iopub.execute_input":"2024-12-30T16:17:07.304219Z","iopub.status.idle":"2024-12-30T16:17:07.345987Z","shell.execute_reply.started":"2024-12-30T16:17:07.304189Z","shell.execute_reply":"2024-12-30T16:17:07.344782Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"display(train.info())","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-30T16:17:08.284615Z","iopub.execute_input":"2024-12-30T16:17:08.285069Z","iopub.status.idle":"2024-12-30T16:17:08.981788Z","shell.execute_reply.started":"2024-12-30T16:17:08.28504Z","shell.execute_reply":"2024-12-30T16:17:08.980601Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"display(train.nunique())","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-30T16:17:10.649249Z","iopub.execute_input":"2024-12-30T16:17:10.649694Z","iopub.status.idle":"2024-12-30T16:17:12.000272Z","shell.execute_reply.started":"2024-12-30T16:17:10.649658Z","shell.execute_reply":"2024-12-30T16:17:11.999046Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"display(train.isna().sum())","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-30T16:17:13.013771Z","iopub.execute_input":"2024-12-30T16:17:13.014232Z","iopub.status.idle":"2024-12-30T16:17:13.645252Z","shell.execute_reply.started":"2024-12-30T16:17:13.014199Z","shell.execute_reply":"2024-12-30T16:17:13.644059Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"display(test.isna().sum())","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-30T16:17:15.014183Z","iopub.execute_input":"2024-12-30T16:17:15.014568Z","iopub.status.idle":"2024-12-30T16:17:15.433707Z","shell.execute_reply.started":"2024-12-30T16:17:15.014531Z","shell.execute_reply":"2024-12-30T16:17:15.4324Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"gender_mapping = {\"Female\" : 0, \"Male\" : 1}\ntrain['Gender'] = train['Gender'].replace(gender_mapping)\ntest['Gender'] = test['Gender'].replace(gender_mapping)\n\nmarital_status_mapping = {\"Married\" : 0, \"Divorced\" : 1, \"Single\" : 2}\ntrain[\"Marital Status\"] = train[\"Marital Status\"].replace(marital_status_mapping)\ntest[\"Marital Status\"] = test[\"Marital Status\"].replace(marital_status_mapping)\n\neducation_level_mapping = {\"Bachelor's\" : 0, \"Master's\" : 1, \"High School\" : 2, \"PhD\" : 3}\ntrain[\"Education Level\"] = train[\"Education Level\"].replace(education_level_mapping)\ntest[\"Education Level\"] = test[\"Education Level\"].replace(education_level_mapping)\n\noccupation_mapping = {\"Self-Employed\" : 0, \"Employed\" : 1, \"Unemployed\" : 2}\ntrain[\"Occupation\"] = train[\"Occupation\"].replace(occupation_mapping)\ntest[\"Occupation\"] = test[\"Occupation\"].replace(occupation_mapping)\n\nlocation_mapping = {\"Urban\" : 0, \"Rural\" : 1, \"Suburban\" : 2}\ntrain[\"Location\"] = train[\"Location\"].replace(location_mapping)\ntest[\"Location\"] = test[\"Location\"].replace(location_mapping)\n\npolicy_type_mapping = {\"Premium\" : 0, \"Comprehensive\" : 1, \"Basic\" : 2}\ntrain[\"Policy Type\"] = train[\"Policy Type\"].replace(policy_type_mapping)\ntest[\"Policy Type\"] = test[\"Policy Type\"].replace(policy_type_mapping)\n\ncustomer_feedback_mapping = {\"Poor\" : 0, \"Average\" : 1, \"Good\" : 2}\ntrain[\"Customer Feedback\"] = train[\"Customer Feedback\"].replace(customer_feedback_mapping)\ntest[\"Customer Feedback\"] = test[\"Customer Feedback\"].replace(customer_feedback_mapping)\n\nsmoking_status_mapping = {\"No\" : 0, \"Yes\" : 1}\ntrain['Smoking Status'] = train['Smoking Status'].replace(smoking_status_mapping)\ntest['Smoking Status'] = test['Smoking Status'].replace(smoking_status_mapping)\n\nexercise_frequency_mapping = {\"Weekly\" : 0, \"Monthly\" : 1, \"Daily\" : 2, \"Rarely\" : 3}\ntrain[\"Exercise Frequency\"] = train[\"Exercise Frequency\"].replace(exercise_frequency_mapping)\ntest[\"Exercise Frequency\"] = test[\"Exercise Frequency\"].replace(exercise_frequency_mapping)\n\nproperty_type_mapping = {\"House\" : 0, \"Apartment\" : 1, \"Condo\" : 2}\ntrain[\"Property Type\"] = train[\"Property Type\"].replace(property_type_mapping)\ntest[\"Property Type\"] = test[\"Property Type\"].replace(property_type_mapping)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-30T16:17:17.192385Z","iopub.execute_input":"2024-12-30T16:17:17.192812Z","iopub.status.idle":"2024-12-30T16:17:25.225449Z","shell.execute_reply.started":"2024-12-30T16:17:17.192777Z","shell.execute_reply":"2024-12-30T16:17:25.224011Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"#train\ntrain[\"Policy Start Date\"] = pd.to_datetime(train[\"Policy Start Date\"])\n\ntrain[\"Policy Start Year\"] = train[\"Policy Start Date\"].dt.year\ntrain[\"Policy Start Month\"] = train[\"Policy Start Date\"].dt.month\ntrain[\"Policy Start Day\"] = train[\"Policy Start Date\"].dt.day\n\ntrain = train.drop([\"Policy Start Date\"], axis = 1)\n\n#test\ntest[\"Policy Start Date\"] = pd.to_datetime(test[\"Policy Start Date\"])\n\ntest[\"Policy Start Year\"] = test[\"Policy Start Date\"].dt.year\ntest[\"Policy Start Month\"] = test[\"Policy Start Date\"].dt.month\ntest[\"Policy Start Day\"] = test[\"Policy Start Date\"].dt.day\n\ntest = test.drop([\"Policy Start Date\"], axis = 1)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-30T16:17:37.811376Z","iopub.execute_input":"2024-12-30T16:17:37.811824Z","iopub.status.idle":"2024-12-30T16:17:39.224326Z","shell.execute_reply.started":"2024-12-30T16:17:37.811791Z","shell.execute_reply":"2024-12-30T16:17:39.223176Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"#train\ntrain[\"Age\"] = pd.to_numeric(train[\"Age\"], errors = \"coerce\")\n\ntrain[\"Premium Amount\"] = train[\"Premium Amount\"].astype(\"int\")\n\n#test\ntest[\"Age\"] = pd.to_numeric(test[\"Age\"], errors = \"coerce\")","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-30T16:17:42.276359Z","iopub.execute_input":"2024-12-30T16:17:42.276755Z","iopub.status.idle":"2024-12-30T16:17:42.298708Z","shell.execute_reply.started":"2024-12-30T16:17:42.276726Z","shell.execute_reply":"2024-12-30T16:17:42.297489Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"# Marital Status\ntrain[\"Marital Status\"] = train[\"Marital Status\"].fillna(train[\"Marital Status\"].mean().astype(\"int\")).astype(\"int\")\ntest[\"Marital Status\"] = test[\"Marital Status\"].fillna(test[\"Marital Status\"].mean().astype(\"int\")).astype(\"int\")\n\n# Vehicle Age\ntrain[\"Vehicle Age\"] = train[\"Vehicle Age\"].fillna(train[\"Vehicle Age\"].mean().astype(\"int\")).astype(\"int\")\ntest[\"Vehicle Age\"] = test[\"Vehicle Age\"].fillna(test[\"Vehicle Age\"].mean().astype(\"int\")).astype(\"int\")\n\n# Insurance Duration\ntrain[\"Insurance Duration\"] = train[\"Insurance Duration\"].fillna(train[\"Insurance Duration\"].mean().astype(\"int\")).astype(\"int\")\ntest[\"Insurance Duration\"] = test[\"Insurance Duration\"].fillna(test[\"Insurance Duration\"].mean().astype(\"int\")).astype(\"int\")","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-30T16:17:43.990309Z","iopub.execute_input":"2024-12-30T16:17:43.990738Z","iopub.status.idle":"2024-12-30T16:17:44.096443Z","shell.execute_reply.started":"2024-12-30T16:17:43.990709Z","shell.execute_reply":"2024-12-30T16:17:44.095335Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"# Number of Dependents\n# Previous Claims\ntrain = train.drop([\"Number of Dependents\", \"Previous Claims\"], axis = 1)\ntest = test.drop([\"Number of Dependents\", \"Previous Claims\"], axis = 1)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-30T16:17:45.686966Z","iopub.execute_input":"2024-12-30T16:17:45.687488Z","iopub.status.idle":"2024-12-30T16:17:45.886209Z","shell.execute_reply.started":"2024-12-30T16:17:45.68745Z","shell.execute_reply":"2024-12-30T16:17:45.884846Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"# Age\ndef fill_age(df):\n    if pd.isnull(df[\"Age\"]):\n        return target_ages[df[\"Marital Status\"]]\n    return df[\"Age\"]\n\ntarget_ages = train.groupby(\"Marital Status\")[\"Age\"].mean().astype(\"int\")   \ntrain[\"Age\"] = train.apply(fill_age, axis=1).astype(\"int\")\n\ntarget_ages = test.groupby(\"Marital Status\")[\"Age\"].mean().astype(\"int\")   \ntest[\"Age\"] = test.apply(fill_age, axis=1).astype(\"int\")","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-30T16:17:47.55438Z","iopub.execute_input":"2024-12-30T16:17:47.554746Z","iopub.status.idle":"2024-12-30T16:18:05.692296Z","shell.execute_reply.started":"2024-12-30T16:17:47.55472Z","shell.execute_reply":"2024-12-30T16:18:05.690936Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"# Customer Feedback\ndef fill_customer_feedback(df):\n    if pd.isnull(df[\"Customer Feedback\"]):\n        if df[\"Insurance Duration\"] in [1, 2, 3]:\n            return 0\n        elif df[\"Insurance Duration\"] in [4, 5, 6]:\n            return 1\n        elif df[\"Insurance Duration\"] in [7, 8, 9]:\n            return 2\n    return df[\"Customer Feedback\"]\n\ntrain[\"Customer Feedback\"] = train.apply(fill_customer_feedback, axis = 1).astype(\"int\")\n\ntest[\"Customer Feedback\"] = test.apply(fill_customer_feedback, axis = 1).astype(\"int\")","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-30T16:18:13.191019Z","iopub.execute_input":"2024-12-30T16:18:13.191404Z","iopub.status.idle":"2024-12-30T16:18:31.686814Z","shell.execute_reply.started":"2024-12-30T16:18:13.191374Z","shell.execute_reply":"2024-12-30T16:18:31.685565Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"# Annual Income - train\nQ1 = train[\"Annual Income\"].quantile(0.25)\nQ3 = train[\"Annual Income\"].quantile(0.75)\n\nIQR = Q3 - Q1\n\nupper = Q3 + 1.5 * IQR\nlower = Q1 - 1.5 * IQR\n\ntrain.loc[train[\"Annual Income\"] > upper, \"Annual Income\"] = upper\ntrain.loc[train[\"Annual Income\"] < lower, \"Annual Income\"] = lower\n\ntarget_annual_incomes = train.groupby(\"Location\")[\"Annual Income\"].mean().astype(\"int\")\n\ndef fill_annual_income(df):\n    if pd.isnull(df[\"Annual Income\"]):\n        return target_annual_incomes[df[\"Location\"]]\n    return df[\"Annual Income\"]\n    \ntrain[\"Annual Income\"] = train.apply(fill_annual_income, axis=1).astype(\"int\")\n\nQ1 = train[\"Annual Income\"].quantile(0.25)\nQ2 = train[\"Annual Income\"].quantile(0.5)\nQ3 = train[\"Annual Income\"].quantile(0.75)\n\ndef group_annual_income(x):\n    if x < Q1:\n        return 0\n    elif Q1 <= x < Q2:\n        return 1\n    elif Q2 <= x < Q3:\n        return 2\n    elif Q3 <= x:\n        return 3\n\ntrain[\"Annual Income Group\"] = train[\"Annual Income\"].apply(group_annual_income)\n\ntrain = train.drop([\"Annual Income\"], axis = 1)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-30T16:18:38.702007Z","iopub.execute_input":"2024-12-30T16:18:38.70238Z","iopub.status.idle":"2024-12-30T16:18:50.693086Z","shell.execute_reply.started":"2024-12-30T16:18:38.702355Z","shell.execute_reply":"2024-12-30T16:18:50.691996Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"# Annual Income - test\nQ1 = test[\"Annual Income\"].quantile(0.25)\nQ3 = test[\"Annual Income\"].quantile(0.75)\n\nIQR = Q3 - Q1\n\nupper = Q3 + 1.5 * IQR\nlower = Q1 - 1.5 * IQR\n\ntest.loc[test[\"Annual Income\"] > upper, \"Annual Income\"] = upper\ntest.loc[test[\"Annual Income\"] < lower, \"Annual Income\"] = lower\n\ntarget_annual_incomes = test.groupby(\"Location\")[\"Annual Income\"].mean().astype(\"int\")\n    \ntest[\"Annual Income\"] = test.apply(fill_annual_income, axis=1).astype(\"int\")\n\nQ1 = test[\"Annual Income\"].quantile(0.25)\nQ2 = test[\"Annual Income\"].quantile(0.5)\nQ3 = test[\"Annual Income\"].quantile(0.75)\n\ntest[\"Annual Income Group\"] = test[\"Annual Income\"].apply(group_annual_income)\n\ntest = test.drop([\"Annual Income\"], axis = 1)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-30T16:19:22.438301Z","iopub.execute_input":"2024-12-30T16:19:22.438655Z","iopub.status.idle":"2024-12-30T16:19:30.357056Z","shell.execute_reply.started":"2024-12-30T16:19:22.438629Z","shell.execute_reply":"2024-12-30T16:19:30.355935Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"# Health Score - train\ntarget_health_scores = train.groupby([\"Smoking Status\", \"Exercise Frequency\"])[\"Health Score\"].mean().astype(\"int\")\n\ndef fill_health_score(df):\n    if pd.isnull(df[\"Health Score\"]):\n        return target_health_scores[df[\"Smoking Status\"], df[\"Exercise Frequency\"]]\n    return df[\"Health Score\"]\n    \ntrain[\"Health Score\"] = train.apply(fill_health_score, axis=1).astype(\"int\")\n\ndef group_health_score(x):\n    result = round(x / 10)\n    return result\n\ntrain[\"Health Score Group\"] = train[\"Health Score\"].apply(group_health_score)\n\ntrain = train.drop([\"Health Score\"], axis = 1)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-30T16:19:50.751637Z","iopub.execute_input":"2024-12-30T16:19:50.752115Z","iopub.status.idle":"2024-12-30T16:20:04.291444Z","shell.execute_reply.started":"2024-12-30T16:19:50.752085Z","shell.execute_reply":"2024-12-30T16:20:04.290215Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"# Health Score - test\ntarget_health_scores = test.groupby([\"Smoking Status\", \"Exercise Frequency\"])[\"Health Score\"].mean().astype(\"int\")\n    \ntest[\"Health Score\"] = test.apply(fill_health_score, axis=1).astype(\"int\")\n\ntest[\"Health Score Group\"] = test[\"Health Score\"].apply(group_health_score)\n\ntest = test.drop([\"Health Score\"], axis = 1)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-30T16:20:11.052392Z","iopub.execute_input":"2024-12-30T16:20:11.052754Z","iopub.status.idle":"2024-12-30T16:20:20.090598Z","shell.execute_reply.started":"2024-12-30T16:20:11.052728Z","shell.execute_reply":"2024-12-30T16:20:20.089414Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"def fill_na(df):\n    if pd.isnull(df[\"Credit Score\"]):\n        if pd.isnull(df[\"Occupation\"]):\n            df[\"Credit Score\"] = -1\n            df[\"Occupation\"] = -1\n    return df\n\ntrain = train.apply(fill_na, axis = 1)\ntest = test.apply(fill_na, axis = 1)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-30T16:20:22.206001Z","iopub.execute_input":"2024-12-30T16:20:22.206385Z","iopub.status.idle":"2024-12-30T16:22:12.326691Z","shell.execute_reply.started":"2024-12-30T16:20:22.206356Z","shell.execute_reply":"2024-12-30T16:22:12.325443Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"# Credit Score - train\ntarget_credit_scores = train.groupby([\"Occupation\", \"Annual Income Group\"])[\"Credit Score\"].mean().astype(\"int\")\n\ndef fill_credit_score(df):\n    if pd.isnull(df[\"Credit Score\"]):\n        return target_credit_scores[df[\"Occupation\"], df[\"Annual Income Group\"]]\n    return df[\"Credit Score\"]\n    \ntrain[\"Credit Score\"] = train.apply(fill_credit_score, axis=1).astype(\"int\")\n\ndef group_credit_score(x):\n    result = round(x / 50)\n    return result\n\ntrain[\"Credit Score Group\"] = train[\"Credit Score\"].apply(group_credit_score)\n\ntrain = train.drop([\"Credit Score\"], axis = 1)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-30T16:22:54.988097Z","iopub.execute_input":"2024-12-30T16:22:54.988536Z","iopub.status.idle":"2024-12-30T16:23:09.678801Z","shell.execute_reply.started":"2024-12-30T16:22:54.9885Z","shell.execute_reply":"2024-12-30T16:23:09.677741Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"# Credit Score - test\ntarget_credit_scores = test.groupby([\"Occupation\", \"Annual Income Group\"])[\"Credit Score\"].mean().astype(\"int\")\n    \ntest[\"Credit Score\"] = test.apply(fill_credit_score, axis=1).astype(\"int\")\n\ntest[\"Credit Score Group\"] = test[\"Credit Score\"].apply(group_credit_score)\n\ntest = test.drop([\"Credit Score\"], axis = 1)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-30T16:23:33.806243Z","iopub.execute_input":"2024-12-30T16:23:33.806612Z","iopub.status.idle":"2024-12-30T16:23:43.393186Z","shell.execute_reply.started":"2024-12-30T16:23:33.806585Z","shell.execute_reply":"2024-12-30T16:23:43.392018Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"# Occupation\ntarget_occupations = train.groupby(\"Credit Score Group\")[\"Occupation\"].mean().astype(\"int\")\n\ndef fill_occupation(df):\n    if pd.isnull(df[\"Occupation\"]):\n        return target_occupations[df[\"Credit Score Group\"]]\n    return df[\"Occupation\"]\n    \ntrain[\"Occupation\"] = train.apply(fill_occupation, axis=1).astype(\"int\")\n\ntarget_occupations = test.groupby(\"Credit Score Group\")[\"Occupation\"].mean().astype(\"int\")\n\ntest[\"Occupation\"] = test.apply(fill_occupation, axis=1).astype(\"int\")","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-30T16:23:47.308055Z","iopub.execute_input":"2024-12-30T16:23:47.308422Z","iopub.status.idle":"2024-12-30T16:24:08.038525Z","shell.execute_reply.started":"2024-12-30T16:23:47.308396Z","shell.execute_reply":"2024-12-30T16:24:08.037202Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"def convert_columns_to_int(df):\n    return df.astype(\"int\")\n\ntrain = convert_columns_to_int(train)\ntest = convert_columns_to_int(test)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-30T16:28:07.735247Z","iopub.execute_input":"2024-12-30T16:28:07.73567Z","iopub.status.idle":"2024-12-30T16:28:07.900064Z","shell.execute_reply.started":"2024-12-30T16:28:07.735643Z","shell.execute_reply":"2024-12-30T16:28:07.898822Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"display(train.info())","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-30T16:28:10.623264Z","iopub.execute_input":"2024-12-30T16:28:10.623588Z","iopub.status.idle":"2024-12-30T16:28:10.661931Z","shell.execute_reply.started":"2024-12-30T16:28:10.623564Z","shell.execute_reply":"2024-12-30T16:28:10.660816Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"display(train.isna().sum())","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-30T16:28:13.871099Z","iopub.execute_input":"2024-12-30T16:28:13.871532Z","iopub.status.idle":"2024-12-30T16:28:13.904504Z","shell.execute_reply.started":"2024-12-30T16:28:13.871501Z","shell.execute_reply":"2024-12-30T16:28:13.903224Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"display(test.info())","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-30T16:28:15.645855Z","iopub.execute_input":"2024-12-30T16:28:15.646252Z","iopub.status.idle":"2024-12-30T16:28:15.676135Z","shell.execute_reply.started":"2024-12-30T16:28:15.646224Z","shell.execute_reply":"2024-12-30T16:28:15.675148Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"display(test.isna().sum())","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-30T16:28:17.619288Z","iopub.execute_input":"2024-12-30T16:28:17.619648Z","iopub.status.idle":"2024-12-30T16:28:17.642043Z","shell.execute_reply.started":"2024-12-30T16:28:17.619622Z","shell.execute_reply":"2024-12-30T16:28:17.640903Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"display(train.head())","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-30T16:28:19.871329Z","iopub.execute_input":"2024-12-30T16:28:19.871641Z","iopub.status.idle":"2024-12-30T16:28:19.890608Z","shell.execute_reply.started":"2024-12-30T16:28:19.871616Z","shell.execute_reply":"2024-12-30T16:28:19.889436Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"display(test.head())","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-30T16:28:26.947593Z","iopub.execute_input":"2024-12-30T16:28:26.948013Z","iopub.status.idle":"2024-12-30T16:28:26.962115Z","shell.execute_reply.started":"2024-12-30T16:28:26.947984Z","shell.execute_reply":"2024-12-30T16:28:26.960973Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"from sklearn.model_selection import train_test_split\nfrom sklearn.metrics import mean_squared_log_error\nfrom sklearn.ensemble import RandomForestRegressor\n\ntrain_drop = train.drop(columns = [\"id\", \"Premium Amount\"])\ny = train['Premium Amount']\n\ntest_drop = test.drop(columns = [\"id\"])\nx_train, x_test, y_train, y_test = train_test_split(train_drop, y, random_state = 316)\n\nrf = RandomForestRegressor(random_state = 316)\nrf.fit(x_train, y_train)\n\npred = rf.predict(x_test)\nprint('test rmsle :', np.sqrt(mean_squared_log_error(y_test, pred)))\n\npred_test = rf.predict(test_drop)\n\nsumission = pd.DataFrame()\nsumission['id'] = test[\"id\"]\nsumission['Premium Amount'] = pred_test\nsumission.to_csv('sample_submission.csv', index = False)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-30T16:28:37.657532Z","iopub.execute_input":"2024-12-30T16:28:37.657933Z","iopub.status.idle":"2024-12-30T16:45:28.056406Z","shell.execute_reply.started":"2024-12-30T16:28:37.657897Z","shell.execute_reply":"2024-12-30T16:45:28.05529Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"df = pd.read_csv(\"sample_submission.csv\")\ndisplay(df)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-30T16:47:01.272556Z","iopub.execute_input":"2024-12-30T16:47:01.273108Z","iopub.status.idle":"2024-12-30T16:47:01.468628Z","shell.execute_reply.started":"2024-12-30T16:47:01.273073Z","shell.execute_reply":"2024-12-30T16:47:01.466976Z"}},"outputs":[],"execution_count":null}]}