Лаб 4 2

This commit is contained in:
ujijrujijr 2024-11-16 09:23:33 +04:00
parent 64f071ac56
commit db2f181268

View File

@ -2,7 +2,7 @@
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
@ -51,7 +51,7 @@
},
{
"cell_type": "code",
"execution_count": 2,
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
@ -115,7 +115,7 @@
},
{
"cell_type": "code",
"execution_count": 3,
"execution_count": 5,
"metadata": {},
"outputs": [
{
@ -124,8 +124,8 @@
"text": [
"Лучшие гиперпараметры: {'preprocessing': MinMaxScaler()}\n",
"Cредняя абсолютная ошибка (MAE) = 19241.554618019443\n",
"Смещение: 616083845.5088656\n",
"Дисперсия: 438598.9204950822\n"
"Смещение: -24344.57878426918\n",
"Дисперсия: 219.3206565410472\n"
]
}
],
@ -158,9 +158,17 @@
"print(f'Cредняя абсолютная ошибка (MAE) = {mean_absolute_error(y_test, y_pred)}')\n",
"\n",
"\n",
"mse, bias, variance = bias_variance_decomp(best_model, X_train.values, y_train.values, X_test.values, y_test.values, loss='mse', num_rounds=200, random_seed=123)\n",
"print(\"Смещение: \", bias)\n",
"print(\"Дисперсия: \", variance)"
"# mse, bias, variance = bias_variance_decomp(best_model, X_train.values, y_train.values, X_test.values, y_test.values, loss='mse', num_rounds=200, random_seed=123)\n",
"# print(\"Смещение: \", bias)\n",
"# print(\"Дисперсия: \", variance)\n",
"\n",
"# Оценка дисперсии и смещения\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()}\")"
]
},
{
@ -172,7 +180,7 @@
},
{
"cell_type": "code",
"execution_count": 4,
"execution_count": 6,
"metadata": {},
"outputs": [
{
@ -181,8 +189,8 @@
"text": [
"Лучшие гиперпараметры: {'model__alpha': 10.0, 'preprocessing': MinMaxScaler()}\n",
"Cредняя абсолютная ошибка (MAE) = 19239.098934204343\n",
"Смещение: 615921619.3705255\n",
"Дисперсия: 326886.495836047\n"
"Смещение: -24500.751070720406\n",
"Дисперсия: 399.3445953588631\n"
]
}
],
@ -216,9 +224,16 @@
"\n",
"print(f'Cредняя абсолютная ошибка (MAE) = {mean_absolute_error(y_test, y_pred)}')\n",
"\n",
"mse, bias, variance = bias_variance_decomp(best_model, X_train.values, y_train.values, X_test.values, y_test.values, loss='mse', num_rounds=200, random_seed=123)\n",
"print(\"Смещение: \", bias)\n",
"print(\"Дисперсия: \", variance)"
"# mse, bias, variance = bias_variance_decomp(best_model, X_train.values, y_train.values, X_test.values, y_test.values, loss='mse', num_rounds=200, random_seed=123)\n",
"# print(\"Смещение: \", bias)\n",
"# print(\"Дисперсия: \", variance)\n",
"\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()}\")"
]
},
{
@ -237,7 +252,7 @@
},
{
"cell_type": "code",
"execution_count": 5,
"execution_count": 7,
"metadata": {},
"outputs": [
{
@ -245,9 +260,9 @@
"output_type": "stream",
"text": [
"Лучшие гиперпараметры: {'model__learning_rate': 0.1, 'model__max_depth': 3, 'model__n_estimators': 100, 'preprocessing': MaxAbsScaler()}\n",
"Cредняя абсолютная ошибка (MAE) = 18908.8586008017\n",
"Смещение: -4.040641051222239\n",
"Дисперсия: 162335195.36332467\n"
"Cредняя абсолютная ошибка (MAE) = 18904.906880850212\n",
"Смещение: -24464.090993178437\n",
"Дисперсия: 185.53286774556057\n"
]
}
],
@ -293,10 +308,16 @@
"bias = np.mean(y_cv_pred - y_train)\n",
"\n",
"# Оценка дисперсии\n",
"variance = np.var(y_cv_pred)\n",
"# variance = np.var(y_cv_pred)\n",
"\n",
"print(f\"Смещение: {bias}\")\n",
"print(f\"Дисперсия: {variance}\")"
"# 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()}\")"
]
},
{
@ -305,7 +326,7 @@
"source": [
"**Вывод**: \n",
"\n",
"Все 3 модели регрессии не показали необходимого уровня \"погрешности\". Это означает, что необходимо использовать более сложные модели или что по доступным данным нельзя достичь необходимой погрешности.\n",
"Все 3 модели регрессии не показали необходимого уровня \"погрешности\". Также у всех моделей большое значение смещения, т.е. эти модели для задачи слишком простые. Необходимо использовать более сложные модели. Также возможно, что по доступным в датасете данным нельзя достичь необходимой погрешности\n",
"\n",
"Из всех моделей градиентный бустинг показал самую низкую \"погрешность\""
]