lab4 3
This commit is contained in:
parent
db2f181268
commit
312f5ddda3
@ -115,7 +115,7 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 5,
|
||||
"execution_count": 8,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
@ -125,7 +125,8 @@
|
||||
"Лучшие гиперпараметры: {'preprocessing': MinMaxScaler()}\n",
|
||||
"Cредняя абсолютная ошибка (MAE) = 19241.554618019443\n",
|
||||
"Смещение: -24344.57878426918\n",
|
||||
"Дисперсия: 219.3206565410472\n"
|
||||
"Дисперсия: 219.3206565410472\n",
|
||||
"R^2 = 0.18832948575910047\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
@ -168,7 +169,11 @@
|
||||
"std_test_score = cv_results['std_test_score']\n",
|
||||
"\n",
|
||||
"print(f\"Смещение: {mean_test_score.mean()}\")\n",
|
||||
"print(f\"Дисперсия: {std_test_score.mean()}\")"
|
||||
"print(f\"Дисперсия: {std_test_score.mean()}\")\n",
|
||||
"\n",
|
||||
"from sklearn.metrics import r2_score\n",
|
||||
"\n",
|
||||
"print(f'R^2 = {r2_score(y_test, y_pred)}')"
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -180,7 +185,7 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 6,
|
||||
"execution_count": 9,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
@ -190,7 +195,8 @@
|
||||
"Лучшие гиперпараметры: {'model__alpha': 10.0, 'preprocessing': MinMaxScaler()}\n",
|
||||
"Cредняя абсолютная ошибка (MAE) = 19239.098934204343\n",
|
||||
"Смещение: -24500.751070720406\n",
|
||||
"Дисперсия: 399.3445953588631\n"
|
||||
"Дисперсия: 399.3445953588631\n",
|
||||
"R^2 = 0.18843191913477164\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
@ -233,7 +239,9 @@
|
||||
"std_test_score = cv_results['std_test_score']\n",
|
||||
"\n",
|
||||
"print(f\"Смещение: {mean_test_score.mean()}\")\n",
|
||||
"print(f\"Дисперсия: {std_test_score.mean()}\")"
|
||||
"print(f\"Дисперсия: {std_test_score.mean()}\")\n",
|
||||
"\n",
|
||||
"print(f'R^2 = {r2_score(y_test, y_pred)}')"
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -252,17 +260,18 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 7,
|
||||
"execution_count": 10,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"Лучшие гиперпараметры: {'model__learning_rate': 0.1, 'model__max_depth': 3, 'model__n_estimators': 100, 'preprocessing': MaxAbsScaler()}\n",
|
||||
"Cредняя абсолютная ошибка (MAE) = 18904.906880850212\n",
|
||||
"Смещение: -24464.090993178437\n",
|
||||
"Дисперсия: 185.53286774556057\n"
|
||||
"Лучшие гиперпараметры: {'model__learning_rate': 0.1, 'model__max_depth': 3, 'model__n_estimators': 100, 'preprocessing': None}\n",
|
||||
"Cредняя абсолютная ошибка (MAE) = 18906.41250012098\n",
|
||||
"Смещение: -24465.30968285963\n",
|
||||
"Дисперсия: 186.25822491864383\n",
|
||||
"R^2 = 0.21038509874388833\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
@ -304,20 +313,14 @@
|
||||
"# Получение предсказаний на кросс-валидации\n",
|
||||
"y_cv_pred = cross_val_predict(best_model, X_train, y_train, cv=3)\n",
|
||||
"\n",
|
||||
"# Оценка смещения\n",
|
||||
"bias = np.mean(y_cv_pred - y_train)\n",
|
||||
"\n",
|
||||
"# Оценка дисперсии\n",
|
||||
"# variance = np.var(y_cv_pred)\n",
|
||||
"\n",
|
||||
"# print(f\"Смещение: {bias}\")\n",
|
||||
"# print(f\"Дисперсия: {variance}\")\n",
|
||||
"cv_results = grid_search.cv_results_\n",
|
||||
"mean_test_score = cv_results['mean_test_score']\n",
|
||||
"std_test_score = cv_results['std_test_score']\n",
|
||||
"\n",
|
||||
"print(f\"Смещение: {mean_test_score.mean()}\")\n",
|
||||
"print(f\"Дисперсия: {std_test_score.mean()}\")"
|
||||
"print(f\"Дисперсия: {std_test_score.mean()}\")\n",
|
||||
"\n",
|
||||
"print(f'R^2 = {r2_score(y_test, y_pred)}')"
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -326,7 +329,9 @@
|
||||
"source": [
|
||||
"**Вывод**: \n",
|
||||
"\n",
|
||||
"Все 3 модели регрессии не показали необходимого уровня \"погрешности\". Также у всех моделей большое значение смещения, т.е. эти модели для задачи слишком простые. Необходимо использовать более сложные модели. Также возможно, что по доступным в датасете данным нельзя достичь необходимой погрешности\n",
|
||||
"Все 3 модели регрессии не показали необходимого уровня \"погрешности\". Также у всех моделей большое значение смещения, т.е. эти модели для задачи слишком простые. Необходимо использовать более сложные модели. Также возможно, что по доступным в датасете данным нельзя достичь необходимой погрешности.\n",
|
||||
"\n",
|
||||
"Также низкое значение метрики R^2 у всех моделей показывает, что эти модели плохо объясняют вариацию целевой переменной.\n",
|
||||
"\n",
|
||||
"Из всех моделей градиентный бустинг показал самую низкую \"погрешность\""
|
||||
]
|
||||
@ -529,7 +534,7 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 8,
|
||||
"execution_count": null,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
@ -579,6 +584,7 @@
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"\n",
|
||||
"# Конвейер для случайного леса\n",
|
||||
"pipeline_ranfor = Pipeline([\n",
|
||||
" ('preprocessing', preprocessing),\n",
|
||||
@ -640,7 +646,7 @@
|
||||
"std_test_score = cv_results['std_test_score']\n",
|
||||
"\n",
|
||||
"print(f\"Смещение: {mean_test_score.mean()}\")\n",
|
||||
"print(f\"Дисперсия: {std_test_score.mean()}\")"
|
||||
"print(f\"Дисперсия: {std_test_score.mean()}\")\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user