{"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":30775,"isInternetEnabled":false,"language":"python","sourceType":"notebook","isGpuEnabled":false}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"markdown","source":"![taras-shypka-iFSvn82XfGo-unsplash.jpg](attachment:5369d4c7-73d5-4a89-ad95-911e5b1498de.jpg)\n\n<center>Photo by Taras Shypka on Unsplash</center>\n  ","metadata":{},"attachments":{"5369d4c7-73d5-4a89-ad95-911e5b1498de.jpg":{"image/jpeg":"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"}}},{"cell_type":"markdown","source":"# <p style=\"padding:15px; background-color:chocolate; font-family:arial; font-weight:bold; color:white; font-size:100%; letter-spacing: 2px; text-align:left; border-radius: 10px 10px\">1/ Introduction</p>","metadata":{}},{"cell_type":"markdown","source":" <div style=\"border-radius:12px; border:chocolate solid; padding: 15px; background-color: #f6f5f5; font-size:120%; text-align:left\">\n\n- The main aim of the competition is to use our training data to predict **sii** or **Severity Impairment Index**, which is a standard measure of Problematic Internet Use (PIU).\n- The training data comprises 3,960 records of children and young people with 81 columns (not including the ID column).\n- Of particular importance in the data are results of the **Parent-Child Internet Addiction Test (PCIAT)**.\n- The target is actually derived from the field PCIAT-PCIAT_Total (scored out of 100).\n- We can therefore choose to predict the PCIAT Total and convert this to sii (making this a regression problem) or stick with sii (making this a classification problem).\n- The test data is really just formatted sample data. The actual test data of about 3,800 instances is hidden.\n- In the sample data none of the 22 PCIAT fields are available (in addition to the target feature). Hence the sample data format has 58 columns compared to 81 in the train data.\n- In 1,224 records in the train data the sii target and all the PCIAT columns are missing - presumably because not available.\n- Overall there are > 100,000 missing values in the train data.\n- Only 2,736 records have a target, the rest are missing.\n- 996 of the young people also have sensor data from a worn device which measures gross motor activity.","metadata":{}},{"cell_type":"markdown","source":"# <p style=\"padding:15px; background-color:chocolate; font-family:arial; font-weight:bold; color:white; font-size:100%; letter-spacing: 2px; text-align:left; border-radius: 10px 10px\">2/ Imports</p>","metadata":{}},{"cell_type":"code","source":"import numpy as np, pandas as pd, os\nfrom sklearn.model_selection import cross_val_score, StratifiedKFold\nimport xgboost as xgb\nimport plotly.express as px, seaborn as sns, matplotlib.pyplot as plt\nsns.set_style('darkgrid')\nfrom sklearn.metrics import make_scorer, cohen_kappa_score\nimport eli5\nfrom eli5.sklearn import PermutationImportance\nimport warnings\nwarnings.simplefilter('ignore')","metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","execution":{"iopub.status.busy":"2025-01-07T10:45:24.839983Z","iopub.execute_input":"2025-01-07T10:45:24.840622Z","iopub.status.idle":"2025-01-07T10:45:24.849537Z","shell.execute_reply.started":"2025-01-07T10:45:24.840470Z","shell.execute_reply":"2025-01-07T10:45:24.847988Z"},"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"# <p style=\"padding:15px; background-color:chocolate; font-family:arial; font-weight:bold; color:white; font-size:100%; letter-spacing: 2px; text-align:left; border-radius: 10px 10px\">3/ Data</p>","metadata":{}},{"cell_type":"code","source":"path = '../input/child-mind-institute-problematic-internet-use/'\n\ntrain = pd.read_csv(path + 'train.csv', index_col = 'id')\nprint(\"The train data has the shape: \",train.shape)\ntest = pd.read_csv(path + 'test.csv', index_col = 'id')\nprint(\"The test data has the shape: \",test.shape)\nprint(\"\")\nprint(\"Total number of missing training values: \", train.isna().sum().sum())\ndata_dictionary = pd.read_csv(path + 'data_dictionary.csv')","metadata":{"execution":{"iopub.status.busy":"2025-01-07T10:45:24.851903Z","iopub.execute_input":"2025-01-07T10:45:24.852358Z","iopub.status.idle":"2025-01-07T10:45:24.934652Z","shell.execute_reply.started":"2025-01-07T10:45:24.852312Z","shell.execute_reply":"2025-01-07T10:45:24.932674Z"},"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"# <p style=\"padding:15px; background-color:chocolate; font-family:arial; font-weight:bold; color:white; font-size:100%; letter-spacing: 2px; text-align:left; border-radius: 10px 10px\">4/ Predictive Features</p>","metadata":{}},{"cell_type":"markdown","source":" <div style=\"border-radius:12px; border:chocolate solid; padding: 15px; background-color: #f6f5f5; font-size:120%; text-align:left\">\n    \n* **Demographics** - Information about age and sex of participants.\n* **Internet Use** - Number of hours of using computer/internet per day.\n* **Children's Global Assessment Scale** - Numeric scale used by mental health clinicians to rate the general functioning of youths under the age of 18.\n* **Physical Measures** - Collection of blood pressure, heart rate, height, weight and waist, and hip measurements.\n* **FitnessGram Vitals and Treadmill** - Measurements of cardiovascular fitness assessed using the NHANES treadmill protocol.\n* **FitnessGram Child** - Health related physical fitness assessment measuring five different parameters including aerobic capacity, muscular strength, muscular endurance, flexibility, and body composition.\n* **Bio-electric Impedance Analysis** - Measure of key body composition elements, including BMI, fat, muscle, and water content.\n* **Physical Activity Questionnaire** - Information about children's participation in vigorous activities over the last 7 days.\n* **Sleep Disturbance Scale** - Scale to categorize sleep disorders in children.\n* **Actigraphy** - Objective measure of ecological physical activity through a research-grade biotracker. Many values seem to relate to a period *after* the PCIAT test was carried out. See discussion [here](https://www.kaggle.com/competitions/child-mind-institute-problematic-internet-use/discussion/538082#3017157).\n* **Season** - for each set of measurements there is a 'season' feature which gives the season of the year when the measurements were carried out. These are the only predictive categorical features in the dataset and can be easily preprocessed.","metadata":{}},{"cell_type":"code","source":"train_cat_columns = train.select_dtypes(exclude = 'number').columns\n\nfor season in train_cat_columns:\n    train[season] = train[season].fillna(0)\n    train[season] = train[season].replace({'Spring':1, 'Summer':2, 'Fall':3, 'Winter':4})","metadata":{"execution":{"iopub.status.busy":"2025-01-07T10:45:24.936320Z","iopub.execute_input":"2025-01-07T10:45:24.937054Z","iopub.status.idle":"2025-01-07T10:45:24.988078Z","shell.execute_reply.started":"2025-01-07T10:45:24.937000Z","shell.execute_reply":"2025-01-07T10:45:24.986881Z"},"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"test_cat_columns = test.select_dtypes(exclude = 'number').columns\n\nfor season in test_cat_columns:\n    test[season] = test[season].fillna(0)\n    test[season] = test[season].replace({'Spring':1, 'Summer':2, 'Fall':3, 'Winter':4})","metadata":{"execution":{"iopub.status.busy":"2025-01-07T10:45:24.990458Z","iopub.execute_input":"2025-01-07T10:45:24.990831Z","iopub.status.idle":"2025-01-07T10:45:25.014429Z","shell.execute_reply.started":"2025-01-07T10:45:24.990775Z","shell.execute_reply":"2025-01-07T10:45:25.012999Z"},"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"# <p style=\"padding:15px; background-color:chocolate; font-family:arial; font-weight:bold; color:white; font-size:100%; letter-spacing: 2px; text-align:left; border-radius: 10px 10px\">5/ PCIAT Features</p>","metadata":{}},{"cell_type":"markdown","source":" <div style=\"border-radius:12px; border:chocolate solid; padding: 15px; background-color: #f6f5f5; font-size:120%; text-align:left\">\n    \n* As mentioned there are 22 PCIAT features. These comprise answers to 20 questions (each marked out of 5), the total score and 'season' when the test was carried out.\n* We will take a look at the questions and how they correlate with the total.\n* The sii target is derived from the total PCIAT score:\n    - 0-30 gives sii = 0\n    - 31-49 gives sii = 1\n    - 50-79 gives sii = 2\n    - 80-100 gives sii = 3. \n* We show this by simply counting the values. The same information is confirmed [here](https://digitalwellnesslab.org/wp-content/uploads/Scoring-Overview.pdf).\n* We drop all the PCIAT features from the dataset except the PCIAT Total feature which can be used as a regression target.\n* The PCIAT Total visualisation box plot shows us that many of the top scores look like outliers - yet this is our most important category!","metadata":{}},{"cell_type":"code","source":"PCIAT_cols = [val for val in train.columns[train.columns.str.contains('PCIAT')]]\nprint('Number of PCIAT features = ' , len(PCIAT_cols))","metadata":{"execution":{"iopub.status.busy":"2025-01-07T10:45:25.016220Z","iopub.execute_input":"2025-01-07T10:45:25.016785Z","iopub.status.idle":"2025-01-07T10:45:25.037140Z","shell.execute_reply.started":"2025-01-07T10:45:25.016722Z","shell.execute_reply":"2025-01-07T10:45:25.035717Z"},"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"pd.set_option('display.max_colwidth', None)\nquestions = data_dictionary[data_dictionary.Field.str.contains('PCIAT-PCIAT')]\nquestions[['Field','Description']]","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-01-07T10:45:25.038713Z","iopub.execute_input":"2025-01-07T10:45:25.039257Z","iopub.status.idle":"2025-01-07T10:45:25.063681Z","shell.execute_reply.started":"2025-01-07T10:45:25.039193Z","shell.execute_reply":"2025-01-07T10:45:25.062310Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"corr = train[PCIAT_cols].corr()['PCIAT-PCIAT_Total'].sort_values(ascending = False)\ncorr = pd.DataFrame(corr)\ncorr.style.background_gradient(cmap='YlOrRd')","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-01-07T10:45:25.065252Z","iopub.execute_input":"2025-01-07T10:45:25.065702Z","iopub.status.idle":"2025-01-07T10:45:25.102660Z","shell.execute_reply.started":"2025-01-07T10:45:25.065655Z","shell.execute_reply":"2025-01-07T10:45:25.101398Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"sns.boxplot(train, x = 'PCIAT-PCIAT_Total').set_title('Boxplot of PCIAT Total Scores')","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-01-07T10:45:25.104310Z","iopub.execute_input":"2025-01-07T10:45:25.104748Z","iopub.status.idle":"2025-01-07T10:45:25.405415Z","shell.execute_reply.started":"2025-01-07T10:45:25.104701Z","shell.execute_reply":"2025-01-07T10:45:25.404110Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"print(train[train['PCIAT-PCIAT_Total']<=30].sii.value_counts())\nprint(train[(train['PCIAT-PCIAT_Total']>30) \n    & (train['PCIAT-PCIAT_Total']<50)].sii.value_counts())\nprint(train[(train['PCIAT-PCIAT_Total']>=50) \n    & (train['PCIAT-PCIAT_Total']<80)].sii.value_counts())\nprint(train[train['PCIAT-PCIAT_Total']>=80].sii.value_counts())","metadata":{"execution":{"iopub.status.busy":"2025-01-07T10:45:25.407075Z","iopub.execute_input":"2025-01-07T10:45:25.407675Z","iopub.status.idle":"2025-01-07T10:45:25.430322Z","shell.execute_reply.started":"2025-01-07T10:45:25.407631Z","shell.execute_reply":"2025-01-07T10:45:25.428781Z"},"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"train.sii.value_counts()","metadata":{"execution":{"iopub.status.busy":"2025-01-07T10:45:25.434451Z","iopub.execute_input":"2025-01-07T10:45:25.434872Z","iopub.status.idle":"2025-01-07T10:45:25.445426Z","shell.execute_reply.started":"2025-01-07T10:45:25.434801Z","shell.execute_reply":"2025-01-07T10:45:25.443895Z"},"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"PCIAT_cols.remove('PCIAT-PCIAT_Total')\ntrain = train.drop(columns = PCIAT_cols)","metadata":{"execution":{"iopub.status.busy":"2025-01-07T10:45:25.447240Z","iopub.execute_input":"2025-01-07T10:45:25.447663Z","iopub.status.idle":"2025-01-07T10:45:25.472906Z","shell.execute_reply.started":"2025-01-07T10:45:25.447624Z","shell.execute_reply":"2025-01-07T10:45:25.470745Z"},"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"# <p style=\"padding:15px; background-color:chocolate; font-family:arial; font-weight:bold; color:white; font-size:100%; letter-spacing: 2px; text-align:left; border-radius: 10px 10px\">6/ Severity Impairment Index </p>","metadata":{}},{"cell_type":"markdown","source":" <div style=\"border-radius:12px; border:chocolate solid; padding: 15px; background-color: #f6f5f5; font-size:120%; text-align:left\">\n\n* When first alerted to this competition by email there was a reference to excessive internet usage amongst children and young people as being the key problem to be assessed.\n* One of the puzzling things about the data is that, even for the 34 'severe' cases of PIU where sii =3, we can see that 5 participants assessed as severe are hardly using the internet at all.\n* How can they have scored so highly on the PCIAT questionnaire? There is a helpful discussion [here](https://www.kaggle.com/competitions/child-mind-institute-problematic-internet-use/discussion/535525#3003303).","metadata":{}},{"cell_type":"code","source":"sns.countplot(train, x = 'sii').set_title('Count of sii')","metadata":{"execution":{"iopub.status.busy":"2025-01-07T10:45:25.474488Z","iopub.execute_input":"2025-01-07T10:45:25.474896Z","iopub.status.idle":"2025-01-07T10:45:25.823695Z","shell.execute_reply.started":"2025-01-07T10:45:25.474858Z","shell.execute_reply":"2025-01-07T10:45:25.822476Z"},"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"vals = ['PIU = 0', 'PIU = 1','PIU = 2', 'PIU = 3']\n\nfor i in range(4):\n    plt.figure()\n    plot = sns.countplot(x = train[train.sii==i]['PreInt_EduHx-computerinternet_hoursday'])\n    plot.set_title(vals[i])","metadata":{"execution":{"iopub.status.busy":"2025-01-07T10:45:25.824849Z","iopub.execute_input":"2025-01-07T10:45:25.825247Z","iopub.status.idle":"2025-01-07T10:45:26.953558Z","shell.execute_reply.started":"2025-01-07T10:45:25.825203Z","shell.execute_reply":"2025-01-07T10:45:26.952167Z"},"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"train = train.dropna(subset='sii')","metadata":{"execution":{"iopub.status.busy":"2025-01-07T10:45:26.956089Z","iopub.execute_input":"2025-01-07T10:45:26.956698Z","iopub.status.idle":"2025-01-07T10:45:26.966731Z","shell.execute_reply.started":"2025-01-07T10:45:26.956639Z","shell.execute_reply":"2025-01-07T10:45:26.965467Z"},"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"# <p style=\"padding:15px; background-color:chocolate; font-family:arial; font-weight:bold; color:white; font-size:100%; letter-spacing: 2px; text-align:left; border-radius: 10px 10px\">7/ Correlations </p>","metadata":{"execution":{"iopub.status.busy":"2024-09-28T11:36:45.957167Z","iopub.execute_input":"2024-09-28T11:36:45.958067Z","iopub.status.idle":"2024-09-28T11:36:45.963155Z","shell.execute_reply.started":"2024-09-28T11:36:45.958022Z","shell.execute_reply":"2024-09-28T11:36:45.961779Z"}}},{"cell_type":"markdown","source":" <div style=\"border-radius:12px; border:chocolate solid; padding: 15px; background-color: #f6f5f5; font-size:120%; text-align:left\">\n    \n* With large numbers of features to choose from I decided to do some feature selection and check it's impact on the model.\n* Here I select the features with the strongest correlation with the PCIAT total and drop the weaker ones.\n* Two features, BMI and sleep disturbance, appear to be measured twice in the data with slighly different results. There is discussion about BMI [here](https://www.kaggle.com/competitions/child-mind-institute-problematic-internet-use/discussion/542014).\n* Clearly we don't need to keep both sets of features which will be closely correlated with each other even if not identical.\n* Here I drop Physical-BMI an d SDS-SDS_Total_Raw which appear to have slightly lower correlations.","metadata":{}},{"cell_type":"code","source":"corr = pd.DataFrame(train.corr()['PCIAT-PCIAT_Total'].sort_values(ascending = False))\ncorr.style.background_gradient(cmap='YlOrRd')","metadata":{"execution":{"iopub.status.busy":"2025-01-07T10:45:26.968354Z","iopub.execute_input":"2025-01-07T10:45:26.968722Z","iopub.status.idle":"2025-01-07T10:45:27.025698Z","shell.execute_reply.started":"2025-01-07T10:45:26.968685Z","shell.execute_reply":"2025-01-07T10:45:27.024480Z"},"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"selection = corr[(corr['PCIAT-PCIAT_Total']>.1) | (corr['PCIAT-PCIAT_Total']<-.1)]\nselection = [val for val in selection.index]\nselection.remove('PCIAT-PCIAT_Total')\nselection.remove('sii')\nselection.remove('Physical-BMI')\nselection.remove('SDS-SDS_Total_Raw')","metadata":{"execution":{"iopub.status.busy":"2025-01-07T10:45:27.027717Z","iopub.execute_input":"2025-01-07T10:45:27.028217Z","iopub.status.idle":"2025-01-07T10:45:27.035533Z","shell.execute_reply.started":"2025-01-07T10:45:27.028154Z","shell.execute_reply":"2025-01-07T10:45:27.034371Z"},"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"selection","metadata":{"execution":{"iopub.status.busy":"2025-01-07T10:45:27.037110Z","iopub.execute_input":"2025-01-07T10:45:27.037566Z","iopub.status.idle":"2025-01-07T10:45:27.059092Z","shell.execute_reply.started":"2025-01-07T10:45:27.037518Z","shell.execute_reply":"2025-01-07T10:45:27.057875Z"},"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"# <p style=\"padding:15px; background-color:chocolate; font-family:arial; font-weight:bold; color:white; font-size:100%; letter-spacing: 2px; text-align:left; border-radius: 10px 10px\">8/ Missing Values</p>","metadata":{}},{"cell_type":"markdown","source":" <div style=\"border-radius:12px; border:chocolate solid; padding: 15px; background-color: #f6f5f5; font-size:120%; text-align:left\">\n\n* There are large numbers of missing values remaining in the dataset, with 46 columns missing values and 8 columns missing more than half of their values.\n* For example, most of the waist circumference feature values are missing.\n* Let's drop columns where there are more than half values missing.\n* Though we have not included the actigraphy data in this notebook analysis, these records are only available for just over a third of respondents.","metadata":{}},{"cell_type":"code","source":"null = train.isna().sum().sort_values(ascending = False).head(46)\nnull = pd.DataFrame(null)\nnull = null.rename(columns= {0:'Missing'})\nnull.style.background_gradient(cmap='YlOrRd')","metadata":{"execution":{"iopub.status.busy":"2025-01-07T10:45:27.060680Z","iopub.execute_input":"2025-01-07T10:45:27.061169Z","iopub.status.idle":"2025-01-07T10:45:27.091113Z","shell.execute_reply.started":"2025-01-07T10:45:27.061108Z","shell.execute_reply":"2025-01-07T10:45:27.089723Z"},"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"half_missing = [val for val in train.columns[train.isnull().sum()>len(train)/2]]\nhalf_missing","metadata":{"execution":{"iopub.status.busy":"2025-01-07T10:45:27.092638Z","iopub.execute_input":"2025-01-07T10:45:27.093096Z","iopub.status.idle":"2025-01-07T10:45:27.103449Z","shell.execute_reply.started":"2025-01-07T10:45:27.093058Z","shell.execute_reply":"2025-01-07T10:45:27.102227Z"},"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"selection = [i for i in selection if i not in half_missing]","metadata":{"execution":{"iopub.status.busy":"2025-01-07T10:45:27.104744Z","iopub.execute_input":"2025-01-07T10:45:27.105110Z","iopub.status.idle":"2025-01-07T10:45:27.112626Z","shell.execute_reply.started":"2025-01-07T10:45:27.105077Z","shell.execute_reply":"2025-01-07T10:45:27.111437Z"},"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"# <p style=\"padding:15px; background-color:chocolate; font-family:arial; font-weight:bold; color:white; font-size:100%; letter-spacing: 2px; text-align:left; border-radius: 10px 10px\">9/ Selected Features</p>","metadata":{"execution":{"iopub.status.busy":"2024-10-05T13:56:59.196471Z","iopub.execute_input":"2024-10-05T13:56:59.196979Z","iopub.status.idle":"2024-10-05T13:56:59.20348Z","shell.execute_reply.started":"2024-10-05T13:56:59.196936Z","shell.execute_reply":"2024-10-05T13:56:59.202078Z"}}},{"cell_type":"markdown","source":" <div style=\"border-radius:12px; border:chocolate solid; padding: 15px; background-color: #f6f5f5; font-size:120%; text-align:left\">\n\n* We now have 16 selected features based on a) correlation with the target and b) relatively few missing values.\n* The idea is to create a robust model that focuses on key signals in the data and reduces some of the excess noise from large numbers of features.\n* Some of the min and max values appear to be impossible (such as a minimum weight of zero) or very unlikely.","metadata":{"execution":{"iopub.status.busy":"2024-10-05T13:59:54.552101Z","iopub.execute_input":"2024-10-05T13:59:54.552525Z","iopub.status.idle":"2024-10-05T13:59:54.560829Z","shell.execute_reply.started":"2024-10-05T13:59:54.552484Z","shell.execute_reply":"2024-10-05T13:59:54.559313Z"}}},{"cell_type":"code","source":"describe = train[selection].describe().T\ndescribe = describe[['min','max']].sort_index()\ndescribe.style.background_gradient(cmap='YlOrRd')","metadata":{"execution":{"iopub.status.busy":"2025-01-07T10:45:27.114089Z","iopub.execute_input":"2025-01-07T10:45:27.114451Z","iopub.status.idle":"2025-01-07T10:45:27.175094Z","shell.execute_reply.started":"2025-01-07T10:45:27.114417Z","shell.execute_reply":"2025-01-07T10:45:27.173791Z"},"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"train[selection].hist(figsize=(10,10), grid = True, color = 'chocolate')\nplt.tight_layout()","metadata":{"execution":{"iopub.status.busy":"2025-01-07T10:45:27.176207Z","iopub.execute_input":"2025-01-07T10:45:27.176563Z","iopub.status.idle":"2025-01-07T10:45:31.718285Z","shell.execute_reply.started":"2025-01-07T10:45:27.176528Z","shell.execute_reply":"2025-01-07T10:45:31.716988Z"},"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"# <p style=\"padding:15px; background-color:chocolate; font-family:arial; font-weight:bold; color:white; font-size:100%; letter-spacing: 2px; text-align:left; border-radius: 10px 10px\">10/ Classification Model</p>","metadata":{}},{"cell_type":"markdown","source":" <div style=\"border-radius:12px; border:chocolate solid; padding: 15px; background-color: #f6f5f5; font-size:120%; text-align:left\">\n\n* In this section I train an XGBoost classification model as a benchmark and use sii as the target.\n* The model was tuned offline using Optuna to get the hyperparameters.\n* This gives a CV score of **.375**. ","metadata":{"execution":{"iopub.status.busy":"2024-10-01T11:23:08.558733Z","iopub.execute_input":"2024-10-01T11:23:08.559238Z","iopub.status.idle":"2024-10-01T11:23:08.568315Z","shell.execute_reply.started":"2024-10-01T11:23:08.559196Z","shell.execute_reply":"2024-10-01T11:23:08.566315Z"}}},{"cell_type":"code","source":"X = train[selection]\ntest = test[selection]\ny = train.sii","metadata":{"execution":{"iopub.status.busy":"2025-01-07T10:45:31.719854Z","iopub.execute_input":"2025-01-07T10:45:31.720461Z","iopub.status.idle":"2025-01-07T10:45:31.732093Z","shell.execute_reply.started":"2025-01-07T10:45:31.720403Z","shell.execute_reply":"2025-01-07T10:45:31.730605Z"},"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"def quadratic_kappa(y_true, y_pred):\n    return cohen_kappa_score(y_true, y_pred, weights='quadratic')\nkappa_scorer = make_scorer(quadratic_kappa)","metadata":{"execution":{"iopub.status.busy":"2025-01-07T10:45:31.733494Z","iopub.execute_input":"2025-01-07T10:45:31.733921Z","iopub.status.idle":"2025-01-07T10:45:31.749989Z","shell.execute_reply.started":"2025-01-07T10:45:31.733872Z","shell.execute_reply":"2025-01-07T10:45:31.748445Z"},"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"params = {'max_depth': 3, \n          'n_estimators': 202, \n          'learning_rate': 0.07956777025142073, \n          'subsample': 0.8197358255094112, \n          'colsample_bytree': 0.645036755035947}\nskf = StratifiedKFold(n_splits=10)\nclf = xgb.XGBClassifier(**params)","metadata":{"execution":{"iopub.status.busy":"2025-01-07T10:45:31.751652Z","iopub.execute_input":"2025-01-07T10:45:31.752313Z","iopub.status.idle":"2025-01-07T10:45:31.769389Z","shell.execute_reply.started":"2025-01-07T10:45:31.752247Z","shell.execute_reply":"2025-01-07T10:45:31.768090Z"},"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"scores = cross_val_score(clf, X, y, cv=skf, scoring=kappa_scorer)\nprint(\"QWK Scores:\", scores)\nprint(\"Mean QWK Score:\", np.mean(scores))","metadata":{"execution":{"iopub.status.busy":"2025-01-07T10:45:31.771247Z","iopub.execute_input":"2025-01-07T10:45:31.771655Z","iopub.status.idle":"2025-01-07T10:45:36.800216Z","shell.execute_reply.started":"2025-01-07T10:45:31.771606Z","shell.execute_reply":"2025-01-07T10:45:36.799305Z"},"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"clf.fit(X,y)\nfeature_imp = pd.Series(clf.feature_importances_,index=X.columns).sort_values(ascending=False)\nfeature_imp","metadata":{"execution":{"iopub.status.busy":"2025-01-07T10:45:36.801239Z","iopub.execute_input":"2025-01-07T10:45:36.801594Z","iopub.status.idle":"2025-01-07T10:45:37.327179Z","shell.execute_reply.started":"2025-01-07T10:45:36.801560Z","shell.execute_reply":"2025-01-07T10:45:37.325837Z"},"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"sns.barplot(x=feature_imp, y=feature_imp.index)\nplt.xlabel('Feature Importance Score')\nplt.title(\"Feature Importances\")\nplt.show()","metadata":{"execution":{"iopub.status.busy":"2025-01-07T10:45:37.332534Z","iopub.execute_input":"2025-01-07T10:45:37.332966Z","iopub.status.idle":"2025-01-07T10:45:37.793885Z","shell.execute_reply.started":"2025-01-07T10:45:37.332925Z","shell.execute_reply":"2025-01-07T10:45:37.792429Z"},"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"perm = PermutationImportance(clf, random_state=1).fit(X,y)\neli5.show_weights(perm, feature_names = X.columns.tolist())","metadata":{"execution":{"iopub.status.busy":"2025-01-07T10:45:37.795935Z","iopub.execute_input":"2025-01-07T10:45:37.796438Z","iopub.status.idle":"2025-01-07T10:45:39.537259Z","shell.execute_reply.started":"2025-01-07T10:45:37.796388Z","shell.execute_reply":"2025-01-07T10:45:39.536057Z"},"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"# <p style=\"padding:15px; background-color:chocolate; font-family:arial; font-weight:bold; color:white; font-size:100%; letter-spacing: 2px; text-align:left; border-radius: 10px 10px\">11/ Regression Model</p>","metadata":{}},{"cell_type":"markdown","source":" <div style=\"border-radius:12px; border:chocolate solid; padding: 15px; background-color: #f6f5f5; font-size:120%; text-align:left\">\n\n* In this section I train an XGBoost regression model as a benchmark and use PCIAT-PCIAT_Total as the target.\n* We tweak the quadratic kappa function to convert PCIAT total scores to sii categories, which gives a better cross-validation result.\n* The model was tuned offline using Optuna to get the hyperparameters.\n* I found that adding a scaling factor of 1.25 to the scores gives a better overall QWK score.\n* The effect of this is to reduce the score thresholds from 30, 50, 80 to 24, 40, 64. It's quite possible there are even better values to be found.","metadata":{"execution":{"iopub.status.busy":"2024-10-01T12:35:10.605389Z","iopub.execute_input":"2024-10-01T12:35:10.605904Z","iopub.status.idle":"2024-10-01T12:35:10.613456Z","shell.execute_reply.started":"2024-10-01T12:35:10.605858Z","shell.execute_reply":"2024-10-01T12:35:10.612056Z"}}},{"cell_type":"code","source":"X = train[selection]\ntest = test[selection]\ny = train['PCIAT-PCIAT_Total']","metadata":{"execution":{"iopub.status.busy":"2025-01-07T10:45:39.538461Z","iopub.execute_input":"2025-01-07T10:45:39.538927Z","iopub.status.idle":"2025-01-07T10:45:39.547996Z","shell.execute_reply.started":"2025-01-07T10:45:39.538876Z","shell.execute_reply":"2025-01-07T10:45:39.546767Z"},"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"def convert(scores):\n    scores = np.array(scores)*1.27\n    bins = np.zeros_like(scores)\n    bins[scores <= 30] = 0\n    bins[(scores > 30) & (scores < 50)] = 1\n    bins[(scores >= 50) & (scores < 80)] = 2\n    bins[scores >= 80] = 3\n    return bins","metadata":{"execution":{"iopub.status.busy":"2025-01-07T10:45:39.549659Z","iopub.execute_input":"2025-01-07T10:45:39.550096Z","iopub.status.idle":"2025-01-07T10:45:39.559452Z","shell.execute_reply.started":"2025-01-07T10:45:39.550059Z","shell.execute_reply":"2025-01-07T10:45:39.558408Z"},"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"def quadratic_kappa(y_true, y_pred):\n    y_true_cat = convert(y_true)\n    y_pred_cat = convert(y_pred)\n    return cohen_kappa_score(y_true_cat, y_pred_cat, weights='quadratic')\n\nkappa_scorer = make_scorer(quadratic_kappa, greater_is_better=True)","metadata":{"execution":{"iopub.status.busy":"2025-01-07T10:45:39.561277Z","iopub.execute_input":"2025-01-07T10:45:39.561669Z","iopub.status.idle":"2025-01-07T10:45:39.577131Z","shell.execute_reply.started":"2025-01-07T10:45:39.561635Z","shell.execute_reply":"2025-01-07T10:45:39.575628Z"},"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"params = {'max_depth': 3, \n          'n_estimators': 59, \n          'learning_rate': 0.07327652118259573, \n          'subsample': 0.5968194045365575, \n          'colsample_bytree': 0.9123669348125403}","metadata":{"execution":{"iopub.status.busy":"2025-01-07T10:45:39.578881Z","iopub.execute_input":"2025-01-07T10:45:39.579697Z","iopub.status.idle":"2025-01-07T10:45:39.592892Z","shell.execute_reply.started":"2025-01-07T10:45:39.579640Z","shell.execute_reply":"2025-01-07T10:45:39.591659Z"},"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"model = xgb.XGBRegressor(**params)","metadata":{"execution":{"iopub.status.busy":"2025-01-07T10:45:39.594372Z","iopub.execute_input":"2025-01-07T10:45:39.594859Z","iopub.status.idle":"2025-01-07T10:45:39.607461Z","shell.execute_reply.started":"2025-01-07T10:45:39.594783Z","shell.execute_reply":"2025-01-07T10:45:39.606393Z"},"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"scores = cross_val_score(model, X, y, cv=skf, scoring=kappa_scorer)\nprint(\"QWK Scores:\", scores)\nprint(\"Mean QWK Score:\", np.mean(scores))","metadata":{"execution":{"iopub.status.busy":"2025-01-07T10:45:39.608705Z","iopub.execute_input":"2025-01-07T10:45:39.609052Z","iopub.status.idle":"2025-01-07T10:45:40.367864Z","shell.execute_reply.started":"2025-01-07T10:45:39.609021Z","shell.execute_reply":"2025-01-07T10:45:40.367015Z"},"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"model.fit(X,y)\nfeature_imp = pd.Series(model.feature_importances_,index=X.columns).sort_values(ascending=False)\nfeature_imp","metadata":{"execution":{"iopub.status.busy":"2025-01-07T10:45:40.368829Z","iopub.execute_input":"2025-01-07T10:45:40.369484Z","iopub.status.idle":"2025-01-07T10:45:40.438301Z","shell.execute_reply.started":"2025-01-07T10:45:40.369451Z","shell.execute_reply":"2025-01-07T10:45:40.437102Z"},"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"sns.barplot(x=feature_imp, y=feature_imp.index)\nplt.xlabel('Feature Importance Score')\nplt.title(\"Feature Importances\")\nplt.show()","metadata":{"execution":{"iopub.status.busy":"2025-01-07T10:45:40.439581Z","iopub.execute_input":"2025-01-07T10:45:40.439974Z","iopub.status.idle":"2025-01-07T10:45:40.803485Z","shell.execute_reply.started":"2025-01-07T10:45:40.439936Z","shell.execute_reply":"2025-01-07T10:45:40.802190Z"},"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"perm = PermutationImportance(model, random_state=1).fit(X,y)\neli5.show_weights(perm, feature_names = X.columns.tolist())","metadata":{"execution":{"iopub.status.busy":"2025-01-07T10:45:40.805190Z","iopub.execute_input":"2025-01-07T10:45:40.805672Z","iopub.status.idle":"2025-01-07T10:45:41.311104Z","shell.execute_reply.started":"2025-01-07T10:45:40.805621Z","shell.execute_reply":"2025-01-07T10:45:41.309602Z"},"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"# <p style=\"padding:15px; background-color:chocolate; font-family:arial; font-weight:bold; color:white; font-size:100%; letter-spacing: 2px; text-align:left; border-radius: 10px 10px\">12/ Submission</p>","metadata":{}},{"cell_type":"code","source":"model.fit(X,y)\npreds = model.predict(test)\npreds = convert(preds) # convert raw scores to sii categories if using regressor\npreds = pd.Series(preds)\npreds.index = test.index\npreds.to_csv('submission.csv')","metadata":{"execution":{"iopub.status.busy":"2025-01-07T10:45:41.312941Z","iopub.execute_input":"2025-01-07T10:45:41.313608Z","iopub.status.idle":"2025-01-07T10:45:41.388243Z","shell.execute_reply.started":"2025-01-07T10:45:41.313552Z","shell.execute_reply":"2025-01-07T10:45:41.387336Z"},"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"# <p style=\"padding:15px; background-color:chocolate; font-family:arial; font-weight:bold; color:white; font-size:100%; letter-spacing: 2px; text-align:left; border-radius: 10px 10px\">13/ Conclusion</p>","metadata":{}},{"cell_type":"markdown","source":" <div style=\"border-radius:12px; border:chocolate solid; padding: 15px; background-color: #f6f5f5; font-size:120%; text-align:left\">\n    \n* This notebook has provided a general introduction to the competition with some EDA and feature selection.\n* We have created two models, a classifier model and a regression model, to demonstrate how the modelling process works.\n* The regression models gets a benchmark LB score of **.463**.\n* At the time of writing the very best LB scores demonstrate only **moderate** levels of agreement between predictive machine learning models and the test data.\n* PIU may well be linked to reduced levels of physical activity but these indicators do not necessarily demonstrate PIU.\n* Some key risk factors  appear to be the age of the child, the level of sleep disturbance experienced and - of course - hours per week of internet usage.","metadata":{}}]}