{"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"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":"none","dataSources":[{"sourceId":81933,"databundleVersionId":9643020,"sourceType":"competition"}],"dockerImageVersionId":30786,"isInternetEnabled":true,"language":"python","sourceType":"notebook","isGpuEnabled":false}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"code","source":"import os\nfor dirname, _, filenames in os.walk('/kaggle/input'):\n    for filename in filenames:\n        print(os.path.join(dirname, filename))\n","metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","execution":{"iopub.status.busy":"2024-10-11T08:46:52.383521Z","iopub.execute_input":"2024-10-11T08:46:52.384720Z","iopub.status.idle":"2024-10-11T08:46:53.737083Z","shell.execute_reply.started":"2024-10-11T08:46:52.384648Z","shell.execute_reply":"2024-10-11T08:46:53.735776Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Importing Libraries","metadata":{}},{"cell_type":"code","source":"import numpy as np\nimport pandas as pd \nimport seaborn as sns\nimport matplotlib.pyplot as plt\nfrom scipy import stats\nfrom sklearn.preprocessing import OrdinalEncoder, StandardScaler\nfrom statsmodels.stats.outliers_influence import variance_inflation_factor\nfrom sklearn.decomposition import PCA\nfrom sklearn.feature_selection import f_classif\nfrom sklearn.metrics import accuracy_score, classification_report\nfrom sklearn.model_selection import GridSearchCV, train_test_split\nfrom sklearn.impute import KNNImputer\nfrom sklearn.experimental import enable_iterative_imputer\nfrom sklearn.impute import IterativeImputer\nfrom sklearn.cluster import KMeans\nfrom sklearn.tree import DecisionTreeClassifier\nfrom sklearn.linear_model import LogisticRegression\nfrom sklearn.ensemble import RandomForestClassifier, AdaBoostClassifier, GradientBoostingClassifier\nfrom sklearn.svm import SVC\nfrom xgboost import XGBClassifier","metadata":{"execution":{"iopub.status.busy":"2024-10-11T08:46:53.739307Z","iopub.execute_input":"2024-10-11T08:46:53.739719Z","iopub.status.idle":"2024-10-11T08:46:53.747821Z","shell.execute_reply.started":"2024-10-11T08:46:53.739677Z","shell.execute_reply":"2024-10-11T08:46:53.746469Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Importing Data","metadata":{}},{"cell_type":"code","source":"df = pd.read_csv('/kaggle/input/child-mind-institute-problematic-internet-use/train.csv')\ndf","metadata":{"execution":{"iopub.status.busy":"2024-10-11T08:46:53.749314Z","iopub.execute_input":"2024-10-11T08:46:53.749715Z","iopub.status.idle":"2024-10-11T08:46:53.836002Z","shell.execute_reply.started":"2024-10-11T08:46:53.749667Z","shell.execute_reply":"2024-10-11T08:46:53.834636Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"df.info()","metadata":{"execution":{"iopub.status.busy":"2024-10-11T08:46:53.838975Z","iopub.execute_input":"2024-10-11T08:46:53.839466Z","iopub.status.idle":"2024-10-11T08:46:53.859270Z","shell.execute_reply.started":"2024-10-11T08:46:53.839412Z","shell.execute_reply":"2024-10-11T08:46:53.857741Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"df['sii'].isna().sum() / len(df)","metadata":{"execution":{"iopub.status.busy":"2024-10-11T08:46:53.860922Z","iopub.execute_input":"2024-10-11T08:46:53.861314Z","iopub.status.idle":"2024-10-11T08:46:53.880413Z","shell.execute_reply.started":"2024-10-11T08:46:53.861259Z","shell.execute_reply":"2024-10-11T08:46:53.879218Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"df = df.drop(columns='id')","metadata":{"execution":{"iopub.status.busy":"2024-10-11T08:46:53.881702Z","iopub.execute_input":"2024-10-11T08:46:53.882100Z","iopub.status.idle":"2024-10-11T08:46:53.895617Z","shell.execute_reply.started":"2024-10-11T08:46:53.882059Z","shell.execute_reply":"2024-10-11T08:46:53.894163Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"df.duplicated().sum()","metadata":{"execution":{"iopub.status.busy":"2024-10-11T08:46:53.897171Z","iopub.execute_input":"2024-10-11T08:46:53.897685Z","iopub.status.idle":"2024-10-11T08:46:53.934267Z","shell.execute_reply.started":"2024-10-11T08:46:53.897630Z","shell.execute_reply":"2024-10-11T08:46:53.933019Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"df = df.drop_duplicates()","metadata":{"execution":{"iopub.status.busy":"2024-10-11T08:46:53.935841Z","iopub.execute_input":"2024-10-11T08:46:53.936311Z","iopub.status.idle":"2024-10-11T08:46:53.962667Z","shell.execute_reply.started":"2024-10-11T08:46:53.936258Z","shell.execute_reply":"2024-10-11T08:46:53.961577Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"df.duplicated().sum()","metadata":{"execution":{"iopub.status.busy":"2024-10-11T08:46:53.964262Z","iopub.execute_input":"2024-10-11T08:46:53.964775Z","iopub.status.idle":"2024-10-11T08:46:53.996295Z","shell.execute_reply.started":"2024-10-11T08:46:53.964721Z","shell.execute_reply":"2024-10-11T08:46:53.994960Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"Y = df['sii']\nX = df.drop(columns='sii')","metadata":{"execution":{"iopub.status.busy":"2024-10-11T08:46:54.001398Z","iopub.execute_input":"2024-10-11T08:46:54.001861Z","iopub.status.idle":"2024-10-11T08:46:54.011058Z","shell.execute_reply.started":"2024-10-11T08:46:54.001817Z","shell.execute_reply":"2024-10-11T08:46:54.009480Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size=0.3, shuffle=True, random_state=10)","metadata":{"execution":{"iopub.status.busy":"2024-10-11T08:46:54.012632Z","iopub.execute_input":"2024-10-11T08:46:54.013044Z","iopub.status.idle":"2024-10-11T08:46:54.032199Z","shell.execute_reply.started":"2024-10-11T08:46:54.013003Z","shell.execute_reply":"2024-10-11T08:46:54.030828Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"cate_columns = [\n    # Categorical Integer Columns\n    \"Basic_Demos-Sex\",                     # 0=Male, 1=Female\n    \"FGC-FGC_CU_Zone\",                     # 0=Needs Improvement, 1=Healthy Fitness Zone\n    \"FGC-FGC_GSND_Zone\",                   # 1=Weak, 2=Normal, 3=Strong\n    \"FGC-FGC_GSD_Zone\",                    # 1=Weak, 2=Normal, 3=Strong\n    \"FGC-FGC_PU_Zone\",                     # 0=Needs Improvement, 1=Healthy Fitness Zone\n    \"FGC-FGC_SRL_Zone\",                    # 0=Needs Improvement, 1=Healthy Fitness Zone\n    \"FGC-FGC_SRR_Zone\",                    # 0=Needs Improvement, 1=Healthy Fitness Zone\n    \"FGC-FGC_TL_Zone\",                     # 0=Needs Improvement, 1=Healthy Fitness Zone\n    \"BIA-BIA_Activity_Level_num\",           # 1=Very Light, 2=Light, 3=Moderate, 4=Heavy, 5=Exceptional\n    \"BIA-BIA_Frame_num\",                   # 1=Small, 2=Medium, 3=Large\n    \"PCIAT-PCIAT_01\",                      # 0-5 scale\n    \"PCIAT-PCIAT_02\",                      # 0-5 scale\n    \"PCIAT-PCIAT_03\",                      # 0-5 scale\n    \"PCIAT-PCIAT_04\",                      # 0-5 scale\n    \"PCIAT-PCIAT_05\",                      # 0-5 scale\n    \"PCIAT-PCIAT_06\",                      # 0-5 scale\n    \"PCIAT-PCIAT_07\",                      # 0-5 scale\n    \"PCIAT-PCIAT_08\",                      # 0-5 scale\n    \"PCIAT-PCIAT_09\",                      # 0-5 scale\n    \"PCIAT-PCIAT_10\",                      # 0-5 scale\n    \"PCIAT-PCIAT_11\",                      # 0-5 scale\n    \"PCIAT-PCIAT_12\",                      # 0-5 scale\n    \"PCIAT-PCIAT_13\",                      # 0-5 scale\n    \"PCIAT-PCIAT_14\",                      # 0-5 scale\n    \"PCIAT-PCIAT_15\",                      # 0-5 scale\n    \"PCIAT-PCIAT_16\",                      # 0-5 scale\n    \"PCIAT-PCIAT_17\",                      # 0-5 scale\n    \"PCIAT-PCIAT_18\",                      # 0-5 scale\n    \"PCIAT-PCIAT_19\",                      # 0-5 scale\n    \"PCIAT-PCIAT_20\",                      # 0-5 scale,\n\n    # String Columns\n    \"Basic_Demos-Enroll_Season\",           # Spring, Summer, Fall, Winter\n    \"CGAS-Season\",                         # Spring, Summer, Fall, Winter\n    \"Physical-Season\",                     # Spring, Summer, Fall, Winter\n    \"Fitness_Endurance-Season\",            # Spring, Summer, Fall, Winter\n    \"FGC-Season\",                          # Spring, Summer, Fall, Winter\n    \"BIA-Season\",                          # Spring, Summer, Fall, Winter\n    \"PAQ_A-Season\",                        # Spring, Summer, Fall, Winter\n    \"PAQ_C-Season\",                        # Spring, Summer, Fall, Winter\n    \"PCIAT-Season\",                        # Spring, Summer, Fall, Winter\n    \"SDS-Season\",                          # Spring, Summer, Fall, Winter\n    \"PreInt_EduHx-Season\"                  # Spring, Summer, Fall, Winter\n]","metadata":{"execution":{"iopub.status.busy":"2024-10-11T08:46:54.033620Z","iopub.execute_input":"2024-10-11T08:46:54.034005Z","iopub.status.idle":"2024-10-11T08:46:54.046575Z","shell.execute_reply.started":"2024-10-11T08:46:54.033966Z","shell.execute_reply":"2024-10-11T08:46:54.045196Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"numerical_columns = [\n    \"Basic_Demos-Age\",                        # float\n    \"CGAS-CGAS_Score\",                        # int\n    \"Physical-BMI\",                           # float\n    \"Physical-Height\",                        # float\n    \"Physical-Weight\",                        # float\n    \"Physical-Waist_Circumference\",         # int\n    \"Physical-Diastolic_BP\",                 # int\n    \"Physical-HeartRate\",                    # int\n    \"Physical-Systolic_BP\",                  # int\n    \"Fitness_Endurance-Max_Stage\",           # int\n    \"Fitness_Endurance-Time_Mins\",           # int\n    \"Fitness_Endurance-Time_Sec\",            # int\n    \"FGC-FGC_CU\",                            # int\n    \"FGC-FGC_GSND\",                          # float\n    \"FGC-FGC_GSD\",                           # float\n    \"FGC-FGC_PU\",                            # int\n    \"FGC-FGC_SRL\",                           # float\n    \"FGC-FGC_SRR\",                           # float\n    \"FGC-FGC_TL\",                            # int\n    \"BIA-BIA_BMC\",                           # float\n    \"BIA-BIA_BMI\",                           # float\n    \"BIA-BIA_BMR\",                           # float\n    \"BIA-BIA_DEE\",                           # float\n    \"BIA-BIA_ECW\",                           # float\n    \"BIA-BIA_FFM\",                           # float\n    \"BIA-BIA_FFMI\",                          # float\n    \"BIA-BIA_FMI\",                           # float\n    \"BIA-BIA_Fat\",                           # float\n    \"BIA-BIA_ICW\",                           # float\n    \"BIA-BIA_LDM\",                           # float\n    \"BIA-BIA_LST\",                           # float\n    \"BIA-BIA_SMM\",                           # float\n    \"BIA-BIA_TBW\",                           # float\n    \"PAQ_A-PAQ_A_Total\",                     # float\n    \"PAQ_C-PAQ_C_Total\",                     # float\n    \"SDS-SDS_Total_Raw\",                     # int\n    \"SDS-SDS_Total_T\"                        # int\n]","metadata":{"execution":{"iopub.status.busy":"2024-10-11T08:46:54.048418Z","iopub.execute_input":"2024-10-11T08:46:54.048944Z","iopub.status.idle":"2024-10-11T08:46:54.070447Z","shell.execute_reply.started":"2024-10-11T08:46:54.048891Z","shell.execute_reply":"2024-10-11T08:46:54.068828Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"a = X_train.isna().sum() / len(X_train)\nb = a[a>0.45]\nb","metadata":{"execution":{"iopub.status.busy":"2024-10-11T08:46:54.072254Z","iopub.execute_input":"2024-10-11T08:46:54.072739Z","iopub.status.idle":"2024-10-11T08:46:54.100186Z","shell.execute_reply.started":"2024-10-11T08:46:54.072694Z","shell.execute_reply":"2024-10-11T08:46:54.098649Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"X_train","metadata":{"execution":{"iopub.status.busy":"2024-10-11T08:46:54.101780Z","iopub.execute_input":"2024-10-11T08:46:54.102277Z","iopub.status.idle":"2024-10-11T08:46:54.145087Z","shell.execute_reply.started":"2024-10-11T08:46:54.102219Z","shell.execute_reply":"2024-10-11T08:46:54.144020Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"X_train = X_train.drop(columns=b.index)\nX_train","metadata":{"execution":{"iopub.status.busy":"2024-10-11T08:46:54.146546Z","iopub.execute_input":"2024-10-11T08:46:54.146921Z","iopub.status.idle":"2024-10-11T08:46:54.185475Z","shell.execute_reply.started":"2024-10-11T08:46:54.146877Z","shell.execute_reply":"2024-10-11T08:46:54.184313Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Encoding","metadata":{}},{"cell_type":"code","source":"# encoder = OrdinalEncoder(handle_unknown='use_encoded_value', unknown_value=-1)\n# X_train[categorical_columns] = encoder.fit_transform(X_train[categorical_columns].astype(str))\n","metadata":{"execution":{"iopub.status.busy":"2024-10-11T08:46:54.187493Z","iopub.execute_input":"2024-10-11T08:46:54.188143Z","iopub.status.idle":"2024-10-11T08:46:54.192997Z","shell.execute_reply.started":"2024-10-11T08:46:54.188086Z","shell.execute_reply":"2024-10-11T08:46:54.191747Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"encoding_columns = []\n\nfor i in X_train.columns:\n    if not pd.api.types.is_numeric_dtype(X_train[i]):\n        print(i, X_train[i].unique())\n        encoding_columns.append(i)","metadata":{"execution":{"iopub.status.busy":"2024-10-11T08:46:54.194490Z","iopub.execute_input":"2024-10-11T08:46:54.194903Z","iopub.status.idle":"2024-10-11T08:46:54.213129Z","shell.execute_reply.started":"2024-10-11T08:46:54.194862Z","shell.execute_reply":"2024-10-11T08:46:54.211705Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"season_mapping = {'Winter': 0, 'Spring': 1, 'Summer': 2, 'Fall': 3}\nfor col in encoding_columns:\n    X_train[col] = X_train[col].map(season_mapping)","metadata":{"execution":{"iopub.status.busy":"2024-10-11T08:46:54.214986Z","iopub.execute_input":"2024-10-11T08:46:54.215527Z","iopub.status.idle":"2024-10-11T08:46:54.238749Z","shell.execute_reply.started":"2024-10-11T08:46:54.215471Z","shell.execute_reply":"2024-10-11T08:46:54.237345Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"categorical_columns = [i for i in cate_columns if i in X_train.columns]\ncategorical_columns.append('sii')\nnumerical_columns = [i for i in X_train.columns if i not in categorical_columns]\n\nprint(numerical_columns)\ncategorical_columns","metadata":{"execution":{"iopub.status.busy":"2024-10-11T08:46:54.240811Z","iopub.execute_input":"2024-10-11T08:46:54.241230Z","iopub.status.idle":"2024-10-11T08:46:54.252546Z","shell.execute_reply.started":"2024-10-11T08:46:54.241189Z","shell.execute_reply":"2024-10-11T08:46:54.251139Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Filling Nulls","metadata":{}},{"cell_type":"code","source":"imputer = KNNImputer(n_neighbors=5)\nX_train_array = imputer.fit_transform(X_train[numerical_columns])\nX_train_numerical = pd.DataFrame(X_train_array, columns=numerical_columns)\nX_train = X_train.drop(columns = numerical_columns)\nX_train = pd.concat([X_train.reset_index(drop=True), X_train_numerical.reset_index(drop=True)], axis=1)","metadata":{"execution":{"iopub.status.busy":"2024-10-11T08:46:54.254081Z","iopub.execute_input":"2024-10-11T08:46:54.254470Z","iopub.status.idle":"2024-10-11T08:46:55.202985Z","shell.execute_reply.started":"2024-10-11T08:46:54.254427Z","shell.execute_reply":"2024-10-11T08:46:55.201471Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"X_train[numerical_columns]","metadata":{"execution":{"iopub.status.busy":"2024-10-11T08:46:55.204419Z","iopub.execute_input":"2024-10-11T08:46:55.204807Z","iopub.status.idle":"2024-10-11T08:46:55.239594Z","shell.execute_reply.started":"2024-10-11T08:46:55.204767Z","shell.execute_reply":"2024-10-11T08:46:55.238235Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"X_train[numerical_columns].isna().sum()","metadata":{"execution":{"iopub.status.busy":"2024-10-11T08:46:55.241704Z","iopub.execute_input":"2024-10-11T08:46:55.242107Z","iopub.status.idle":"2024-10-11T08:46:55.257597Z","shell.execute_reply.started":"2024-10-11T08:46:55.242065Z","shell.execute_reply":"2024-10-11T08:46:55.256400Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train_df = pd.concat([X_train.reset_index(drop=True), Y_train.reset_index(drop=True)], axis=1)\ntrain_df","metadata":{"execution":{"iopub.status.busy":"2024-10-11T08:46:55.259045Z","iopub.execute_input":"2024-10-11T08:46:55.259432Z","iopub.status.idle":"2024-10-11T08:46:55.311237Z","shell.execute_reply.started":"2024-10-11T08:46:55.259393Z","shell.execute_reply":"2024-10-11T08:46:55.309903Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train_df[categorical_columns]","metadata":{"execution":{"iopub.status.busy":"2024-10-11T08:46:55.312676Z","iopub.execute_input":"2024-10-11T08:46:55.313062Z","iopub.status.idle":"2024-10-11T08:46:55.356852Z","shell.execute_reply.started":"2024-10-11T08:46:55.313023Z","shell.execute_reply":"2024-10-11T08:46:55.355415Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train_df['sii'].value_counts()","metadata":{"execution":{"iopub.status.busy":"2024-10-11T08:46:55.358388Z","iopub.execute_input":"2024-10-11T08:46:55.358913Z","iopub.status.idle":"2024-10-11T08:46:55.368944Z","shell.execute_reply.started":"2024-10-11T08:46:55.358859Z","shell.execute_reply":"2024-10-11T08:46:55.367456Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"mice_imputer = IterativeImputer(max_iter=50, tol=1e-2, random_state=0, estimator=DecisionTreeClassifier())\n\ntrain_df[categorical_columns] = mice_imputer.fit_transform(train_df[categorical_columns])\nY_train = train_df['sii']\nX_train = train_df.drop(columns='sii')","metadata":{"execution":{"iopub.status.busy":"2024-10-11T08:46:55.370449Z","iopub.execute_input":"2024-10-11T08:46:55.370890Z","iopub.status.idle":"2024-10-11T08:47:27.459422Z","shell.execute_reply.started":"2024-10-11T08:46:55.370848Z","shell.execute_reply":"2024-10-11T08:47:27.458150Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train_df.duplicated().sum()","metadata":{"execution":{"iopub.status.busy":"2024-10-11T08:47:27.466973Z","iopub.execute_input":"2024-10-11T08:47:27.467355Z","iopub.status.idle":"2024-10-11T08:47:27.486552Z","shell.execute_reply.started":"2024-10-11T08:47:27.467318Z","shell.execute_reply":"2024-10-11T08:47:27.485352Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train_df = train_df.drop_duplicates()","metadata":{"execution":{"iopub.status.busy":"2024-10-11T08:47:27.487938Z","iopub.execute_input":"2024-10-11T08:47:27.488362Z","iopub.status.idle":"2024-10-11T08:47:27.503978Z","shell.execute_reply.started":"2024-10-11T08:47:27.488313Z","shell.execute_reply":"2024-10-11T08:47:27.502854Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"Y_train.isna().sum()","metadata":{"execution":{"iopub.status.busy":"2024-10-11T08:47:27.505384Z","iopub.execute_input":"2024-10-11T08:47:27.505804Z","iopub.status.idle":"2024-10-11T08:47:27.513169Z","shell.execute_reply.started":"2024-10-11T08:47:27.505763Z","shell.execute_reply":"2024-10-11T08:47:27.512110Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# def impute_with_kmeans(df, categorical_columns, n_clusters=5):\n#     df_temp = df.copy()\n#     for col in categorical_columns:\n#         df_temp[col].fillna(df_temp[col].mode()[0], inplace=True)\n\n#     kmeans = KMeans(n_clusters=n_clusters, random_state=0)\n#     cluster_labels = kmeans.fit_predict(df_temp)\n\n#     for col in categorical_columns:\n#         for cluster in np.unique(cluster_labels):\n#             mask = (cluster_labels == cluster) & df[col].isna()\n#             most_frequent = df.loc[cluster_labels == cluster, col].mode()[0]\n#             df.loc[mask, col] = most_frequent\n\n#     return df\n\n# train_df[categorical_columns] = impute_with_kmeans(train_df, categorical_columns)","metadata":{"execution":{"iopub.status.busy":"2024-10-11T08:47:27.514508Z","iopub.execute_input":"2024-10-11T08:47:27.514892Z","iopub.status.idle":"2024-10-11T08:47:27.526003Z","shell.execute_reply.started":"2024-10-11T08:47:27.514855Z","shell.execute_reply":"2024-10-11T08:47:27.524664Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"a = X_train.isna().sum()\na[a>0]","metadata":{"execution":{"iopub.status.busy":"2024-10-11T08:47:27.527485Z","iopub.execute_input":"2024-10-11T08:47:27.528055Z","iopub.status.idle":"2024-10-11T08:47:27.549394Z","shell.execute_reply.started":"2024-10-11T08:47:27.527994Z","shell.execute_reply":"2024-10-11T08:47:27.548041Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# imputer1 = IterativeImputer()\n# X_train = imputer1.fit_transform(df)","metadata":{"execution":{"iopub.status.busy":"2024-10-11T08:47:27.550830Z","iopub.execute_input":"2024-10-11T08:47:27.551744Z","iopub.status.idle":"2024-10-11T08:47:27.556310Z","shell.execute_reply.started":"2024-10-11T08:47:27.551689Z","shell.execute_reply":"2024-10-11T08:47:27.555124Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Feature Engineering","metadata":{"execution":{"iopub.status.busy":"2024-10-10T05:19:47.136651Z","iopub.execute_input":"2024-10-10T05:19:47.137734Z","iopub.status.idle":"2024-10-10T05:19:47.142605Z","shell.execute_reply.started":"2024-10-10T05:19:47.137687Z","shell.execute_reply":"2024-10-10T05:19:47.141394Z"}}},{"cell_type":"code","source":"X_train.columns","metadata":{"execution":{"iopub.status.busy":"2024-10-11T08:47:27.557798Z","iopub.execute_input":"2024-10-11T08:47:27.558124Z","iopub.status.idle":"2024-10-11T08:47:27.570732Z","shell.execute_reply.started":"2024-10-11T08:47:27.558089Z","shell.execute_reply":"2024-10-11T08:47:27.569457Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"X_train['Basic_Demos-Enroll_Season_sin'] = np.sin(2 * np.pi * X_train['Basic_Demos-Enroll_Season'] / 4)\nX_train['Basic_Demos-Enroll_Season_cos'] = np.cos(2 * np.pi * X_train['Basic_Demos-Enroll_Season'] / 4)\n\nX_train['CGAS-Season_sin'] = np.sin(2 * np.pi * X_train['CGAS-Season'] / 4)\nX_train['CGAS-Season_cos'] = np.cos(2 * np.pi * X_train['CGAS-Season'] / 4)\n\nX_train['Physical-Season_sin'] = np.sin(2 * np.pi * X_train['Physical-Season'] / 4)\nX_train['Physical-Season_cos'] = np.cos(2 * np.pi * X_train['Physical-Season'] / 4)\n\nX_train['FGC-Season_sin'] = np.sin(2 * np.pi * X_train['FGC-Season'] / 4)\nX_train['FGC-Season_cos'] = np.cos(2 * np.pi * X_train['FGC-Season'] / 4)\n\nX_train['PCIAT-Season_sin'] = np.sin(2 * np.pi * X_train['PCIAT-Season'] / 4)\nX_train['PCIAT-Season_cos'] = np.cos(2 * np.pi * X_train['PCIAT-Season'] / 4)\n\nX_train['SDS-Season_sin'] = np.sin(2 * np.pi * X_train['SDS-Season'] / 4)\nX_train['SDS-Season_cos'] = np.cos(2 * np.pi * X_train['SDS-Season'] / 4)\n\nX_train['PreInt_EduHx-Season_sin'] = np.sin(2 * np.pi * X_train['PreInt_EduHx-Season'] / 4)\nX_train['PreInt_EduHx-Season_cos'] = np.cos(2 * np.pi * X_train['PreInt_EduHx-Season'] / 4)\n","metadata":{"execution":{"iopub.status.busy":"2024-10-11T08:47:27.571979Z","iopub.execute_input":"2024-10-11T08:47:27.572313Z","iopub.status.idle":"2024-10-11T08:47:27.597751Z","shell.execute_reply.started":"2024-10-11T08:47:27.572276Z","shell.execute_reply":"2024-10-11T08:47:27.596545Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"#X_train['BodyStrength&Flexibility'] = X_train['FGC-FGC_CU'] + X_train['FGC-FGC_PU'] + X_train['FGC-FGC_SRL'] + X_train['FGC-FGC_SRR'] + X_train['FGC-FGC_TL']\nX_train['BodyStrength&Flexibility_class'] = X_train['FGC-FGC_CU_Zone'] + X_train['FGC-FGC_PU_Zone'] + X_train['FGC-FGC_SRL_Zone'] + X_train['FGC-FGC_SRR_Zone'] + X_train['FGC-FGC_TL_Zone']","metadata":{"execution":{"iopub.status.busy":"2024-10-11T08:47:27.599299Z","iopub.execute_input":"2024-10-11T08:47:27.599700Z","iopub.status.idle":"2024-10-11T08:47:27.606824Z","shell.execute_reply.started":"2024-10-11T08:47:27.599660Z","shell.execute_reply":"2024-10-11T08:47:27.605643Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"bins = [0, 12, 18, 25, 40, 60, 100]\n# labels = ['Child', 'Adolescent', 'Young_Adult', 'Adult', 'Middle_Aged', 'Senior']\nlabels = [0, 1, 2, 3, 4, 5]\nX_train['Age_Group'] = pd.cut(X_train['Basic_Demos-Age'], bins=bins, labels=labels)\n","metadata":{"execution":{"iopub.status.busy":"2024-10-11T08:47:27.608302Z","iopub.execute_input":"2024-10-11T08:47:27.608697Z","iopub.status.idle":"2024-10-11T08:47:27.624846Z","shell.execute_reply.started":"2024-10-11T08:47:27.608654Z","shell.execute_reply":"2024-10-11T08:47:27.623524Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"def categorize_bmi(bmi):\n    if bmi <= 18.5:\n        return 0\n    elif bmi <= 24.9:\n        return 1\n    elif bmi <= 29.9:\n        return 2\n    elif bmi <= 40:\n        return 3\n    else:\n        return 4  \n\nX_train['BMI_Category'] = X_train['Physical-BMI'].apply(categorize_bmi)\n","metadata":{"execution":{"iopub.status.busy":"2024-10-11T08:47:27.626164Z","iopub.execute_input":"2024-10-11T08:47:27.626583Z","iopub.status.idle":"2024-10-11T08:47:27.639829Z","shell.execute_reply.started":"2024-10-11T08:47:27.626518Z","shell.execute_reply":"2024-10-11T08:47:27.638615Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# def categorize_bp(systolic, diastolic):\n#     if systolic < 120 and diastolic < 80:\n#         return 'Normal'\n#     elif 120 <= systolic < 130 and diastolic < 80:\n#         return 'Elevated'\n#     elif 130 <= systolic < 140 or 80 <= diastolic < 90:\n#         return 'Hypertension_Stage_1'\n#     else:\n#         return 'Hypertension_Stage_2'\n    \ndef categorize_bp(systolic, diastolic):\n    if systolic < 120 and diastolic < 80:\n        return 0\n    elif 120 <= systolic < 130 and diastolic < 80:\n        return 1\n    elif 130 <= systolic < 140 or 80 <= diastolic < 90:\n        return 2\n    else:\n        return 3 \n\nX_train['BP_Category'] = X_train.apply(lambda row: categorize_bp(row['Physical-Systolic_BP'], row['Physical-Diastolic_BP']), axis=1)","metadata":{"execution":{"iopub.status.busy":"2024-10-11T08:47:27.641149Z","iopub.execute_input":"2024-10-11T08:47:27.641503Z","iopub.status.idle":"2024-10-11T08:47:27.687235Z","shell.execute_reply.started":"2024-10-11T08:47:27.641466Z","shell.execute_reply":"2024-10-11T08:47:27.686077Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"pciat_columns = [f'PCIAT-PCIAT_{i:02d}' for i in range(1, 21)]\nX_train['PCIAT_Time_Management'] = X_train[pciat_columns[:5]].mean(axis=1)\nX_train['PCIAT_Withdrawal_Symptoms'] = X_train[pciat_columns[5:10]].mean(axis=1)\nX_train['PCIAT_Neglect_Social_Life'] = X_train[pciat_columns[10:15]].mean(axis=1)\nX_train['PCIAT_Lack_Control'] = X_train[pciat_columns[15:]].mean(axis=1)","metadata":{"execution":{"iopub.status.busy":"2024-10-11T08:47:27.688630Z","iopub.execute_input":"2024-10-11T08:47:27.688955Z","iopub.status.idle":"2024-10-11T08:47:27.708878Z","shell.execute_reply.started":"2024-10-11T08:47:27.688920Z","shell.execute_reply":"2024-10-11T08:47:27.707667Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"X_train['PCIAT_mean'] = X_train[pciat_columns].mean(axis=1)","metadata":{"execution":{"iopub.status.busy":"2024-10-11T08:47:27.710360Z","iopub.execute_input":"2024-10-11T08:47:27.710857Z","iopub.status.idle":"2024-10-11T08:47:27.721835Z","shell.execute_reply.started":"2024-10-11T08:47:27.710804Z","shell.execute_reply":"2024-10-11T08:47:27.720707Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# def categorize_pciat(score):\n#     if score <= 20:\n#         return 'None'\n#     elif score <= 49:\n#         return 'Mild'\n#     elif score <= 79:\n#         return 'Moderate'\n#     else:\n#         return 'Severe'\n\ndef categorize_pciat(score):\n    if score <= 20:\n        return 0\n    elif score <= 49:\n        return 1\n    elif score <= 79:\n        return 2\n    else:\n        return 3\n    \nX_train['PCIAT_Category'] = X_train['PCIAT-PCIAT_Total'].apply(categorize_pciat)","metadata":{"execution":{"iopub.status.busy":"2024-10-11T08:47:27.723274Z","iopub.execute_input":"2024-10-11T08:47:27.723660Z","iopub.status.idle":"2024-10-11T08:47:27.735245Z","shell.execute_reply.started":"2024-10-11T08:47:27.723611Z","shell.execute_reply":"2024-10-11T08:47:27.734070Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"def categorize_sds(score):\n    if pd.isna(score) or score < 0:\n        return np.nan\n    elif score <= 20:\n        return 0\n    elif score <= 40:\n        return 1\n    elif score <= 60:\n        return 2\n    elif score <= 80:\n        return 3\n    else:\n        return 4  \n\nX_train['SDS_Severity'] = X_train['SDS-SDS_Total_Raw'].apply(categorize_sds)","metadata":{"execution":{"iopub.status.busy":"2024-10-11T08:47:27.736777Z","iopub.execute_input":"2024-10-11T08:47:27.737249Z","iopub.status.idle":"2024-10-11T08:47:27.751781Z","shell.execute_reply.started":"2024-10-11T08:47:27.737207Z","shell.execute_reply":"2024-10-11T08:47:27.750459Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"X_train['BMI_Age_Interaction'] = X_train['Physical-BMI'] * X_train['Basic_Demos-Age']\nX_train['HeartRate_BPCategory_Interaction'] = X_train['BP_Category'] * X_train['Basic_Demos-Age']","metadata":{"execution":{"iopub.status.busy":"2024-10-11T08:47:27.753117Z","iopub.execute_input":"2024-10-11T08:47:27.753507Z","iopub.status.idle":"2024-10-11T08:47:27.765178Z","shell.execute_reply.started":"2024-10-11T08:47:27.753469Z","shell.execute_reply":"2024-10-11T08:47:27.763984Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"X_train['Sleep_Quality_Index'] = (X_train['SDS-SDS_Total_T'] - X_train['SDS-SDS_Total_T'].min()) / (X_train['SDS-SDS_Total_T'].max() - X_train['SDS-SDS_Total_T'].min())\nX_train['Physical_Health_Index'] = ((X_train['Physical-BMI'] - X_train['Physical-BMI'].mean()) / X_train['Physical-BMI'].std() + (X_train['Physical-Systolic_BP'] - X_train['Physical-Systolic_BP'].mean()) / X_train['Physical-Systolic_BP'].std() + (X_train['Physical-HeartRate'] - X_train['Physical-HeartRate'].mean()) / X_train['Physical-HeartRate'].std()) / 3","metadata":{"execution":{"iopub.status.busy":"2024-10-11T08:47:27.766749Z","iopub.execute_input":"2024-10-11T08:47:27.767229Z","iopub.status.idle":"2024-10-11T08:47:27.782901Z","shell.execute_reply.started":"2024-10-11T08:47:27.767190Z","shell.execute_reply":"2024-10-11T08:47:27.781613Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"fgc_columns = ['FGC-FGC_CU', 'FGC-FGC_PU', 'FGC-FGC_SRL', 'FGC-FGC_SRR', 'FGC-FGC_TL']\n\nX_train['Overall_Fitness_Score'] = X_train[fgc_columns].mean(axis=1)\nX_train['Internet_Usage_Score'] = X_train['PCIAT-PCIAT_Total'] / 100\nX_train['Physical_Activity_Score'] = X_train['Overall_Fitness_Score'] / X_train['Overall_Fitness_Score'].max()\nX_train['Lifestyle_Score'] = ((1 - X_train['Internet_Usage_Score']) +  X_train['Physical_Activity_Score'] + (1 - X_train['Sleep_Quality_Index'])) / 3","metadata":{"execution":{"iopub.status.busy":"2024-10-11T08:47:27.784412Z","iopub.execute_input":"2024-10-11T08:47:27.784950Z","iopub.status.idle":"2024-10-11T08:47:27.799003Z","shell.execute_reply.started":"2024-10-11T08:47:27.784897Z","shell.execute_reply":"2024-10-11T08:47:27.797733Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"X_train = X_train.drop(columns=['SDS-SDS_Total_T', 'SDS-SDS_Total_Raw', 'PCIAT-PCIAT_Total', 'Physical-Height', 'Physical-Weight', 'FGC-FGC_CU', 'FGC-FGC_PU', 'FGC-FGC_SRL', 'FGC-FGC_SRR', 'FGC-FGC_TL', 'FGC-FGC_CU_Zone', 'FGC-FGC_PU_Zone', 'FGC-FGC_SRR_Zone', 'FGC-FGC_SRL_Zone', 'FGC-FGC_TL_Zone', 'PCIAT-PCIAT_01', 'PCIAT-PCIAT_02', 'PCIAT-PCIAT_03', 'PCIAT-PCIAT_04', 'PCIAT-PCIAT_05', 'PCIAT-PCIAT_06', 'PCIAT-PCIAT_07', 'PCIAT-PCIAT_08', 'PCIAT-PCIAT_09', 'PCIAT-PCIAT_10', 'PCIAT-PCIAT_11', 'PCIAT-PCIAT_12', 'PCIAT-PCIAT_13', 'PCIAT-PCIAT_14', 'PCIAT-PCIAT_15', 'PCIAT-PCIAT_16', 'PCIAT-PCIAT_17', 'PCIAT-PCIAT_18', 'PCIAT-PCIAT_19', 'PCIAT-PCIAT_20'])\nX_train = X_train.drop(columns=encoding_columns)\nX_train.columns","metadata":{"execution":{"iopub.status.busy":"2024-10-11T08:47:27.800299Z","iopub.execute_input":"2024-10-11T08:47:27.800681Z","iopub.status.idle":"2024-10-11T08:47:27.821387Z","shell.execute_reply.started":"2024-10-11T08:47:27.800629Z","shell.execute_reply":"2024-10-11T08:47:27.820118Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"X_train","metadata":{"execution":{"iopub.status.busy":"2024-10-11T08:47:27.822836Z","iopub.execute_input":"2024-10-11T08:47:27.823228Z","iopub.status.idle":"2024-10-11T08:47:27.862288Z","shell.execute_reply.started":"2024-10-11T08:47:27.823190Z","shell.execute_reply":"2024-10-11T08:47:27.861116Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Log Scaling","metadata":{}},{"cell_type":"code","source":"for i in X_train.columns:\n    if not pd.api.types.is_numeric_dtype(X_train[i]):\n        print(i, X_train[i].unique())\n        ","metadata":{"execution":{"iopub.status.busy":"2024-10-11T08:47:27.864052Z","iopub.execute_input":"2024-10-11T08:47:27.864515Z","iopub.status.idle":"2024-10-11T08:47:27.874526Z","shell.execute_reply.started":"2024-10-11T08:47:27.864463Z","shell.execute_reply":"2024-10-11T08:47:27.873211Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"X_train['Age_Group'].head()","metadata":{"execution":{"iopub.status.busy":"2024-10-11T08:47:27.876401Z","iopub.execute_input":"2024-10-11T08:47:27.876894Z","iopub.status.idle":"2024-10-11T08:47:27.888347Z","shell.execute_reply.started":"2024-10-11T08:47:27.876832Z","shell.execute_reply":"2024-10-11T08:47:27.887236Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"X_train.isna().sum()","metadata":{"execution":{"iopub.status.busy":"2024-10-11T08:47:27.889671Z","iopub.execute_input":"2024-10-11T08:47:27.890016Z","iopub.status.idle":"2024-10-11T08:47:27.908305Z","shell.execute_reply.started":"2024-10-11T08:47:27.889980Z","shell.execute_reply":"2024-10-11T08:47:27.907099Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"numerical_cols = [i for i in numerical_columns if i in X_train.columns]\nnumerical_cols","metadata":{"execution":{"iopub.status.busy":"2024-10-11T08:47:27.909860Z","iopub.execute_input":"2024-10-11T08:47:27.910221Z","iopub.status.idle":"2024-10-11T08:47:27.917811Z","shell.execute_reply.started":"2024-10-11T08:47:27.910183Z","shell.execute_reply":"2024-10-11T08:47:27.916727Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"X_train[numerical_cols] = X_train[numerical_cols] + 1\nX_train[numerical_cols] = X_train[numerical_cols].apply(np.log)","metadata":{"execution":{"iopub.status.busy":"2024-10-11T08:47:27.919326Z","iopub.execute_input":"2024-10-11T08:47:27.919786Z","iopub.status.idle":"2024-10-11T08:47:27.934909Z","shell.execute_reply.started":"2024-10-11T08:47:27.919745Z","shell.execute_reply":"2024-10-11T08:47:27.933579Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Feature Selection","metadata":{}},{"cell_type":"code","source":"plt.figure(figsize=(35, 20))\ncorr = pd.concat([X_train.reset_index(drop=True), Y_train.reset_index(drop=True)], axis=1).corr()\nsns.heatmap(corr, annot=True, cmap='coolwarm')\nplt.show()","metadata":{"execution":{"iopub.status.busy":"2024-10-11T08:47:27.936600Z","iopub.execute_input":"2024-10-11T08:47:27.936995Z","iopub.status.idle":"2024-10-11T08:47:33.415753Z","shell.execute_reply.started":"2024-10-11T08:47:27.936956Z","shell.execute_reply":"2024-10-11T08:47:33.414511Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"X_train = X_train.drop(columns=['PCIAT_Time_Management', 'Basic_Demos-Enroll_Season_sin', 'Basic_Demos-Enroll_Season_cos', 'PCIAT_Withdrawal_Symptoms', 'PCIAT_Neglect_Social_Life', 'PCIAT_Lack_Control', 'BP_Category', 'Basic_Demos-Age', 'Physical-BMI'])","metadata":{"execution":{"iopub.status.busy":"2024-10-11T08:47:33.417611Z","iopub.execute_input":"2024-10-11T08:47:33.417971Z","iopub.status.idle":"2024-10-11T08:47:33.426317Z","shell.execute_reply.started":"2024-10-11T08:47:33.417934Z","shell.execute_reply":"2024-10-11T08:47:33.425124Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"plt.figure(figsize=(35, 20))\ncorr = pd.concat([X_train.reset_index(drop=True), Y_train.reset_index(drop=True)], axis=1).corr()\nsns.heatmap(corr, annot=True, cmap='coolwarm')\nplt.show()","metadata":{"execution":{"iopub.status.busy":"2024-10-11T08:47:33.427871Z","iopub.execute_input":"2024-10-11T08:47:33.428229Z","iopub.status.idle":"2024-10-11T08:47:36.720848Z","shell.execute_reply.started":"2024-10-11T08:47:33.428185Z","shell.execute_reply":"2024-10-11T08:47:36.719262Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# X_test","metadata":{}},{"cell_type":"markdown","source":"# X_test Encoding","metadata":{}},{"cell_type":"code","source":"for col in encoding_columns:\n    X_test[col] = X_test[col].map(season_mapping)","metadata":{"execution":{"iopub.status.busy":"2024-10-11T08:47:36.722934Z","iopub.execute_input":"2024-10-11T08:47:36.723370Z","iopub.status.idle":"2024-10-11T08:47:36.740034Z","shell.execute_reply.started":"2024-10-11T08:47:36.723325Z","shell.execute_reply":"2024-10-11T08:47:36.738637Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# X_test handling Nulls","metadata":{}},{"cell_type":"code","source":"X_test = X_test.drop(columns=b.index)\nX_test","metadata":{"execution":{"iopub.status.busy":"2024-10-11T08:47:36.741733Z","iopub.execute_input":"2024-10-11T08:47:36.742143Z","iopub.status.idle":"2024-10-11T08:47:36.783806Z","shell.execute_reply.started":"2024-10-11T08:47:36.742101Z","shell.execute_reply":"2024-10-11T08:47:36.782636Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"X_test_array = imputer.transform(X_test[numerical_columns])\nX_test_numerical = pd.DataFrame(X_test_array, columns=numerical_columns)\nX_test = X_test.drop(columns = numerical_columns)\nX_test = pd.concat([X_test.reset_index(drop=True), X_test_numerical.reset_index(drop=True)], axis=1)\nX_test","metadata":{"execution":{"iopub.status.busy":"2024-10-11T08:47:36.785270Z","iopub.execute_input":"2024-10-11T08:47:36.785664Z","iopub.status.idle":"2024-10-11T08:47:37.200304Z","shell.execute_reply.started":"2024-10-11T08:47:36.785625Z","shell.execute_reply":"2024-10-11T08:47:37.199134Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"X_test[numerical_columns]","metadata":{"execution":{"iopub.status.busy":"2024-10-11T08:47:37.201621Z","iopub.execute_input":"2024-10-11T08:47:37.202024Z","iopub.status.idle":"2024-10-11T08:47:37.237243Z","shell.execute_reply.started":"2024-10-11T08:47:37.201975Z","shell.execute_reply":"2024-10-11T08:47:37.235917Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"test_df = pd.concat([X_test.reset_index(drop=True), Y_test.reset_index(drop=True)], axis=1)\ntest_df","metadata":{"execution":{"iopub.status.busy":"2024-10-11T08:47:37.238733Z","iopub.execute_input":"2024-10-11T08:47:37.239113Z","iopub.status.idle":"2024-10-11T08:47:37.280940Z","shell.execute_reply.started":"2024-10-11T08:47:37.239076Z","shell.execute_reply":"2024-10-11T08:47:37.279622Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"test_df[categorical_columns] = mice_imputer.transform(test_df[categorical_columns])\nY_test = test_df['sii']\nX_test = test_df.drop(columns='sii')","metadata":{"execution":{"iopub.status.busy":"2024-10-11T08:47:37.282384Z","iopub.execute_input":"2024-10-11T08:47:37.282767Z","iopub.status.idle":"2024-10-11T08:47:37.899353Z","shell.execute_reply.started":"2024-10-11T08:47:37.282728Z","shell.execute_reply":"2024-10-11T08:47:37.898250Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"test_df.duplicated().sum()","metadata":{"execution":{"iopub.status.busy":"2024-10-11T08:47:37.900601Z","iopub.execute_input":"2024-10-11T08:47:37.901056Z","iopub.status.idle":"2024-10-11T08:47:37.919164Z","shell.execute_reply.started":"2024-10-11T08:47:37.901008Z","shell.execute_reply":"2024-10-11T08:47:37.917807Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# X_test Feature Enginnering","metadata":{}},{"cell_type":"code","source":"X_test['Basic_Demos-Enroll_Season_sin'] = np.sin(2 * np.pi * X_test['Basic_Demos-Enroll_Season'] / 4)\nX_test['Basic_Demos-Enroll_Season_cos'] = np.cos(2 * np.pi * X_test['Basic_Demos-Enroll_Season'] / 4)\n\nX_test['CGAS-Season_sin'] = np.sin(2 * np.pi * X_test['CGAS-Season'] / 4)\nX_test['CGAS-Season_cos'] = np.cos(2 * np.pi * X_test['CGAS-Season'] / 4)\n\nX_test['Physical-Season_sin'] = np.sin(2 * np.pi * X_test['Physical-Season'] / 4)\nX_test['Physical-Season_cos'] = np.cos(2 * np.pi * X_test['Physical-Season'] / 4)\n\nX_test['FGC-Season_sin'] = np.sin(2 * np.pi * X_test['FGC-Season'] / 4)\nX_test['FGC-Season_cos'] = np.cos(2 * np.pi * X_test['FGC-Season'] / 4)\n\nX_test['PCIAT-Season_sin'] = np.sin(2 * np.pi * X_test['PCIAT-Season'] / 4)\nX_test['PCIAT-Season_cos'] = np.cos(2 * np.pi * X_test['PCIAT-Season'] / 4)\n\nX_test['SDS-Season_sin'] = np.sin(2 * np.pi * X_test['SDS-Season'] / 4)\nX_test['SDS-Season_cos'] = np.cos(2 * np.pi * X_test['SDS-Season'] / 4)\n\nX_test['PreInt_EduHx-Season_sin'] = np.sin(2 * np.pi * X_test['PreInt_EduHx-Season'] / 4)\nX_test['PreInt_EduHx-Season_cos'] = np.cos(2 * np.pi * X_test['PreInt_EduHx-Season'] / 4)\n","metadata":{"execution":{"iopub.status.busy":"2024-10-11T08:47:37.920724Z","iopub.execute_input":"2024-10-11T08:47:37.921139Z","iopub.status.idle":"2024-10-11T08:47:37.947982Z","shell.execute_reply.started":"2024-10-11T08:47:37.921099Z","shell.execute_reply":"2024-10-11T08:47:37.946684Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"#X_test['BodyStrength&Flexibility'] = X_test['FGC-FGC_CU'] + X_test['FGC-FGC_PU'] + X_test['FGC-FGC_SRL'] + X_test['FGC-FGC_SRR'] + X_test['FGC-FGC_TL']\nX_test['BodyStrength&Flexibility_class'] = X_test['FGC-FGC_CU_Zone'] + X_test['FGC-FGC_PU_Zone'] + X_test['FGC-FGC_SRL_Zone'] + X_test['FGC-FGC_SRR_Zone'] + X_test['FGC-FGC_TL_Zone']","metadata":{"execution":{"iopub.status.busy":"2024-10-11T08:47:37.949427Z","iopub.execute_input":"2024-10-11T08:47:37.949912Z","iopub.status.idle":"2024-10-11T08:47:37.959831Z","shell.execute_reply.started":"2024-10-11T08:47:37.949859Z","shell.execute_reply":"2024-10-11T08:47:37.958470Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"bins = [0, 12, 18, 25, 40, 60, 100]\n# labels = ['Child', 'Adolescent', 'Young_Adult', 'Adult', 'Middle_Aged', 'Senior']\nlabels = [0, 1, 2, 3, 4, 5]\nX_test['Age_Group'] = pd.cut(X_test['Basic_Demos-Age'], bins=bins, labels=labels)","metadata":{"execution":{"iopub.status.busy":"2024-10-11T08:47:37.961313Z","iopub.execute_input":"2024-10-11T08:47:37.961779Z","iopub.status.idle":"2024-10-11T08:47:37.974752Z","shell.execute_reply.started":"2024-10-11T08:47:37.961727Z","shell.execute_reply":"2024-10-11T08:47:37.973385Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"X_test['BMI_Category'] = X_test['Physical-BMI'].apply(categorize_bmi)\nX_test['BP_Category'] = X_test.apply(lambda row: categorize_bp(row['Physical-Systolic_BP'], row['Physical-Diastolic_BP']), axis=1)\nX_test['PCIAT_Category'] = X_test['PCIAT-PCIAT_Total'].apply(categorize_pciat)\n","metadata":{"execution":{"iopub.status.busy":"2024-10-11T08:47:37.976155Z","iopub.execute_input":"2024-10-11T08:47:37.976621Z","iopub.status.idle":"2024-10-11T08:47:38.006686Z","shell.execute_reply.started":"2024-10-11T08:47:37.976569Z","shell.execute_reply":"2024-10-11T08:47:38.005507Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"X_test['PCIAT_Time_Management'] = X_test[pciat_columns[:5]].mean(axis=1)\nX_test['PCIAT_Withdrawal_Symptoms'] = X_test[pciat_columns[5:10]].mean(axis=1)\nX_test['PCIAT_Neglect_Social_Life'] = X_test[pciat_columns[10:15]].mean(axis=1)\nX_test['PCIAT_Lack_Control'] = X_test[pciat_columns[15:]].mean(axis=1)\nX_test['PCIAT_mean'] = X_test[pciat_columns].mean(axis=1)","metadata":{"execution":{"iopub.status.busy":"2024-10-11T08:47:38.008108Z","iopub.execute_input":"2024-10-11T08:47:38.008586Z","iopub.status.idle":"2024-10-11T08:47:38.029688Z","shell.execute_reply.started":"2024-10-11T08:47:38.008515Z","shell.execute_reply":"2024-10-11T08:47:38.028505Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"X_test['SDS_Severity'] = X_test['SDS-SDS_Total_Raw'].apply(categorize_sds)\nX_test['BMI_Age_Interaction'] = X_test['Physical-BMI'] * X_test['Basic_Demos-Age']\nX_test['HeartRate_BPCategory_Interaction'] = X_test['BP_Category'] * X_test['Basic_Demos-Age']\n\nX_test['Sleep_Quality_Index'] = (X_test['SDS-SDS_Total_T'] - X_test['SDS-SDS_Total_T'].min()) / (X_test['SDS-SDS_Total_T'].max() - X_test['SDS-SDS_Total_T'].min())\nX_test['Physical_Health_Index'] = ((X_test['Physical-BMI'] - X_test['Physical-BMI'].mean()) / X_test['Physical-BMI'].std() + (X_test['Physical-Systolic_BP'] - X_test['Physical-Systolic_BP'].mean()) / X_test['Physical-Systolic_BP'].std() + (X_test['Physical-HeartRate'] - X_test['Physical-HeartRate'].mean()) / X_test['Physical-HeartRate'].std()) / 3\n","metadata":{"execution":{"iopub.status.busy":"2024-10-11T08:47:38.031217Z","iopub.execute_input":"2024-10-11T08:47:38.031752Z","iopub.status.idle":"2024-10-11T08:47:38.049097Z","shell.execute_reply.started":"2024-10-11T08:47:38.031697Z","shell.execute_reply":"2024-10-11T08:47:38.047745Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"X_test['Overall_Fitness_Score'] = X_test[fgc_columns].mean(axis=1)\nX_test['Internet_Usage_Score'] = X_test['PCIAT-PCIAT_Total'] / 100\nX_test['Physical_Activity_Score'] = X_test['Overall_Fitness_Score'] / X_test['Overall_Fitness_Score'].max()\nX_test['Lifestyle_Score'] = ((1 - X_test['Internet_Usage_Score']) +  X_test['Physical_Activity_Score'] + (1 - X_test['Sleep_Quality_Index'])) / 3","metadata":{"execution":{"iopub.status.busy":"2024-10-11T08:47:38.050416Z","iopub.execute_input":"2024-10-11T08:47:38.050823Z","iopub.status.idle":"2024-10-11T08:47:38.066094Z","shell.execute_reply.started":"2024-10-11T08:47:38.050783Z","shell.execute_reply":"2024-10-11T08:47:38.064654Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"X_test = X_test.drop(columns=['SDS-SDS_Total_T', 'SDS-SDS_Total_Raw', 'PCIAT-PCIAT_Total', 'Physical-Height', 'Physical-Weight', 'FGC-FGC_CU', 'FGC-FGC_PU', 'FGC-FGC_SRL', 'FGC-FGC_SRR', 'FGC-FGC_TL', 'FGC-FGC_CU_Zone', 'FGC-FGC_PU_Zone', 'FGC-FGC_SRR_Zone', 'FGC-FGC_SRL_Zone', 'FGC-FGC_TL_Zone', 'PCIAT-PCIAT_01', 'PCIAT-PCIAT_02', 'PCIAT-PCIAT_03', 'PCIAT-PCIAT_04', 'PCIAT-PCIAT_05', 'PCIAT-PCIAT_06', 'PCIAT-PCIAT_07', 'PCIAT-PCIAT_08', 'PCIAT-PCIAT_09', 'PCIAT-PCIAT_10', 'PCIAT-PCIAT_11', 'PCIAT-PCIAT_12', 'PCIAT-PCIAT_13', 'PCIAT-PCIAT_14', 'PCIAT-PCIAT_15', 'PCIAT-PCIAT_16', 'PCIAT-PCIAT_17', 'PCIAT-PCIAT_18', 'PCIAT-PCIAT_19', 'PCIAT-PCIAT_20'])\nX_test = X_test.drop(columns=encoding_columns)\nX_test.columns","metadata":{"execution":{"iopub.status.busy":"2024-10-11T08:47:38.068004Z","iopub.execute_input":"2024-10-11T08:47:38.068461Z","iopub.status.idle":"2024-10-11T08:47:38.085374Z","shell.execute_reply.started":"2024-10-11T08:47:38.068407Z","shell.execute_reply":"2024-10-11T08:47:38.084122Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"X_test[numerical_cols] = X_test[numerical_cols] + 1\nX_test[numerical_cols] = X_test[numerical_cols].apply(np.log)","metadata":{"execution":{"iopub.status.busy":"2024-10-11T08:47:38.087068Z","iopub.execute_input":"2024-10-11T08:47:38.087583Z","iopub.status.idle":"2024-10-11T08:47:38.100180Z","shell.execute_reply.started":"2024-10-11T08:47:38.087513Z","shell.execute_reply":"2024-10-11T08:47:38.098911Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# X_test FS","metadata":{}},{"cell_type":"code","source":"plt.figure(figsize=(35, 20))\ncorr = pd.concat([X_test.reset_index(drop=True), Y_test.reset_index(drop=True)], axis=1).corr()\nsns.heatmap(corr, annot=True, cmap='coolwarm')\nplt.show()","metadata":{"execution":{"iopub.status.busy":"2024-10-11T08:47:38.101630Z","iopub.execute_input":"2024-10-11T08:47:38.102200Z","iopub.status.idle":"2024-10-11T08:47:42.832842Z","shell.execute_reply.started":"2024-10-11T08:47:38.102155Z","shell.execute_reply":"2024-10-11T08:47:42.831350Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"X_test = X_test.drop(columns=['PCIAT_Time_Management', 'Basic_Demos-Enroll_Season_sin', 'Basic_Demos-Enroll_Season_cos', 'PCIAT_Withdrawal_Symptoms', 'PCIAT_Neglect_Social_Life', 'PCIAT_Lack_Control', 'BP_Category', 'Basic_Demos-Age', 'Physical-BMI'])","metadata":{"execution":{"iopub.status.busy":"2024-10-11T08:47:42.834332Z","iopub.execute_input":"2024-10-11T08:47:42.834779Z","iopub.status.idle":"2024-10-11T08:47:42.843908Z","shell.execute_reply.started":"2024-10-11T08:47:42.834731Z","shell.execute_reply":"2024-10-11T08:47:42.842736Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"plt.figure(figsize=(35, 20))\ncorr = pd.concat([X_test.reset_index(drop=True), Y_test.reset_index(drop=True)], axis=1).corr()\nsns.heatmap(corr, annot=True, cmap='coolwarm')\nplt.show()","metadata":{"execution":{"iopub.status.busy":"2024-10-11T08:47:42.845400Z","iopub.execute_input":"2024-10-11T08:47:42.846373Z","iopub.status.idle":"2024-10-11T08:47:46.027857Z","shell.execute_reply.started":"2024-10-11T08:47:42.846328Z","shell.execute_reply":"2024-10-11T08:47:46.026640Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"X_train","metadata":{"execution":{"iopub.status.busy":"2024-10-11T08:47:46.029224Z","iopub.execute_input":"2024-10-11T08:47:46.029575Z","iopub.status.idle":"2024-10-11T08:47:46.067654Z","shell.execute_reply.started":"2024-10-11T08:47:46.029525Z","shell.execute_reply":"2024-10-11T08:47:46.066564Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"X_test","metadata":{"execution":{"iopub.status.busy":"2024-10-11T08:47:46.068982Z","iopub.execute_input":"2024-10-11T08:47:46.069347Z","iopub.status.idle":"2024-10-11T08:47:46.108042Z","shell.execute_reply.started":"2024-10-11T08:47:46.069298Z","shell.execute_reply":"2024-10-11T08:47:46.106905Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"print(set(X_train.columns) - set(X_test.columns))  # Should be an empty set\nprint(set(X_test.columns) - set(X_train.columns))","metadata":{"execution":{"iopub.status.busy":"2024-10-11T08:47:46.109404Z","iopub.execute_input":"2024-10-11T08:47:46.109844Z","iopub.status.idle":"2024-10-11T08:47:46.115561Z","shell.execute_reply.started":"2024-10-11T08:47:46.109806Z","shell.execute_reply":"2024-10-11T08:47:46.114506Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"X_test = X_test[X_train.columns]\n","metadata":{"execution":{"iopub.status.busy":"2024-10-11T08:47:46.116814Z","iopub.execute_input":"2024-10-11T08:47:46.117159Z","iopub.status.idle":"2024-10-11T08:47:46.129377Z","shell.execute_reply.started":"2024-10-11T08:47:46.117123Z","shell.execute_reply":"2024-10-11T08:47:46.127963Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Modelling","metadata":{}},{"cell_type":"code","source":"lr_model = LogisticRegression(multi_class='multinomial', solver=\"lbfgs\", max_iter=1000000)\nlr_model.fit(X_train, Y_train)\n\n\n\nlrt_predictions = lr_model.predict(X_train)\nlr_predictions = lr_model.predict(X_test)\n\n\n\n\nlr_accuracy = accuracy_score(Y_test, lr_predictions)\nprint(\"\\nMultinomial Logistic Regression Training Accuracy (1m iterations & lbfgs):\", accuracy_score(Y_train, lrt_predictions))\nprint(\"Multinomial Logistic Regression Testing Accuracy (1m iterations & lbfgs):\", lr_accuracy, '\\n\\n')\nprint(classification_report(Y_train, lrt_predictions))\nprint(classification_report(Y_test, lr_predictions))","metadata":{"execution":{"iopub.status.busy":"2024-10-11T08:47:46.130946Z","iopub.execute_input":"2024-10-11T08:47:46.131876Z","iopub.status.idle":"2024-10-11T08:48:02.664856Z","shell.execute_reply.started":"2024-10-11T08:47:46.131832Z","shell.execute_reply":"2024-10-11T08:48:02.663581Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"rf_model = RandomForestClassifier()\nrf_model.fit(X_train, Y_train)\n\nrf_predictions0 = rf_model.predict(X_train)\nrf_predictions = rf_model.predict(X_test)\n\n\n\nprint(\"\\nRandom Forest Training Accuracy:\", accuracy_score(Y_train, rf_predictions0))\nrf_accuracy = accuracy_score(Y_test, rf_predictions)\nprint(\"\\nRandom Forest Testing Accuracy:\", rf_accuracy, '\\n\\n')\nprint(classification_report(Y_train, rf_predictions0))\nprint(classification_report(Y_test, rf_predictions))","metadata":{"execution":{"iopub.status.busy":"2024-10-11T08:48:02.666864Z","iopub.execute_input":"2024-10-11T08:48:02.667751Z","iopub.status.idle":"2024-10-11T08:48:03.351982Z","shell.execute_reply.started":"2024-10-11T08:48:02.667692Z","shell.execute_reply":"2024-10-11T08:48:03.350873Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"\n# rf_params = {\n#     'n_estimators': [100,500],\n#     'max_depth': [3, 4, 6, 8, 9, 10],\n#     'min_samples_split': [2, 5, 10],\n#     'min_samples_leaf': [1, 2, 4],\n#     'n_jobs': [-1]\n# }\n\n# rf_grid = GridSearchCV(RandomForestClassifier(), rf_params, cv=5)\n\n# rf_grid.fit(X_train, Y_train)\n\n\n# best_rf_model = rf_grid.best_estimator_\n# best_rf_predictions0 = best_rf_model.predict(X_train)\n\n\n# best_rf_predictions = best_rf_model.predict(X_test)\n\n# best_rf_accuracy = accuracy_score(Y_test, best_rf_predictions)\n# print(\"\\nBest Random Forest Training Accuracy:\", accuracy_score(Y_train, best_rf_predictions0))\n\n# print(\"\\nBest Random Forest Testing Accuracy:\", best_rf_accuracy)\n# print(\"Best Random Forest Parameters:\", rf_grid.best_params_, '\\n\\n')\n\n# print(classification_report(Y_train, best_rf_predictions0))\n# print(classification_report(Y_test, best_rf_predictions))","metadata":{"execution":{"iopub.status.busy":"2024-10-11T08:48:03.361832Z","iopub.execute_input":"2024-10-11T08:48:03.362248Z","iopub.status.idle":"2024-10-11T08:48:03.367463Z","shell.execute_reply.started":"2024-10-11T08:48:03.362209Z","shell.execute_reply":"2024-10-11T08:48:03.366342Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"svm_params = {\n    'C': [0.1, 1, 10],\n    'kernel': ['rbf'],\n    'gamma': ['scale', 'auto'],\n}\nsvm_grid = GridSearchCV(SVC(), svm_params, cv=5)\n\n\n\nsvm_grid.fit(X_train, Y_train)\n\n\nrbf_svm_model = svm_grid.best_estimator_\nrbf_svm_predictions0 = rbf_svm_model.predict(X_train)\n\nrbf_svm_predictions = rbf_svm_model.predict(X_test)\n\n\nrbf_svm_accuracy = accuracy_score(Y_test, rbf_svm_predictions)\nprint(\"\\nSupport Vector Machine Training Accuracy (RBF Kernel):\", accuracy_score(Y_train, rbf_svm_predictions0))\n\nprint(\"\\nSupport Vector Machine Testing Accuracy (RBF Kernel):\", rbf_svm_accuracy)\nprint(\"Support Vector Machine Parameters (RBF Kernel):\", svm_grid.best_params_, '\\n\\n')\n\nprint(classification_report(Y_train, rbf_svm_predictions0))\nprint(classification_report(Y_test, rbf_svm_predictions))","metadata":{"execution":{"iopub.status.busy":"2024-10-11T08:48:03.369054Z","iopub.execute_input":"2024-10-11T08:48:03.369460Z","iopub.status.idle":"2024-10-11T08:48:16.773556Z","shell.execute_reply.started":"2024-10-11T08:48:03.369413Z","shell.execute_reply":"2024-10-11T08:48:16.772433Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"dt_params = {\n    'max_depth': [None, 5, 10],\n    'min_samples_split': [2, 5, 10],\n    'min_samples_leaf': [1, 2, 4]\n}\ndt_grid = GridSearchCV(DecisionTreeClassifier(), dt_params, cv=5)\n\n\ndt_grid.fit(X_train, Y_train)\n\n\nbest_dt_model = dt_grid.best_estimator_\nbest_dt_predictions0 = best_dt_model.predict(X_train)\n\n\nbest_dt_predictions = best_dt_model.predict(X_test)\n\n\nprint(\"\\nBest Decision Tree Training Accuracy:\", accuracy_score(Y_train, best_dt_predictions0))\n\nbest_dt_accuracy = accuracy_score(Y_test, best_dt_predictions)\nprint(\"\\nBest Decision Tree Testing Accuracy:\", best_dt_accuracy)\nprint(\"Best Decision Tree  Parameters:\", dt_grid.best_params_, '\\n\\n')\n\nprint(classification_report(Y_train, best_dt_predictions0))\nprint(classification_report(Y_test, best_dt_predictions))","metadata":{"execution":{"iopub.status.busy":"2024-10-11T08:48:16.775171Z","iopub.execute_input":"2024-10-11T08:48:16.775678Z","iopub.status.idle":"2024-10-11T08:48:20.477468Z","shell.execute_reply.started":"2024-10-11T08:48:16.775622Z","shell.execute_reply":"2024-10-11T08:48:20.476322Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"clf = AdaBoostClassifier(n_estimators=85, algorithm='SAMME', random_state=42)\nclf.fit(X_train, Y_train)\ny_train_pred = clf.predict(X_train)\ny_pred = clf.predict(X_test)\nprint(f'Adaboost accuracy on Train set {accuracy_score(Y_train, y_train_pred)}')\nprint(f'Adaboost accuracy on Test set {accuracy_score(Y_test, y_pred)}', '\\n\\n')\nprint(classification_report(Y_train, y_train_pred))\nprint(classification_report(Y_test, y_pred))","metadata":{"execution":{"iopub.status.busy":"2024-10-11T08:48:20.479201Z","iopub.execute_input":"2024-10-11T08:48:20.479703Z","iopub.status.idle":"2024-10-11T08:48:21.125840Z","shell.execute_reply.started":"2024-10-11T08:48:20.479652Z","shell.execute_reply":"2024-10-11T08:48:21.124670Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"clf = GradientBoostingClassifier(n_estimators=50, max_depth=6, random_state=42)\nclf.fit(X_train, Y_train)\ny_train_pred = clf.predict(X_train)\ny_pred = clf.predict(X_test)\nprint(f'Gradient Boosting Classifier accuracy on Train set {accuracy_score(Y_train, y_train_pred)}')\nprint(f'Gradient Boosting Classifier accuracy on Test set {accuracy_score(Y_test, y_pred)}')\nprint(classification_report(Y_train, y_train_pred))\nprint(classification_report(Y_test, y_pred))","metadata":{"execution":{"iopub.status.busy":"2024-10-11T08:48:21.127197Z","iopub.execute_input":"2024-10-11T08:48:21.127563Z","iopub.status.idle":"2024-10-11T08:48:25.542406Z","shell.execute_reply.started":"2024-10-11T08:48:21.127499Z","shell.execute_reply":"2024-10-11T08:48:25.541296Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"model = XGBClassifier(n_estimators=200, learning_rate=0.05, max_depth=4, subsample=0.8, colsample_bytree=0.8, enable_categorical=True)\nmodel.fit(X_train, Y_train)\n\n# Predictions\ny_train_pred = model.predict(X_train)\ny_pred = model.predict(X_test)\n\n# Print Accuracy Scores\nprint(f'XGB accuracy on Train set: {accuracy_score(Y_train, y_train_pred)}')\nprint(f'XGB accuracy on Test set: {accuracy_score(Y_test, y_pred)}')\n\n# Classification Reports\nprint(classification_report(Y_train, y_train_pred))\nprint(classification_report(Y_test, y_pred))","metadata":{"execution":{"iopub.status.busy":"2024-10-11T08:48:25.544129Z","iopub.execute_input":"2024-10-11T08:48:25.544491Z","iopub.status.idle":"2024-10-11T08:48:26.306290Z","shell.execute_reply.started":"2024-10-11T08:48:25.544453Z","shell.execute_reply":"2024-10-11T08:48:26.304970Z"},"trusted":true},"execution_count":null,"outputs":[]}]}