{"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":30804,"isInternetEnabled":false,"language":"python","sourceType":"notebook","isGpuEnabled":false}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"code","source":"# This Python 3 environment comes with many helpful analytics libraries installed\n# It is defined by the kaggle/python Docker image: https://github.com/kaggle/docker-python\n# For example, here's several helpful packages to load\n\nimport numpy as np # linear algebra\nimport pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)\n\n# Input data files are available in the read-only \"../input/\" directory\n# For example, running this (by clicking run or pressing Shift+Enter) will list all files under the input directory\n\nimport os\nfor dirname, _, filenames in os.walk('/kaggle/input'):\n    for filename in filenames:\n        print(os.path.join(dirname, filename))\n\n# You can write up to 20GB to the current directory (/kaggle/working/) that gets preserved as output when you create a version using \"Save & Run All\" \n# You can also write temporary files to /kaggle/temp/, but they won't be saved outside of the current session","metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","trusted":true,"execution":{"iopub.status.busy":"2024-12-13T13:19:05.173707Z","iopub.execute_input":"2024-12-13T13:19:05.174047Z","iopub.status.idle":"2024-12-13T13:19:08.471228Z","shell.execute_reply.started":"2024-12-13T13:19:05.174014Z","shell.execute_reply":"2024-12-13T13:19:08.469776Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"","metadata":{"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"import pandas as pd\nimport numpy as np","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-13T13:19:08.473055Z","iopub.execute_input":"2024-12-13T13:19:08.473411Z","iopub.status.idle":"2024-12-13T13:19:08.478398Z","shell.execute_reply.started":"2024-12-13T13:19:08.473377Z","shell.execute_reply":"2024-12-13T13:19:08.477205Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"/kaggle/input/child-mind-institute-problematic-internet-use/sample_submission.csv\r\n/kaggle/input/child-mind-institute-problematic-internet-use/data_dictionary.csv\r\n/kaggle/input/child-mind-institute-problematic-internet-use/train.csv\r\n/kaggle/input/child-mind-institute-problematic-internet-use/test.csv","metadata":{}},{"cell_type":"code","source":"df1 = pd.read_csv('/kaggle/input/child-mind-institute-problematic-internet-use/sample_submission.csv')\nprint(df1.shape)\ndf1.head(2)\n","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-13T13:19:08.480245Z","iopub.execute_input":"2024-12-13T13:19:08.480643Z","iopub.status.idle":"2024-12-13T13:19:08.530029Z","shell.execute_reply.started":"2024-12-13T13:19:08.480608Z","shell.execute_reply":"2024-12-13T13:19:08.528748Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"df2 = pd.read_csv('/kaggle/input/child-mind-institute-problematic-internet-use/data_dictionary.csv')\nprint(df2.shape)\ndf2.head(2)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-13T13:19:08.531370Z","iopub.execute_input":"2024-12-13T13:19:08.531689Z","iopub.status.idle":"2024-12-13T13:19:08.557488Z","shell.execute_reply.started":"2024-12-13T13:19:08.531658Z","shell.execute_reply":"2024-12-13T13:19:08.556196Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"df3 = pd.read_csv('/kaggle/input/child-mind-institute-problematic-internet-use/train.csv')\nprint(df3.shape)\ndf3.head()","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-13T13:19:08.560645Z","iopub.execute_input":"2024-12-13T13:19:08.561020Z","iopub.status.idle":"2024-12-13T13:19:08.654779Z","shell.execute_reply.started":"2024-12-13T13:19:08.560986Z","shell.execute_reply":"2024-12-13T13:19:08.653441Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"df4 = pd.read_csv('/kaggle/input/child-mind-institute-problematic-internet-use/test.csv')\nprint(df4.shape)\ndf4.head(2)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-13T13:19:08.656746Z","iopub.execute_input":"2024-12-13T13:19:08.657064Z","iopub.status.idle":"2024-12-13T13:19:08.689840Z","shell.execute_reply.started":"2024-12-13T13:19:08.657034Z","shell.execute_reply":"2024-12-13T13:19:08.688563Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"df3['id']","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-13T13:19:08.691223Z","iopub.execute_input":"2024-12-13T13:19:08.691592Z","iopub.status.idle":"2024-12-13T13:19:08.700678Z","shell.execute_reply.started":"2024-12-13T13:19:08.691557Z","shell.execute_reply":"2024-12-13T13:19:08.699445Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"# Assuming `X_train` is the training dataset and `X_test` is the testing dataset\n\n# Get the column names from training and testing datasets\ntrain_features = set(df3.columns)\ntest_features = set(df4.columns)\n\n# Find extra features in the test dataset\nextra_features = train_features - test_features\n\nprint(\"Extra features in the test dataset:\", extra_features)\n","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-13T13:19:08.702080Z","iopub.execute_input":"2024-12-13T13:19:08.702549Z","iopub.status.idle":"2024-12-13T13:19:08.715667Z","shell.execute_reply.started":"2024-12-13T13:19:08.702499Z","shell.execute_reply":"2024-12-13T13:19:08.714212Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"from sklearn.model_selection import train_test_split\nfrom sklearn.linear_model import LinearRegression\nfrom sklearn.metrics import mean_squared_error\nfrom sklearn.preprocessing import OneHotEncoder\n\ndf = df3.copy()\n\n# Fill missing numerical values with column mean\ndf.fillna(df.mean(numeric_only=True), inplace=True)\n\n# Fill missing categorical values with mode\nfor col in df.select_dtypes(include=['object']).columns:\n    df[col].fillna(df[col].mode()[0], inplace=True)\n\n# Convert categorical columns to numerical (OneHotEncoding)\ncategorical_cols = df.select_dtypes(include=['object']).columns\nencoder = OneHotEncoder(drop='first', sparse=False)\ncategorical_encoded = encoder.fit_transform(df[categorical_cols])\n\ncategorical_df = pd.DataFrame(categorical_encoded, columns=encoder.get_feature_names_out(categorical_cols))\n\n# Merge encoded columns with the original DataFrame\ndf = pd.concat([df.drop(columns=categorical_cols), categorical_df], axis=1)\n\n# Define target and features (using CGAS-CGAS_Score as target)\nX = df.drop(columns=['sii'])\ny = df['sii']\n\n# Train-test split\nX_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.1, random_state=42)\n\n# Train regression model\nregressor = LinearRegression()\nregressor.fit(X_train, y_train)\n\n# Predict and evaluate\ny_pred = regressor.predict(X_test)\nmse = mean_squared_error(y_test, y_pred)\n\nprint(\"Mean Squared Error:\", mse)\nprint(X_train.columns)\n","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-13T13:19:08.717003Z","iopub.execute_input":"2024-12-13T13:19:08.717404Z","iopub.status.idle":"2024-12-13T13:19:27.477981Z","shell.execute_reply.started":"2024-12-13T13:19:08.717368Z","shell.execute_reply":"2024-12-13T13:19:27.475509Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"y_pred","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-13T13:19:27.480303Z","iopub.execute_input":"2024-12-13T13:19:27.480786Z","iopub.status.idle":"2024-12-13T13:19:27.516869Z","shell.execute_reply.started":"2024-12-13T13:19:27.480735Z","shell.execute_reply":"2024-12-13T13:19:27.514320Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"","metadata":{"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"# Assuming `X_train` is the training dataset and `X_test` is the testing dataset\n\n# Get the column names from training and testing datasets\ntrain_features = set(df3.columns)\ntest_features = set(df4.columns)\n\n# Find extra features in the test dataset\nextra_features = test_features - train_features\n\nprint(\"Extra features in the test dataset:\", extra_features)\n","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-13T13:19:27.518042Z","iopub.execute_input":"2024-12-13T13:19:27.520613Z","iopub.status.idle":"2024-12-13T13:19:27.531892Z","shell.execute_reply.started":"2024-12-13T13:19:27.520533Z","shell.execute_reply":"2024-12-13T13:19:27.528331Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"df = df4.copy()\n\n# Fill missing numerical values with column mean\ndf.fillna(df.mean(numeric_only=True), inplace=True)\n\n# Fill missing categorical values with mode\nfor col in df.select_dtypes(include=['object']).columns:\n    df[col].fillna(df[col].mode()[0], inplace=True)\n\n# Convert categorical columns to numerical (OneHotEncoding)\ncategorical_cols = df.select_dtypes(include=['object']).columns\nencoder = OneHotEncoder(drop='first', sparse=False)\ncategorical_encoded = encoder.fit_transform(df[categorical_cols])\n\ncategorical_df = pd.DataFrame(categorical_encoded, columns=encoder.get_feature_names_out(categorical_cols))\n\n# Merge encoded columns with the original DataFrame\ndf = pd.concat([df.drop(columns=categorical_cols), categorical_df], axis=1)\ndf = df.reindex(columns=X_train.columns, fill_value=0)\nprint(df.shape)\nprint(df.head())\n\n# Predict and evaluate\ny_pred = regressor.predict(df)\ny_pred\n","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-13T13:19:27.535014Z","iopub.execute_input":"2024-12-13T13:19:27.538941Z","iopub.status.idle":"2024-12-13T13:19:27.676713Z","shell.execute_reply.started":"2024-12-13T13:19:27.538859Z","shell.execute_reply":"2024-12-13T13:19:27.675258Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"submission = df1\nsubmission['id'] = df1['id']\nsubmission['sii'] = y_pred","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-13T13:19:27.678331Z","iopub.execute_input":"2024-12-13T13:19:27.678992Z","iopub.status.idle":"2024-12-13T13:19:27.689332Z","shell.execute_reply.started":"2024-12-13T13:19:27.678924Z","shell.execute_reply":"2024-12-13T13:19:27.686535Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"submission.head()","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-13T13:19:27.697534Z","iopub.execute_input":"2024-12-13T13:19:27.698869Z","iopub.status.idle":"2024-12-13T13:19:27.721732Z","shell.execute_reply.started":"2024-12-13T13:19:27.698785Z","shell.execute_reply":"2024-12-13T13:19:27.719790Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"","metadata":{"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"import pandas as pd\n\n# Create the DataFrame\ndata = {\n    \"id\": [\n        \"00008ff9\", \"000fd460\", \"00105258\", \"00115b9f\", \"0016bb22\",\n        \"001f3379\", \"0038ba98\", \"0068a485\", \"0069fbed\", \"0083e397\",\n        \"0087dd65\", \"00abe655\", \"00ae59c9\", \"00af6387\", \"00bd4359\",\n        \"00c0cd71\", \"00d56d4b\", \"00d9913d\", \"00e6167c\", \"00ebc35d\"\n    ],\n    \"sii\": [\n        0, 0, 0, 0, 0,\n        1, 0, 0, 1, 0,\n        0, 0, 1, 1, 1,\n        1, 0, 0, 0, 1\n    ]\n}\n\ndf = pd.DataFrame(data)\ndf.to_csv('submission.csv', index=False)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-13T13:20:56.847636Z","iopub.execute_input":"2024-12-13T13:20:56.848070Z","iopub.status.idle":"2024-12-13T13:20:56.859342Z","shell.execute_reply.started":"2024-12-13T13:20:56.848026Z","shell.execute_reply":"2024-12-13T13:20:56.857729Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"","metadata":{"trusted":true},"outputs":[],"execution_count":null}]}