{"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":false,"language":"python","sourceType":"notebook","isGpuEnabled":false}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"code","source":"#Basic libraries for EDA\nimport pandas as pd\nimport numpy as np\nimport matplotlib.pyplot as plt\nimport seaborn as sns\nimport os\n\n#sklearn library\nfrom sklearn.impute import SimpleImputer\nfrom sklearn.preprocessing import OrdinalEncoder, OneHotEncoder, StandardScaler, FunctionTransformer\nfrom sklearn.compose import ColumnTransformer, TransformedTargetRegressor\nfrom sklearn.base import BaseEstimator, TransformerMixin\nfrom sklearn.pipeline import FeatureUnion\nfrom sklearn.pipeline import Pipeline, make_pipeline\nfrom sklearn.linear_model import LogisticRegression\nfrom sklearn.model_selection import cross_validate, StratifiedKFold, KFold\nfrom sklearn.cluster import KMeans\nfrom sklearn.decomposition import PCA\nfrom sklearn.feature_extraction.text import TfidfVectorizer\nfrom sklearn.model_selection import train_test_split\nfrom sklearn.metrics import confusion_matrix\nfrom sklearn.metrics import ConfusionMatrixDisplay\n\nfrom tqdm import tqdm \nfrom xgboost import XGBClassifier,XGBRegressor\nfrom xgboost import plot_importance\n\nimport warnings\nwarnings.filterwarnings(\"ignore\")\ndictionnary = pd.read_csv('/kaggle/input/child-mind-institute-problematic-internet-use/data_dictionary.csv')\nsample = pd.read_csv('/kaggle/input/child-mind-institute-problematic-internet-use/sample_submission.csv')\ntest_raw = pd.read_csv('/kaggle/input/child-mind-institute-problematic-internet-use/test.csv')\ntrain_raw = pd.read_csv('/kaggle/input/child-mind-institute-problematic-internet-use/train.csv')\n\nacty_raw_1= pd.read_parquet('/kaggle/input/child-mind-institute-problematic-internet-use/series_test.parquet/id=00115b9f/part-0.parquet', engine='pyarrow')\nacty_raw_2 = pd.read_parquet('/kaggle/input/child-mind-institute-problematic-internet-use/series_test.parquet/id=001f3379/part-0.parquet',engine='pyarrow')\n","metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","execution":{"iopub.status.busy":"2024-10-18T10:06:44.885324Z","iopub.execute_input":"2024-10-18T10:06:44.886231Z","iopub.status.idle":"2024-10-18T10:06:49.134054Z","shell.execute_reply.started":"2024-10-18T10:06:44.886179Z","shell.execute_reply":"2024-10-18T10:06:49.132905Z"},"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"to_drop = set(set(train_raw)-set(test_raw))\ntrain_df = train_raw.dropna(subset=['sii'])\ntrain_df = train_df.reset_index(drop = True)","metadata":{"execution":{"iopub.status.busy":"2024-10-18T10:06:49.135934Z","iopub.execute_input":"2024-10-18T10:06:49.136293Z","iopub.status.idle":"2024-10-18T10:06:49.157848Z","shell.execute_reply.started":"2024-10-18T10:06:49.136255Z","shell.execute_reply":"2024-10-18T10:06:49.156752Z"},"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"to_drop","metadata":{"execution":{"iopub.status.busy":"2024-10-18T10:06:49.159256Z","iopub.execute_input":"2024-10-18T10:06:49.159716Z","iopub.status.idle":"2024-10-18T10:06:49.175846Z","shell.execute_reply.started":"2024-10-18T10:06:49.159663Z","shell.execute_reply":"2024-10-18T10:06:49.174679Z"},"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"X = train_df.drop(columns=['id','PCIAT-PCIAT_01',\n 'PCIAT-PCIAT_02',\n 'PCIAT-PCIAT_03',\n 'PCIAT-PCIAT_04',\n 'PCIAT-PCIAT_05',\n 'PCIAT-PCIAT_06',\n 'PCIAT-PCIAT_07',\n 'PCIAT-PCIAT_08',\n 'PCIAT-PCIAT_09',\n 'PCIAT-PCIAT_10',\n 'PCIAT-PCIAT_11',\n 'PCIAT-PCIAT_12',\n 'PCIAT-PCIAT_13',\n 'PCIAT-PCIAT_14',\n 'PCIAT-PCIAT_15',\n 'PCIAT-PCIAT_16',\n 'PCIAT-PCIAT_17',\n 'PCIAT-PCIAT_18',\n 'PCIAT-PCIAT_19',\n 'PCIAT-PCIAT_20',\n 'PCIAT-PCIAT_Total',\n 'PCIAT-Season','PAQ_A-Season',\n 'sii','Fitness_Endurance-Season','BIA-Season'])\ny = train_df['sii'].dropna()","metadata":{"execution":{"iopub.status.busy":"2024-10-18T10:06:49.178835Z","iopub.execute_input":"2024-10-18T10:06:49.179266Z","iopub.status.idle":"2024-10-18T10:06:49.190580Z","shell.execute_reply.started":"2024-10-18T10:06:49.179225Z","shell.execute_reply":"2024-10-18T10:06:49.189170Z"},"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"from sklearn.model_selection import StratifiedKFold\nimport lightgbm\nfrom sklearn.metrics import cohen_kappa_score, ConfusionMatrixDisplay\nfrom colorama import Fore, Style\n\nX = pd.get_dummies(X)\nkf = StratifiedKFold(shuffle=True, random_state=1)\noof = np.zeros(len(y), dtype=int)\nfor fold, (idx_tr, idx_va) in enumerate(kf.split(X, y)):\n    X_tr = X.iloc[idx_tr]\n    X_va = X.iloc[idx_va]\n    y_tr = y[idx_tr]\n    y_va = y[idx_va]\n    \n    model = lightgbm.LGBMClassifier(verbose=-1)\n    model.fit(X_tr, y_tr)\n    y_pred = model.predict(X_va)\n    score = cohen_kappa_score(y_va, y_pred, weights='quadratic')\n    print(f\"# Fold {fold}: {score=:.3f}\")\n    oof[idx_va] = y_pred\n    \nscore = cohen_kappa_score(y, oof, weights='quadratic')\nprint(f\"{Fore.GREEN}{Style.BRIGHT}# Overall: {score=:.3f} (classification with LightGBM){Style.RESET_ALL}\")","metadata":{"execution":{"iopub.status.busy":"2024-10-18T10:06:49.192805Z","iopub.execute_input":"2024-10-18T10:06:49.193548Z","iopub.status.idle":"2024-10-18T10:07:01.179318Z","shell.execute_reply.started":"2024-10-18T10:06:49.193492Z","shell.execute_reply":"2024-10-18T10:07:01.178086Z"},"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"set(set(model.feature_name_)-set(pd.get_dummies(test_raw.drop(columns=['id']))))","metadata":{"execution":{"iopub.status.busy":"2024-10-18T10:07:01.180779Z","iopub.execute_input":"2024-10-18T10:07:01.181353Z","iopub.status.idle":"2024-10-18T10:07:01.202549Z","shell.execute_reply.started":"2024-10-18T10:07:01.181313Z","shell.execute_reply":"2024-10-18T10:07:01.201236Z"},"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"test_df = test_raw.drop(columns=['id','Fitness_Endurance-Season','BIA-Season','PAQ_A-Season'])","metadata":{"execution":{"iopub.status.busy":"2024-10-18T10:07:01.204132Z","iopub.execute_input":"2024-10-18T10:07:01.204526Z","iopub.status.idle":"2024-10-18T10:07:01.215733Z","shell.execute_reply.started":"2024-10-18T10:07:01.204488Z","shell.execute_reply":"2024-10-18T10:07:01.214335Z"},"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"preds = model.predict(pd.get_dummies(test_df))","metadata":{"execution":{"iopub.status.busy":"2024-10-18T10:07:01.217130Z","iopub.execute_input":"2024-10-18T10:07:01.217470Z","iopub.status.idle":"2024-10-18T10:07:01.240368Z","shell.execute_reply.started":"2024-10-18T10:07:01.217435Z","shell.execute_reply":"2024-10-18T10:07:01.239096Z"},"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"test_ids = test_raw.pop('id')","metadata":{"execution":{"iopub.status.busy":"2024-10-18T10:07:01.242300Z","iopub.execute_input":"2024-10-18T10:07:01.242720Z","iopub.status.idle":"2024-10-18T10:07:01.250471Z","shell.execute_reply.started":"2024-10-18T10:07:01.242638Z","shell.execute_reply":"2024-10-18T10:07:01.249349Z"},"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"sample['sii'] = preds.astype(int)\nsample.to_csv('submission.csv',index = False)","metadata":{"execution":{"iopub.status.busy":"2024-10-18T10:13:40.502360Z","iopub.execute_input":"2024-10-18T10:13:40.502965Z","iopub.status.idle":"2024-10-18T10:13:40.511211Z","shell.execute_reply.started":"2024-10-18T10:13:40.502900Z","shell.execute_reply":"2024-10-18T10:13:40.510001Z"},"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"sample","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-10-18T10:13:42.413384Z","iopub.execute_input":"2024-10-18T10:13:42.413815Z","iopub.status.idle":"2024-10-18T10:13:42.428030Z","shell.execute_reply.started":"2024-10-18T10:13:42.413772Z","shell.execute_reply":"2024-10-18T10:13:42.426815Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"","metadata":{"trusted":true},"outputs":[],"execution_count":null}]}