{"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"name":"python","version":"3.10.12","mimetype":"text/x-python","codemirror_mode":{"name":"ipython","version":3},"pygments_lexer":"ipython3","nbconvert_exporter":"python","file_extension":".py"},"kaggle":{"accelerator":"nvidiaTeslaT4","dataSources":[{"sourceId":81933,"databundleVersionId":9643020,"sourceType":"competition"}],"dockerImageVersionId":30823,"isInternetEnabled":false,"language":"python","sourceType":"notebook","isGpuEnabled":true}},"nbformat_minor":4,"nbformat":4,"cells":[{"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 lightgbm as lgb\nfrom catboost import CatBoostRegressor\nimport plotly.express as px, seaborn as sns, matplotlib.pyplot as plt\nfrom sklearn.metrics import make_scorer, cohen_kappa_score\nimport eli5\nfrom eli5.sklearn import PermutationImportance\nimport warnings\nwarnings.simplefilter('ignore')\nsns.set_style('darkgrid')","metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","trusted":true,"execution":{"iopub.status.busy":"2024-12-31T15:29:55.481205Z","iopub.execute_input":"2024-12-31T15:29:55.481516Z","iopub.status.idle":"2024-12-31T15:29:55.486417Z","shell.execute_reply.started":"2024-12-31T15:29:55.481495Z","shell.execute_reply":"2024-12-31T15:29:55.485583Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"# *1. XỬ LÝ DỮ LIỆU*","metadata":{}},{"cell_type":"code","source":"path = '../input/child-mind-institute-problematic-internet-use/'\n\ntrain = pd.read_csv(path + 'train.csv', index_col = 'id')\ntest = pd.read_csv(path + 'test.csv', index_col = 'id')\nprint(\"Total number of missing training values: \", train.isna().sum().sum())\ndata_dictionary = pd.read_csv(path + 'data_dictionary.csv')","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-31T15:29:55.487597Z","iopub.execute_input":"2024-12-31T15:29:55.487822Z","iopub.status.idle":"2024-12-31T15:29:55.573778Z","shell.execute_reply.started":"2024-12-31T15:29:55.487803Z","shell.execute_reply":"2024-12-31T15:29:55.572876Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"# Lọc dữ liệu train và test dạng số\ntrain_cat_columns = train.select_dtypes(exclude = 'number').columns\ntest_cat_columns = test.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})\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":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-31T15:29:59.152114Z","iopub.execute_input":"2024-12-31T15:29:59.152430Z","iopub.status.idle":"2024-12-31T15:29:59.196587Z","shell.execute_reply.started":"2024-12-31T15:29:59.152404Z","shell.execute_reply":"2024-12-31T15:29:59.195757Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"# *2. XỬ LÝ FEATURES PCIAT*\nParent-Child Internet Addiction Test - câu hỏi kiểm tra","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))\npd.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":"2024-12-31T15:29:59.197836Z","iopub.execute_input":"2024-12-31T15:29:59.198101Z","iopub.status.idle":"2024-12-31T15:29:59.208860Z","shell.execute_reply.started":"2024-12-31T15:29:59.198081Z","shell.execute_reply":"2024-12-31T15:29:59.208203Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"# Đánh giá tương quan giữa PCIAT_total và PCIAT_ (correlation)\n\ncorr = 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":"2024-12-31T15:29:59.210204Z","iopub.execute_input":"2024-12-31T15:29:59.210464Z","iopub.status.idle":"2024-12-31T15:29:59.233084Z","shell.execute_reply.started":"2024-12-31T15:29:59.210444Z","shell.execute_reply":"2024-12-31T15:29:59.232457Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"# đánh giá sii qua PCIAT-PCIAT_Total\n\nprint(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":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-31T15:30:13.349779Z","iopub.execute_input":"2024-12-31T15:30:13.350072Z","iopub.status.idle":"2024-12-31T15:30:13.366764Z","shell.execute_reply.started":"2024-12-31T15:30:13.350050Z","shell.execute_reply":"2024-12-31T15:30:13.365657Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"# check với sii thực \ntrain.sii.value_counts()","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-31T15:30:13.368176Z","iopub.execute_input":"2024-12-31T15:30:13.368501Z","iopub.status.idle":"2024-12-31T15:30:13.374541Z","shell.execute_reply.started":"2024-12-31T15:30:13.368470Z","shell.execute_reply":"2024-12-31T15:30:13.373588Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"PCIAT_cols.remove('PCIAT-PCIAT_Total')\ntrain = train.drop(columns = PCIAT_cols)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-31T15:30:17.400484Z","iopub.execute_input":"2024-12-31T15:30:17.400824Z","iopub.status.idle":"2024-12-31T15:30:17.406443Z","shell.execute_reply.started":"2024-12-31T15:30:17.400796Z","shell.execute_reply":"2024-12-31T15:30:17.405804Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"# *3. ĐÁNH GIÁ DỮ LIỆU ĐẦU RA*\nSeverity Impairment Index - sii - chỉ số suy giảm mức độ ( 0, 1, 2, 3)","metadata":{}},{"cell_type":"code","source":"sns.countplot(train, x = 'sii').set_title('Count of sii')","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-31T15:30:17.418376Z","iopub.execute_input":"2024-12-31T15:30:17.418578Z","iopub.status.idle":"2024-12-31T15:30:17.695017Z","shell.execute_reply.started":"2024-12-31T15:30:17.418560Z","shell.execute_reply":"2024-12-31T15:30:17.694306Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"# Đánh giá chỉ số sii qua features - PreInt_EduHx-computerinternet_hoursday: thời gian sử dụng internet\n\nvals = ['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])\n    plot.set_xlabel(\"Thời gian sử dụng Internet mỗi ngày (giờ)\")  \n    plot.set_ylabel(\"Số người\")\n\n\ntrain = train.dropna(subset='sii')","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-31T15:30:20.552329Z","iopub.execute_input":"2024-12-31T15:30:20.552645Z","iopub.status.idle":"2024-12-31T15:30:21.515909Z","shell.execute_reply.started":"2024-12-31T15:30:20.552600Z","shell.execute_reply":"2024-12-31T15:30:21.515088Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"# *4. ĐÁNH GIÁ DỮ LIỆU THIẾU TRÊN TỪNG FEATURE*","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":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-31T15:30:21.516821Z","iopub.execute_input":"2024-12-31T15:30:21.517099Z","iopub.status.idle":"2024-12-31T15:30:21.531901Z","shell.execute_reply.started":"2024-12-31T15:30:21.517065Z","shell.execute_reply":"2024-12-31T15:30:21.531206Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"# Các feature thiếu hơn nửa dữ liệu\nhalf_missing = [val for val in train.columns[train.isnull().sum()>len(train)/2]]\nhalf_missing","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-31T15:30:21.533790Z","iopub.execute_input":"2024-12-31T15:30:21.534064Z","iopub.status.idle":"2024-12-31T15:30:21.548506Z","shell.execute_reply.started":"2024-12-31T15:30:21.534043Z","shell.execute_reply":"2024-12-31T15:30:21.547813Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"# *5. ĐÁNH GIÁ TƯƠNG QUAN CÁC FEATURE VỚI DỮ LIỆU ĐẦU RA*","metadata":{}},{"cell_type":"code","source":"corr = pd.DataFrame(train.corr()['PCIAT-PCIAT_Total'].sort_values(ascending = False))\ncorr.style.background_gradient(cmap='YlOrRd')","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-31T15:30:21.549879Z","iopub.execute_input":"2024-12-31T15:30:21.550130Z","iopub.status.idle":"2024-12-31T15:30:21.590361Z","shell.execute_reply.started":"2024-12-31T15:30:21.550109Z","shell.execute_reply":"2024-12-31T15:30:21.589726Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"# *6. LỰA CHỌN FEATURES CÓ Ý NGHĨA ĐỂ HUẤN LUYỆN*","metadata":{}},{"cell_type":"code","source":"# chọn feature có độ tương quan đủ lớn\n\nselection = 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')\n# selection.remove('Physical-BMI')\n# selection.remove('SDS-SDS_Total_Raw')","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-31T15:30:21.591153Z","iopub.execute_input":"2024-12-31T15:30:21.591428Z","iopub.status.idle":"2024-12-31T15:30:21.596308Z","shell.execute_reply.started":"2024-12-31T15:30:21.591406Z","shell.execute_reply":"2024-12-31T15:30:21.595403Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"# chọn feature có ít dữ liệu bị thiếu\n\nselection = [i for i in selection if i not in half_missing]","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-31T15:30:21.597003Z","iopub.execute_input":"2024-12-31T15:30:21.597252Z","iopub.status.idle":"2024-12-31T15:30:21.607230Z","shell.execute_reply.started":"2024-12-31T15:30:21.597232Z","shell.execute_reply":"2024-12-31T15:30:21.606527Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"describe = train[selection].describe().T\ndescribe = describe[['min','max']].sort_index()\ndescribe.style.background_gradient(cmap='YlOrRd')","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-31T15:30:21.608004Z","iopub.execute_input":"2024-12-31T15:30:21.608267Z","iopub.status.idle":"2024-12-31T15:30:21.906822Z","shell.execute_reply.started":"2024-12-31T15:30:21.608232Z","shell.execute_reply":"2024-12-31T15:30:21.905897Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"train[selection].hist(figsize=(10,10), grid = True, color = 'chocolate')\nplt.tight_layout()","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-31T15:30:21.909370Z","iopub.execute_input":"2024-12-31T15:30:21.909641Z","iopub.status.idle":"2024-12-31T15:30:25.803617Z","shell.execute_reply.started":"2024-12-31T15:30:21.909597Z","shell.execute_reply":"2024-12-31T15:30:25.802800Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"# *7. HUẤN LUYỆN MÔ HÌNH*","metadata":{}},{"cell_type":"code","source":"X = train[selection]\ntest = test[selection]\ny = train['PCIAT-PCIAT_Total']","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-31T15:30:25.805343Z","iopub.execute_input":"2024-12-31T15:30:25.805608Z","iopub.status.idle":"2024-12-31T15:30:25.811281Z","shell.execute_reply.started":"2024-12-31T15:30:25.805586Z","shell.execute_reply":"2024-12-31T15:30:25.810575Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"def convert(scores):\n    scores = np.array(scores)*1.252\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":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-31T15:30:25.812152Z","iopub.execute_input":"2024-12-31T15:30:25.812424Z","iopub.status.idle":"2024-12-31T15:30:25.823866Z","shell.execute_reply.started":"2024-12-31T15:30:25.812397Z","shell.execute_reply":"2024-12-31T15:30:25.822987Z"}},"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    \nskf = StratifiedKFold(n_splits=10)\nkappa_scorer = make_scorer(quadratic_kappa, greater_is_better=True)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-31T15:30:25.824555Z","iopub.execute_input":"2024-12-31T15:30:25.824785Z","iopub.status.idle":"2024-12-31T15:30:25.835190Z","shell.execute_reply.started":"2024-12-31T15:30:25.824766Z","shell.execute_reply":"2024-12-31T15:30:25.834452Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"params_xgb = {'max_depth': 3, 'n_estimators': 59, 'learning_rate': 0.07327652118259573,\n              'subsample': 0.5968194045365575, 'colsample_bytree': 0.9123669348125403}\nparams_lgbm = {'num_leaves': 60, 'learning_rate': 0.011747572224219955, 'n_estimators': 993,\n               'max_depth': 1, 'min_child_weight': 0.0025036281384857462, \n               'subsample': 0.8252622287203014, 'colsample_bytree': 0.6648896193058901, \n               'reg_alpha': 0.7153672744430527, 'reg_lambda': 0.12158717311465662}\nparams_catboost = {'iterations': 804, 'learning_rate': 0.007849710402582562, 'depth': 6,\n                   'l2_leaf_reg': 7.31183636902306, 'subsample': 0.5630297785016092, \n                   'random_strength': 1.7097065892440113, 'bagging_temperature': 0.026593521316435192,\n                   'border_count': 12}","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-31T15:30:25.836091Z","iopub.execute_input":"2024-12-31T15:30:25.836369Z","iopub.status.idle":"2024-12-31T15:30:25.845988Z","shell.execute_reply.started":"2024-12-31T15:30:25.836349Z","shell.execute_reply":"2024-12-31T15:30:25.845229Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"model_xgb = xgb.XGBRegressor(**params_xgb)\nmodel_lgbm = lgb.LGBMRegressor(**params_lgbm, random_state=42, verbose=-1)\nmodel_catboost = CatBoostRegressor(**params_catboost, random_state=42, verbose=0)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-31T15:30:25.846767Z","iopub.execute_input":"2024-12-31T15:30:25.847038Z","iopub.status.idle":"2024-12-31T15:30:25.858410Z","shell.execute_reply.started":"2024-12-31T15:30:25.847006Z","shell.execute_reply":"2024-12-31T15:30:25.857612Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"scores = cross_val_score(model_xgb, X, y, cv=skf, scoring=kappa_scorer)\nprint(\"QWK Scores:\", scores)\nprint(\"Mean QWK Score:\", np.mean(scores))","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-31T15:30:25.859290Z","iopub.execute_input":"2024-12-31T15:30:25.859581Z","iopub.status.idle":"2024-12-31T15:30:26.375991Z","shell.execute_reply.started":"2024-12-31T15:30:25.859548Z","shell.execute_reply":"2024-12-31T15:30:26.375299Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"scores = cross_val_score(model_lgbm, X, y, cv=skf, scoring=kappa_scorer)\nprint(\"QWK Scores:\", scores)\nprint(\"Mean QWK Score:\", np.mean(scores))","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-31T15:30:26.376493Z","iopub.execute_input":"2024-12-31T15:30:26.376729Z","iopub.status.idle":"2024-12-31T15:30:27.584053Z","shell.execute_reply.started":"2024-12-31T15:30:26.376706Z","shell.execute_reply":"2024-12-31T15:30:27.583123Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"scores = cross_val_score(model_catboost, X, y, cv=skf, scoring=kappa_scorer)\nprint(\"QWK Scores:\", scores)\nprint(\"Mean QWK Score:\", np.mean(scores))","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-31T15:30:27.585070Z","iopub.execute_input":"2024-12-31T15:30:27.585438Z","iopub.status.idle":"2024-12-31T15:30:34.136957Z","shell.execute_reply.started":"2024-12-31T15:30:27.585402Z","shell.execute_reply":"2024-12-31T15:30:34.136069Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"model_xgb.fit(X,y)\nfeature_imp = pd.Series(model_xgb.feature_importances_,index=X.columns).sort_values(ascending=False)\nfeature_imp","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-31T15:30:34.137798Z","iopub.execute_input":"2024-12-31T15:30:34.138015Z","iopub.status.idle":"2024-12-31T15:30:34.197439Z","shell.execute_reply.started":"2024-12-31T15:30:34.137996Z","shell.execute_reply":"2024-12-31T15:30:34.196415Z"}},"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":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-31T15:30:34.198144Z","iopub.execute_input":"2024-12-31T15:30:34.198341Z","iopub.status.idle":"2024-12-31T15:30:34.572686Z","shell.execute_reply.started":"2024-12-31T15:30:34.198322Z","shell.execute_reply":"2024-12-31T15:30:34.571834Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"perm = PermutationImportance(model_xgb, random_state=1).fit(X,y)\neli5.show_weights(perm, feature_names = X.columns.tolist())","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-31T15:30:34.575168Z","iopub.execute_input":"2024-12-31T15:30:34.575381Z","iopub.status.idle":"2024-12-31T15:30:34.977169Z","shell.execute_reply.started":"2024-12-31T15:30:34.575362Z","shell.execute_reply":"2024-12-31T15:30:34.976424Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"model_xgb.fit(X,y)\npreds_xgb = model_xgb.predict(test)\npreds_xgb = convert(preds_xgb) \npreds_xgb = pd.Series(preds_xgb)\npreds_xgb.index = test.index\npreds_xgb.to_csv('submission.csv')\n","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-31T15:30:34.978205Z","iopub.execute_input":"2024-12-31T15:30:34.978447Z","iopub.status.idle":"2024-12-31T15:30:35.034581Z","shell.execute_reply.started":"2024-12-31T15:30:34.978426Z","shell.execute_reply":"2024-12-31T15:30:35.033844Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"model_lgbm.fit(X,y)\npreds_lgbm = model_lgbm.predict(test)\npreds_lgbm = convert(preds_lgbm) \npreds_lgbm = pd.Series(preds_lgbm)\npreds_lgbm.index = test.index\npreds_lgbm\n# preds_lgbm.to_csv('submission.csv')\n","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-31T15:30:35.035274Z","iopub.execute_input":"2024-12-31T15:30:35.035488Z","iopub.status.idle":"2024-12-31T15:30:35.151064Z","shell.execute_reply.started":"2024-12-31T15:30:35.035468Z","shell.execute_reply":"2024-12-31T15:30:35.150351Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"model_catboost.fit(X,y)\npreds_catboost = model_catboost.predict(test)\npreds_catboost = convert(preds_catboost) \npreds_catboost = pd.Series(preds_catboost)\npreds_catboost.index = test.index\n\npreds_catboost\n# preds_catboost.to_csv('submission.csv')\n","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-31T15:30:35.151973Z","iopub.execute_input":"2024-12-31T15:30:35.152300Z","iopub.status.idle":"2024-12-31T15:30:35.848324Z","shell.execute_reply.started":"2024-12-31T15:30:35.152266Z","shell.execute_reply":"2024-12-31T15:30:35.847666Z"}},"outputs":[],"execution_count":null}]}