Adjusted some comments
This commit is contained in:
1 parent
29b5d87b57
commit
d17bee7ab3
3 files changed
+39
-43
No files matched your search
@@ -0,0 +1 @@
|
|||||||
|
.venv/
|
||||||
+38
-43
@@ -66,7 +66,7 @@
|
|||||||
"from sklearn.metrics import mean_squared_error, mean_absolute_error , r2_score\n",
|
"from sklearn.metrics import mean_squared_error, mean_absolute_error , r2_score\n",
|
||||||
"from sklearn.metrics import classification_report, confusion_matrix, ConfusionMatrixDisplay\n",
|
"from sklearn.metrics import classification_report, confusion_matrix, ConfusionMatrixDisplay\n",
|
||||||
"from scipy.stats import randint\n",
|
"from scipy.stats import randint\n",
|
||||||
"from sklearn.naive_bayes import NB\n",
|
"\n",
|
||||||
"\n",
|
"\n",
|
||||||
"\n",
|
"\n",
|
||||||
"\n",
|
"\n",
|
||||||
@@ -121,12 +121,9 @@
|
|||||||
" precision=2 # Limit decimals\n",
|
" precision=2 # Limit decimals\n",
|
||||||
")\n",
|
")\n",
|
||||||
"\n",
|
"\n",
|
||||||
"plt.savefig('decision_tree.pdf', format='pdf', dpi=300)\n",
|
"#plt.savefig('decision_tree.pdf', format='pdf', dpi=300)\n",
|
||||||
"plt.show()\n",
|
"plt.show()\n",
|
||||||
"\n",
|
"\n",
|
||||||
"#mse = mean_squared_error(y_val, y_pred)\n",
|
|
||||||
"#print(f'Mean Squared Error: {mse}')\n",
|
|
||||||
"\n",
|
|
||||||
"CM = confusion_matrix(y_val, y_pred)\n",
|
"CM = confusion_matrix(y_val, y_pred)\n",
|
||||||
"disp = ConfusionMatrixDisplay(confusion_matrix=CM, display_labels=[\"Poor\", \"Rich\"])\n",
|
"disp = ConfusionMatrixDisplay(confusion_matrix=CM, display_labels=[\"Poor\", \"Rich\"])\n",
|
||||||
"disp.plot(cmap=\"Blues\")\n",
|
"disp.plot(cmap=\"Blues\")\n",
|
||||||
@@ -150,27 +147,27 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": 12,
|
"execution_count": 4,
|
||||||
"id": "e567e4e9",
|
"id": "e567e4e9",
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [
|
"outputs": [
|
||||||
{
|
{
|
||||||
"name": "stdout",
|
"ename": "KeyboardInterrupt",
|
||||||
"output_type": "stream",
|
"evalue": "",
|
||||||
"text": [
|
"output_type": "error",
|
||||||
"Classification Report:\n",
|
"traceback": [
|
||||||
" precision recall f1-score support\n",
|
"\u001b[31m---------------------------------------------------------------------------\u001b[39m",
|
||||||
"\n",
|
"\u001b[31mKeyboardInterrupt\u001b[39m Traceback (most recent call last)",
|
||||||
" Poor 0.89 0.93 0.91 4524\n",
|
"\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[4]\u001b[39m\u001b[32m, line 8\u001b[39m\n\u001b[32m 6\u001b[39m skf = StratifiedKFold(n_splits=\u001b[32m10\u001b[39m, shuffle=\u001b[38;5;28;01mTrue\u001b[39;00m, random_state=\u001b[32m42\u001b[39m)\n\u001b[32m 7\u001b[39m grid_search = GridSearchCV(model, param_grid, scoring=\u001b[33m'\u001b[39m\u001b[33maccuracy\u001b[39m\u001b[33m'\u001b[39m, cv=skf, n_jobs=-\u001b[32m1\u001b[39m)\n\u001b[32m----> \u001b[39m\u001b[32m8\u001b[39m \u001b[43mgrid_search\u001b[49m\u001b[43m.\u001b[49m\u001b[43mfit\u001b[49m\u001b[43m(\u001b[49m\u001b[43mX_train\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43my_train\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 11\u001b[39m \u001b[38;5;66;03m# Best model training\u001b[39;00m\n\u001b[32m 12\u001b[39m best_model = grid_search.best_estimator_\n",
|
||||||
" Rich 0.74 0.64 0.69 1509\n",
|
"\u001b[36mFile \u001b[39m\u001b[32m~/Documents/MLP/Projects/MLPproject/.venv/lib/python3.12/site-packages/sklearn/base.py:1365\u001b[39m, in \u001b[36m_fit_context.<locals>.decorator.<locals>.wrapper\u001b[39m\u001b[34m(estimator, *args, **kwargs)\u001b[39m\n\u001b[32m 1358\u001b[39m estimator._validate_params()\n\u001b[32m 1360\u001b[39m \u001b[38;5;28;01mwith\u001b[39;00m config_context(\n\u001b[32m 1361\u001b[39m skip_parameter_validation=(\n\u001b[32m 1362\u001b[39m prefer_skip_nested_validation \u001b[38;5;129;01mor\u001b[39;00m global_skip_validation\n\u001b[32m 1363\u001b[39m )\n\u001b[32m 1364\u001b[39m ):\n\u001b[32m-> \u001b[39m\u001b[32m1365\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mfit_method\u001b[49m\u001b[43m(\u001b[49m\u001b[43mestimator\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m*\u001b[49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m*\u001b[49m\u001b[43m*\u001b[49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n",
|
||||||
"\n",
|
"\u001b[36mFile \u001b[39m\u001b[32m~/Documents/MLP/Projects/MLPproject/.venv/lib/python3.12/site-packages/sklearn/model_selection/_search.py:1051\u001b[39m, in \u001b[36mBaseSearchCV.fit\u001b[39m\u001b[34m(self, X, y, **params)\u001b[39m\n\u001b[32m 1045\u001b[39m results = \u001b[38;5;28mself\u001b[39m._format_results(\n\u001b[32m 1046\u001b[39m all_candidate_params, n_splits, all_out, all_more_results\n\u001b[32m 1047\u001b[39m )\n\u001b[32m 1049\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m results\n\u001b[32m-> \u001b[39m\u001b[32m1051\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[43m.\u001b[49m\u001b[43m_run_search\u001b[49m\u001b[43m(\u001b[49m\u001b[43mevaluate_candidates\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 1053\u001b[39m \u001b[38;5;66;03m# multimetric is determined here because in the case of a callable\u001b[39;00m\n\u001b[32m 1054\u001b[39m \u001b[38;5;66;03m# self.scoring the return type is only known after calling\u001b[39;00m\n\u001b[32m 1055\u001b[39m first_test_score = all_out[\u001b[32m0\u001b[39m][\u001b[33m\"\u001b[39m\u001b[33mtest_scores\u001b[39m\u001b[33m\"\u001b[39m]\n",
|
||||||
" accuracy 0.86 6033\n",
|
"\u001b[36mFile \u001b[39m\u001b[32m~/Documents/MLP/Projects/MLPproject/.venv/lib/python3.12/site-packages/sklearn/model_selection/_search.py:1605\u001b[39m, in \u001b[36mGridSearchCV._run_search\u001b[39m\u001b[34m(self, evaluate_candidates)\u001b[39m\n\u001b[32m 1603\u001b[39m \u001b[38;5;28;01mdef\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34m_run_search\u001b[39m(\u001b[38;5;28mself\u001b[39m, evaluate_candidates):\n\u001b[32m 1604\u001b[39m \u001b[38;5;250m \u001b[39m\u001b[33;03m\"\"\"Search all candidates in param_grid\"\"\"\u001b[39;00m\n\u001b[32m-> \u001b[39m\u001b[32m1605\u001b[39m \u001b[43mevaluate_candidates\u001b[49m\u001b[43m(\u001b[49m\u001b[43mParameterGrid\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[43m.\u001b[49m\u001b[43mparam_grid\u001b[49m\u001b[43m)\u001b[49m\u001b[43m)\u001b[49m\n",
|
||||||
" macro avg 0.81 0.78 0.80 6033\n",
|
"\u001b[36mFile \u001b[39m\u001b[32m~/Documents/MLP/Projects/MLPproject/.venv/lib/python3.12/site-packages/sklearn/model_selection/_search.py:997\u001b[39m, in \u001b[36mBaseSearchCV.fit.<locals>.evaluate_candidates\u001b[39m\u001b[34m(candidate_params, cv, more_results)\u001b[39m\n\u001b[32m 989\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m.verbose > \u001b[32m0\u001b[39m:\n\u001b[32m 990\u001b[39m \u001b[38;5;28mprint\u001b[39m(\n\u001b[32m 991\u001b[39m \u001b[33m\"\u001b[39m\u001b[33mFitting \u001b[39m\u001b[38;5;132;01m{0}\u001b[39;00m\u001b[33m folds for each of \u001b[39m\u001b[38;5;132;01m{1}\u001b[39;00m\u001b[33m candidates,\u001b[39m\u001b[33m\"\u001b[39m\n\u001b[32m 992\u001b[39m \u001b[33m\"\u001b[39m\u001b[33m totalling \u001b[39m\u001b[38;5;132;01m{2}\u001b[39;00m\u001b[33m fits\u001b[39m\u001b[33m\"\u001b[39m.format(\n\u001b[32m 993\u001b[39m n_splits, n_candidates, n_candidates * n_splits\n\u001b[32m 994\u001b[39m )\n\u001b[32m 995\u001b[39m )\n\u001b[32m--> \u001b[39m\u001b[32m997\u001b[39m out = \u001b[43mparallel\u001b[49m\u001b[43m(\u001b[49m\n\u001b[32m 998\u001b[39m \u001b[43m \u001b[49m\u001b[43mdelayed\u001b[49m\u001b[43m(\u001b[49m\u001b[43m_fit_and_score\u001b[49m\u001b[43m)\u001b[49m\u001b[43m(\u001b[49m\n\u001b[32m 999\u001b[39m \u001b[43m \u001b[49m\u001b[43mclone\u001b[49m\u001b[43m(\u001b[49m\u001b[43mbase_estimator\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 1000\u001b[39m \u001b[43m \u001b[49m\u001b[43mX\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 1001\u001b[39m \u001b[43m \u001b[49m\u001b[43my\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 1002\u001b[39m \u001b[43m \u001b[49m\u001b[43mtrain\u001b[49m\u001b[43m=\u001b[49m\u001b[43mtrain\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 1003\u001b[39m \u001b[43m \u001b[49m\u001b[43mtest\u001b[49m\u001b[43m=\u001b[49m\u001b[43mtest\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 1004\u001b[39m \u001b[43m \u001b[49m\u001b[43mparameters\u001b[49m\u001b[43m=\u001b[49m\u001b[43mparameters\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 1005\u001b[39m \u001b[43m \u001b[49m\u001b[43msplit_progress\u001b[49m\u001b[43m=\u001b[49m\u001b[43m(\u001b[49m\u001b[43msplit_idx\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mn_splits\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 1006\u001b[39m \u001b[43m \u001b[49m\u001b[43mcandidate_progress\u001b[49m\u001b[43m=\u001b[49m\u001b[43m(\u001b[49m\u001b[43mcand_idx\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mn_candidates\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 1007\u001b[39m \u001b[43m \u001b[49m\u001b[43m*\u001b[49m\u001b[43m*\u001b[49m\u001b[43mfit_and_score_kwargs\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 1008\u001b[39m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 1009\u001b[39m \u001b[43m \u001b[49m\u001b[38;5;28;43;01mfor\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43m(\u001b[49m\u001b[43mcand_idx\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mparameters\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m(\u001b[49m\u001b[43msplit_idx\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m(\u001b[49m\u001b[43mtrain\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mtest\u001b[49m\u001b[43m)\u001b[49m\u001b[43m)\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;129;43;01min\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mproduct\u001b[49m\u001b[43m(\u001b[49m\n\u001b[32m 1010\u001b[39m \u001b[43m \u001b[49m\u001b[38;5;28;43menumerate\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43mcandidate_params\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 1011\u001b[39m \u001b[43m \u001b[49m\u001b[38;5;28;43menumerate\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43mcv\u001b[49m\u001b[43m.\u001b[49m\u001b[43msplit\u001b[49m\u001b[43m(\u001b[49m\u001b[43mX\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43my\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m*\u001b[49m\u001b[43m*\u001b[49m\u001b[43mrouted_params\u001b[49m\u001b[43m.\u001b[49m\u001b[43msplitter\u001b[49m\u001b[43m.\u001b[49m\u001b[43msplit\u001b[49m\u001b[43m)\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 1012\u001b[39m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 1013\u001b[39m \u001b[43m\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 1015\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mlen\u001b[39m(out) < \u001b[32m1\u001b[39m:\n\u001b[32m 1016\u001b[39m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\n\u001b[32m 1017\u001b[39m \u001b[33m\"\u001b[39m\u001b[33mNo fits were performed. \u001b[39m\u001b[33m\"\u001b[39m\n\u001b[32m 1018\u001b[39m \u001b[33m\"\u001b[39m\u001Line truncated
|
||||||
"weighted avg 0.85 0.86 0.85 6033\n",
|
"\u001b[36mFile \u001b[39m\u001b[32m~/Documents/MLP/Projects/MLPproject/.venv/lib/python3.12/site-packages/sklearn/utils/parallel.py:82\u001b[39m, in \u001b[36mParallel.__call__\u001b[39m\u001b[34m(self, iterable)\u001b[39m\n\u001b[32m 73\u001b[39m warning_filters = warnings.filters\n\u001b[32m 74\u001b[39m iterable_with_config_and_warning_filters = (\n\u001b[32m 75\u001b[39m (\n\u001b[32m 76\u001b[39m _with_config_and_warning_filters(delayed_func, config, warning_filters),\n\u001b[32m (...)\u001b[39m\u001b[32m 80\u001b[39m \u001b[38;5;28;01mfor\u001b[39;00m delayed_func, args, kwargs \u001b[38;5;129;01min\u001b[39;00m iterable\n\u001b[32m 81\u001b[39m )\n\u001b[32m---> \u001b[39m\u001b[32m82\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43msuper\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\u001b[43m.\u001b[49m\u001b[34;43m__call__\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43miterable_with_config_and_warning_filters\u001b[49m\u001b[43m)\u001b[49m\n",
|
||||||
"\n",
|
"\u001b[36mFile \u001b[39m\u001b[32m~/Documents/MLP/Projects/MLPproject/.venv/lib/python3.12/site-packages/joblib/parallel.py:2072\u001b[39m, in \u001b[36mParallel.__call__\u001b[39m\u001b[34m(self, iterable)\u001b[39m\n\u001b[32m 2066\u001b[39m \u001b[38;5;66;03m# The first item from the output is blank, but it makes the interpreter\u001b[39;00m\n\u001b[32m 2067\u001b[39m \u001b[38;5;66;03m# progress until it enters the Try/Except block of the generator and\u001b[39;00m\n\u001b[32m 2068\u001b[39m \u001b[38;5;66;03m# reaches the first `yield` statement. This starts the asynchronous\u001b[39;00m\n\u001b[32m 2069\u001b[39m \u001b[38;5;66;03m# dispatch of the tasks to the workers.\u001b[39;00m\n\u001b[32m 2070\u001b[39m \u001b[38;5;28mnext\u001b[39m(output)\n\u001b[32m-> \u001b[39m\u001b[32m2072\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m output \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m.return_generator \u001b[38;5;28;01melse\u001b[39;00m \u001b[38;5;28;43mlist\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43moutput\u001b[49m\u001b[43m)\u001b[49m\n",
|
||||||
"Best max_depth: 11\n",
|
"\u001b[36mFile \u001b[39m\u001b[32m~/Documents/MLP/Projects/MLPproject/.venv/lib/python3.12/site-packages/joblib/parallel.py:1682\u001b[39m, in \u001b[36mParallel._get_outputs\u001b[39m\u001b[34m(self, iterator, pre_dispatch)\u001b[39m\n\u001b[32m 1679\u001b[39m \u001b[38;5;28;01myield\u001b[39;00m\n\u001b[32m 1681\u001b[39m \u001b[38;5;28;01mwith\u001b[39;00m \u001b[38;5;28mself\u001b[39m._backend.retrieval_context():\n\u001b[32m-> \u001b[39m\u001b[32m1682\u001b[39m \u001b[38;5;28;01myield from\u001b[39;00m \u001b[38;5;28mself\u001b[39m._retrieve()\n\u001b[32m 1684\u001b[39m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mGeneratorExit\u001b[39;00m:\n\u001b[32m 1685\u001b[39m \u001b[38;5;66;03m# The generator has been garbage collected before being fully\u001b[39;00m\n\u001b[32m 1686\u001b[39m \u001b[38;5;66;03m# consumed. This aborts the remaining tasks if possible and warn\u001b[39;00m\n\u001b[32m 1687\u001b[39m \u001b[38;5;66;03m# the user if necessary.\u001b[39;00m\n\u001b[32m 1688\u001b[39m \u001b[38;5;28mself\u001b[39m._exception = \u001b[38;5;28;01mTrue\u001b[39;00m\n",
|
||||||
"Best min_samples_split: 3\n",
|
"\u001b[36mFile \u001b[39m\u001b[32m~/Documents/MLP/Projects/MLPproject/.venv/lib/python3.12/site-packages/joblib/parallel.py:1800\u001b[39m, in \u001b[36mParallel._retrieve\u001b[39m\u001b[34m(self)\u001b[39m\n\u001b[32m 1789\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m.return_ordered:\n\u001b[32m 1790\u001b[39m \u001b[38;5;66;03m# Case ordered: wait for completion (or error) of the next job\u001b[39;00m\n\u001b[32m 1791\u001b[39m \u001b[38;5;66;03m# that have been dispatched and not retrieved yet. If no job\u001b[39;00m\n\u001b[32m (...)\u001b[39m\u001b[32m 1795\u001b[39m \u001b[38;5;66;03m# control only have to be done on the amount of time the next\u001b[39;00m\n\u001b[32m 1796\u001b[39m \u001b[38;5;66;03m# dispatched job is pending.\u001b[39;00m\n\u001b[32m 1797\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m (nb_jobs == \u001b[32m0\u001b[39m) \u001b[38;5;129;01mor\u001b[39;00m (\n\u001b[32m 1798\u001b[39m \u001b[38;5;28mself\u001b[39m._jobs[\u001b[32m0\u001b[39m].get_status(timeout=\u001b[38;5;28mself\u001b[39m.timeout) == TASK_PENDING\n\u001b[32m 1799\u001b[39m ):\n\u001b[32m-> \u001b[39m\u001b[32m1800\u001b[39m \u001b[43mtime\u001b[49m\u001b[43m.\u001b[49m\u001b[43msleep\u001b[49m\u001b[43m(\u001b[49m\u001b[32;43m0.01\u001b[39;49m\u001b[43m)\u001b[49m\n\u001b[32m 1801\u001b[39m \u001b[38;5;28;01mcontinue\u001b[39;00m\n\u001b[32m 1803\u001b[39m \u001b[38;5;28;01melif\u001b[39;00m nb_jobs == \u001b[32m0\u001b[39m:\n\u001b[32m 1804\u001b[39m \u001b[38;5;66;03m# Case unordered: jobs are added to the list of jobs to\u001b[39;00m\n\u001b[32m 1805\u001b[39m \u001b[38;5;66;03m# retrieve `self._jobs` only once completed or in error, which\u001b[39;00m\n\u001b[32m (...)\u001b[39m\u001b[32m 1811\u001b[39m \u001b[38;5;66;03m# timeouts before any other dispatched job has completed and\u001b[39;00m\n\u001b[32m 1812\u001b[39m \u001b[38;5;66;03m# been added to `self._jobs` to be retrieved.\u001b[39;00m\n",
|
||||||
"Best min_samples_leaf: 4\n"
|
"\u001b[31mKeyboardInterrupt\u001b[39m: "
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@@ -212,7 +209,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": null,
|
"execution_count": 5,
|
||||||
"id": "e68b1ea9",
|
"id": "e68b1ea9",
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [],
|
||||||
@@ -236,13 +233,13 @@
|
|||||||
" X, y, test_size=test_size, stratify=y, random_state=random_state)\n",
|
" X, y, test_size=test_size, stratify=y, random_state=random_state)\n",
|
||||||
"\n",
|
"\n",
|
||||||
" # Scale features\n",
|
" # Scale features\n",
|
||||||
" scaler = StandardScaler()\n",
|
" #scaler = StandardScaler()\n",
|
||||||
" self.X_train = scaler.fit_transform(X_train)\n",
|
" #self.X_train = scaler.fit_transform(X_train)\n",
|
||||||
" self.X_test = scaler.transform(X_test)\n",
|
" #self.X_test = scaler.transform(X_test)\n",
|
||||||
"\n",
|
"\n",
|
||||||
" # Scaling not necessary for decision trees\n",
|
" # Scaling not necessary for decision trees\n",
|
||||||
" #self.X_train = X_train\n",
|
" self.X_train = X_train\n",
|
||||||
" #self.X_test = X_test\n",
|
" self.X_test = X_test\n",
|
||||||
"\n",
|
"\n",
|
||||||
" self.y_train = y_train\n",
|
" self.y_train = y_train\n",
|
||||||
" self.y_test = y_test\n",
|
" self.y_test = y_test\n",
|
||||||
@@ -275,7 +272,6 @@
|
|||||||
"\n",
|
"\n",
|
||||||
" results_list = []\n",
|
" results_list = []\n",
|
||||||
" cv = StratifiedKFold(n_splits=self.cv_folds, shuffle=True, random_state=42)\n",
|
" cv = StratifiedKFold(n_splits=self.cv_folds, shuffle=True, random_state=42)\n",
|
||||||
" #models_with_params = self.get_models_with_params()\n",
|
|
||||||
"\n",
|
"\n",
|
||||||
" for name, (model, param_grid) in models_with_params.items():\n",
|
" for name, (model, param_grid) in models_with_params.items():\n",
|
||||||
" print(f\"Tuning {name} ...\")\n",
|
" print(f\"Tuning {name} ...\")\n",
|
||||||
@@ -359,7 +355,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": 58,
|
"execution_count": 6,
|
||||||
"id": "d6fd1fee",
|
"id": "d6fd1fee",
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [
|
"outputs": [
|
||||||
@@ -372,13 +368,13 @@
|
|||||||
"\n",
|
"\n",
|
||||||
"------ Results Sorted by Accuracy ------\n",
|
"------ Results Sorted by Accuracy ------\n",
|
||||||
" Model Accuracy Precision Recall F1 Score Best Params Training Time (s) Prediction Time (s) Total Time (s)\n",
|
" Model Accuracy Precision Recall F1 Score Best Params Training Time (s) Prediction Time (s) Total Time (s)\n",
|
||||||
"Random Forest 0.858777 0.853301 0.858777 0.853292 {'max_depth': 20, 'min_samples_split': 10, 'n_estimators': 100} 186.568059 0.070525 186.638585\n",
|
"Random Forest 0.858942 0.853479 0.858942 0.853443 {'max_depth': 20, 'min_samples_split': 10, 'n_estimators': 100} 160.295069 0.188931 160.484000\n",
|
||||||
"Decision Tree 0.848168 0.844754 0.848168 0.846079 {'max_depth': 10, 'min_samples_split': 5} 11.661536 0.001839 11.663375\n",
|
"Decision Tree 0.848334 0.844900 0.848334 0.846228 {'max_depth': 10, 'min_samples_split': 5} 11.927628 0.006326 11.933954\n",
|
||||||
"\n",
|
"\n",
|
||||||
"------ Results Sorted by Total Time ------\n",
|
"------ Results Sorted by Total Time ------\n",
|
||||||
" Model Accuracy Precision Recall F1 Score Best Params Training Time (s) Prediction Time (s) Total Time (s)\n",
|
" Model Accuracy Precision Recall F1 Score Best Params Training Time (s) Prediction Time (s) Total Time (s)\n",
|
||||||
"Decision Tree 0.848168 0.844754 0.848168 0.846079 {'max_depth': 10, 'min_samples_split': 5} 11.661536 0.001839 11.663375\n",
|
"Decision Tree 0.848334 0.844900 0.848334 0.846228 {'max_depth': 10, 'min_samples_split': 5} 11.927628 0.006326 11.933954\n",
|
||||||
"Random Forest 0.858777 0.853301 0.858777 0.853292 {'max_depth': 20, 'min_samples_split': 10, 'n_estimators': 100} 186.568059 0.070525 186.638585\n"
|
"Random Forest 0.858942 0.853479 0.858942 0.853443 {'max_depth': 20, 'min_samples_split': 10, 'n_estimators': 100} 160.295069 0.188931 160.484000\n"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@@ -386,7 +382,7 @@
|
|||||||
"# optimized classifiers and find their hyperparameters\n",
|
"# optimized classifiers and find their hyperparameters\n",
|
||||||
"clf_opt = ClassifierComparisonOpt(X_train_val, y_train_val)\n",
|
"clf_opt = ClassifierComparisonOpt(X_train_val, y_train_val)\n",
|
||||||
"clf_opt.fit_models()\n",
|
"clf_opt.fit_models()\n",
|
||||||
"clf_opt.print_summary()\n"
|
"clf_opt.print_summary()"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -400,7 +396,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": 57,
|
"execution_count": 7,
|
||||||
"id": "4185a428",
|
"id": "4185a428",
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [
|
"outputs": [
|
||||||
@@ -413,13 +409,13 @@
|
|||||||
"\n",
|
"\n",
|
||||||
"------ Results Sorted by Accuracy ------\n",
|
"------ Results Sorted by Accuracy ------\n",
|
||||||
" Model Accuracy Precision Recall F1 Score Best Params Training Time (s) Prediction Time (s) Total Time (s)\n",
|
" Model Accuracy Precision Recall F1 Score Best Params Training Time (s) Prediction Time (s) Total Time (s)\n",
|
||||||
"Random Forest 0.860766 0.855462 0.860766 0.854443 {'max_depth': 15, 'min_samples_split': 10, 'n_estimators': 100} 145.080616 0.069650 145.150266\n",
|
"Random Forest 0.858942 0.853479 0.858942 0.853443 {'max_depth': 20, 'min_samples_split': 10, 'n_estimators': 100} 167.364476 0.126707 167.491183\n",
|
||||||
"Decision Tree 0.849163 0.843062 0.849163 0.839388 {'max_depth': 8, 'min_samples_split': 6} 1.626699 0.001421 1.628121\n",
|
"Decision Tree 0.849163 0.843062 0.849163 0.839388 {'max_depth': 8, 'min_samples_split': 6} 2.160097 0.003498 2.163594\n",
|
||||||
"\n",
|
"\n",
|
||||||
"------ Results Sorted by Total Time ------\n",
|
"------ Results Sorted by Total Time ------\n",
|
||||||
" Model Accuracy Precision Recall F1 Score Best Params Training Time (s) Prediction Time (s) Total Time (s)\n",
|
" Model Accuracy Precision Recall F1 Score Best Params Training Time (s) Prediction Time (s) Total Time (s)\n",
|
||||||
"Decision Tree 0.849163 0.843062 0.849163 0.839388 {'max_depth': 8, 'min_samples_split': 6} 1.626699 0.001421 1.628121\n",
|
"Decision Tree 0.849163 0.843062 0.849163 0.839388 {'max_depth': 8, 'min_samples_split': 6} 2.160097 0.003498 2.163594\n",
|
||||||
"Random Forest 0.860766 0.855462 0.860766 0.854443 {'max_depth': 15, 'min_samples_split': 10, 'n_estimators': 100} 145.080616 0.069650 145.150266\n"
|
"Random Forest 0.858942 0.853479 0.858942 0.853443 {'max_depth': 20, 'min_samples_split': 10, 'n_estimators': 100} 167.364476 0.126707 167.491183\n"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -434,7 +430,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"data": {
|
"data": {
|
||||||
"image/png": "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ixaYPXu2fiqnefPmACyDiNtuuw0hISF4+umn0aRJE/zjH//A7bffrn/h1+TRRx9Fq1atMH/+fJSVlQm1PQB9wBwWFmYTf/vtt5GYmIgRI0bAz88PX375JR599FFomobHHnvMpuyvv/6K++67D1OnTsWkSZOwZs0aTJ48GcnJyUhMTAQA5OfnY+DAgaiqqsKcOXPQrFkzvPPOO2jatKmD08KFC7Fo0SIMHjwY06dPR0ZGBt5++23s27cPP/30E5o0aaKXLS4uxh/+8AeMHz8eY8eOxdtvv43x48fjo48+wqxZs/DII4/ggQcewKuvvor77rsPubm5CA4OrrNeysvLHY4boaGhaNKkCQoKCnDLLbegvLwcM2fOREREBNauXYsRI0bg008/xahRo2zet3jxYvj7++Ovf/0rKisr4e/vj23btmHYsGFITk7GggULoKqqPij94Ycf0Lt3bwDAI488gk8//RQzZsxA165dcf78efz44484evQobrzxRsybNw8XL17EqVOn9M+RtS8xPoYYRlI++OADAuD0j4iotLSUWrRoQdOmTbN5X35+PoWGhtrEy8vLHbb/8ccfEwDauXOnHnv11VcJAJ04ccKm7IkTJwgAffDBBw7bAUALFizQ/71gwQICQBMmTLApl52dTQaDgV588UWbeHp6Ovn5+TnEXdVHTbd27doRANq1a5ce++9//0sAqGnTpnTy5Ek9/o9//IMA0Pfff6/HJk2aRADo8ccf12OaptHw4cPJ39+fzp49S0REmzZtIgD0wgsv2Djdd999pCgK/frrrzb1oaoqGY1Gm7Jnz551qCsr7raPtW7/9Kc/2ZQdNWoURURE6P8+fvw4qapKo0aNIrPZbFNW0zQiEus/zrD2iVdffdUmPnLkSPL396fMzEw9lpeXR8HBwdS/f389Zm3Pfv36UVVVVa37qrm/RYsW0dmzZyk/P59++OEHuummmwgAffLJJzblndXpkCFDKD4+3iZm7UM167mwsJACAgLoySef1GOzZs0iALRnzx6bcqGhoTb9srCwkPz9/emuu+6yqfuVK1cSAFqzZo0eGzBgAAGgdevW6bFjx47pfWj37t163NqvnX0GndWTsz9r37fm8sMPP+jvKy0tpfbt21NcXJzu/f333xMAio+Pt6lPTdOoU6dONGTIEL0/EVnqvH379nTnnXfqsdDQUHrsscdqdR4+fDi1a9eu1jJMw8On2BjpWbVqFbZs2WLzB1hmHS5cuIAJEybg3Llz+p/BYECfPn3w/fff69uo+Su3oqIC586d01e0WKe6Pc0jjzxi8++NGzdC0zSMGzfOxjc6OhqdOnWy8RWha9eu6Nu3r/5v6wzFHXfcgbZt2zrEs7KyHLZR8yJj6ykyk8mkn9L4+uuvYTAYMHPmTJv3PfnkkyAifPPNNzbxAQMGoGvXrm7nINo+9nV722234fz58/qpj02bNkHTNMyfP9/hWhHrbJRI/3EXs9mMb7/9FiNHjkR8fLweb926NR544AH8+OOPuqOVadOmCV1btmDBArRq1QrR0dG47bbbcPToUbz22mu47777bMrVrFPrLOyAAQOQlZWFixcv2pTt2rWrfqoOsMyaJiQk2PSVr7/+GjfffLM+M2It9+CDD9ps67vvvoPJZMKsWbNs6n7atGkICQlxOI3VvHlzjB8/Xv93QkICWrRogS5dutjMttXWf53x8MMPOxw3unfvrufSu3dvm1PfzZs3x8MPP4zs7GwcOXLEZluTJk2yqc9Dhw7h+PHjeOCBB3D+/Hm975SVlWHQoEHYuXOnfuqxRYsW2LNnD/Ly8tzyZuSBT7Ex0tO7d2+nF2kfP34cgGUg4IyQkBD9/4uKirBo0SKsX78ehYWFNuXsvyw8hf3Ku+PHj4OI0KlTJ6fla552EKHmIAiwnEYAgNjYWKfx4uJim7iqqjZf5gBw/fXXA6g+fXPy5Em0adPG4dRGly5d9NdrYp97XYi2j33O1tNLxcXFCAkJQWZmJlRVrXWQJtJ/3OXs2bMoLy9HQkKCw2tdunSBpmnIzc3VT1sB4nX18MMPY+zYsaioqMC2bdvwxhtvwGw2O5T76aefsGDBAqSlpTlcn3Xx4kW9PwCO9QlY6rRmXzl58qTD6UEADrla+4J93N/fH/Hx8Q595brrrnM4hRoaGup2/3VFp06dMHjwYKevucqlZn+uuVLW2WcZsAycXHHx4kWEhYXhlVdewaRJkxAbG4vk5GTcfffdmDhxosNnjpEPHiAx1yzWX2gffvghoqOjHV7386vu3uPGjcOuXbvw1FNPoUePHmjevDk0TcPQoUNdXmRaE/sDuBVnX0xW7K/N0DQNiqLgm2++cTpjUN/rDlzNPriKk91F1d7A2XUptSHaPp7ITaT/eBPRuqr5xf+HP/wBBoMBc+bMwcCBA/UfEpmZmRg0aBA6d+6M5cuXIzY2Fv7+/vj666/x+uuvO9SpL/uKjP3XHmefZQB49dVX0aNHD6fvsX6ex40bh9tuuw3/+c9/8O233+LVV1/Fyy+/jI0bN2LYsGFe9WauDh4gMdcsHTp0AABERka6/KUIWH5xbt2Line truncated
|
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAkgAAAIhCAYAAAC15UU9AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjcsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvTLEjVAAAAAlwSFlzAAAPYQAAD2EBqD+naQAA8M5JREFUeJzsnXlclNX+xz/PMwiIgAoKKKIsGiqSGi5ZmpmWW5lLmlbX5ZreFjOlW1ezXNq0zbylZZvtpjczWyxupqmV5u5PAuUqiKAIqKAgCMg8398f0zwwG8zBGeZI3/frxas8c+aZ9/ecM8985zznPKMQEYFhGIZhGIbRUT0twDAMwzAMIxucIDEMwzAMw1jBCRLDMAzDMIwVnCAxDMMwDMNYwQkSwzAMwzCMFZwgMQzDMAzDWMEJEsMwDMMwjBWcIDEMwzAMw1jBCRLDMAzDMIwVnCAxzFXChx9+CEVRkJmZ6WkV5k+OHj2K2267DU2bNoWiKNiwYYOnleodHpdMQ4UTJEZazCdee39z5sxxy2vu2LEDCxcuxPnz591y/L8ypaWlWLhwIbZu3eppFZcxadIkJCcn4/nnn8cnn3yCHj16uO21MjMzLd4DqqoiKCgIQ4cOxc6dO932ulcb1u1U/e/666/3tJ5dVq9ejWXLlnlag7HCy9MCDFMbzzzzDKKioizKunTp4pbX2rFjBxYtWoTJkyejWbNmbnmNuvK3v/0N48ePh4+Pj6dV6kRpaSkWLVoEALj55ps9K+MCLl26hJ07d2LevHmYMWNGvb3uhAkTMGzYMBiNRvzvf//Dm2++iQEDBmDPnj2Ij4+vNw/ZMbdTdVq2bOkhm5pZvXo1/vjjD8yaNcvTKkw1OEFipGfo0KFu/WZeH5SUlKBJkyZXdAyDwQCDweAio/pD0zRUVFR4WsPlnDlzBgBcmkg7M06uu+463Hffffq/+/Xrh6FDh+Ktt97Cm2++6TKXqx3rdnIVZWVl8Pb2hqryBZiGDvcwc9Xzww8/oF+/fmjSpAkCAgIwfPhwpKSkWNQ5dOgQJk+ejOjoaPj6+iIsLAx///vfce7cOb3OwoUL8fjjjwMAoqKi9Gn5zMxMfdr+ww8/tHl9RVGwcOFCi+MoioLU1FTcc889aN68Ofr27as//umnnyIhIQGNGzdGUFAQxo8fj+zs7FrjtLfWIzIyErfffju2bt2KHj16oHHjxoiPj9cvY61fvx7x8fHw9fVFQkICDhw4YHHMyZMnw9/fHxkZGRg8eDCaNGmC1q1b45lnngERWdQtKSnBY489hoiICPj4+CA2NhavvPKKTT1FUTBjxgx89tlniIuLg4+PD1auXKl/e1+0aJHetuZ2c6Z/qrftsWPH9Fm+pk2bYsqUKSgtLbVps08//RS9evWCn58fmjdvjptuugk//vijRR1nxo81CxcuRLt27QAAjz/+OBRFQWRkpP74gQMHMHToUAQGBsLf3x8DBw7E77//bnEMc39u27YNDz30EEJCQtCmTZsaX9ce/fr1AwCkp6dblH/wwQe45ZZbEBISAh8fH3Tu3BlvvfWWzfPNY+jXX39Fr1694Ovri+joaHz88cc2dVNSUnDLLbegcePGaNOmDZ577jlommbX680339T7v3Xr1nj44YdtLl3ffPPN6NKlCw4dOoT+/fvDz88P7du3x7p16wAA27ZtQ+/evdG4cWPExsbip59+Em4fR2RkZGDs2LEICgqCn58frr/+emzcuNGiztatW6EoCtasWYOnnnoK4eHh8PPzQ1FREQBg165dGDJkCJo2bQo/Pz/0798fv/32m8UxiouLMWvWLERGRsLHxwchISG49dZbsX//fr0NNm7ciBMnTujvi+pjifEcPIPESM+FCxdw9uxZi7IWLVoAAD755BNMmjQJgwcPxosvvojS0lK89dZb6Nu3Lw4cOKCfaDZt2oSMjAxMmTIFYWFhSElJwTvvvIOUlBT8/vvvUBQFo0ePxv/+9z98/vnneO211/TXaNmypT5bIMLYsWPRoUMHvPDCC3oS8fzzz+Ppp5/GuHHjcP/99+PMmTN44403cNNNN+HAgQN1mo04duwY7rnnHvzjH//Afffdh1deeQV33HEHVq5ciSeffBIPPfQQAGDx4sUYN24c0tLSLL79Go1GDBkyBNdffz1eeuklJCUlYcGCBaisrMQzzzwDACAijBgxAj///DOmTp2Kbt264b///S8ef/xxnDp1Cq+99pqF05YtW/Cf//wHM2bMQIsWLdC1a1e89dZbePDBBzFq1CiMHj0aAHDttdcCcK5/qjNu3DhERUVh8eLF2L9/P9577z2EhITgxRdf1OssWrQICxcuxA033IBnnnkG3t7e2LVrF7Zs2YLbbrsNgPPjx5rRo0ejWbNmmD17tn4p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 truncated
|
||||||
"text/plain": [
|
"text/plain": [
|
||||||
"<Figure size 640x480 with 1 Axes>"
|
"<Figure size 640x480 with 1 Axes>"
|
||||||
]
|
]
|
||||||
@@ -479,7 +475,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": 39,
|
"execution_count": null,
|
||||||
"id": "776cdb17",
|
"id": "776cdb17",
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [
|
"outputs": [
|
||||||
@@ -611,7 +607,6 @@
|
|||||||
"source": [
|
"source": [
|
||||||
"# Remove redundant features\n",
|
"# Remove redundant features\n",
|
||||||
"X_filtered = X_train_val.drop(columns=['sex', 'native.country', 'marital.status', 'race', 'occupation', 'workclass'])\n",
|
"X_filtered = X_train_val.drop(columns=['sex', 'native.country', 'marital.status', 'race', 'occupation', 'workclass'])\n",
|
||||||
"# ===== MAIN =====\n",
|
|
||||||
"\n",
|
"\n",
|
||||||
"# optimized classifiers and find their hyperparameters\n",
|
"# optimized classifiers and find their hyperparameters\n",
|
||||||
"clf_opt = ClassifierComparisonOpt(X_filtered, y_train_val)\n",
|
"clf_opt = ClassifierComparisonOpt(X_filtered, y_train_val)\n",
|
||||||
|
|||||||
Binary file not shown.
Reference in new issue
Block a user