{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"\n",
"
\n",
"\n",
"##
\n",
"\n",
"**Заполните пропущенный код и ответьте на вопросы в [онлайн-форме](https://docs.google.com/forms/d/1gsNxgkd0VqidZp4lh9mnCQnJw3b0IFR1C4WBES86J40).**"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# отключим всякие предупреждения Anaconda\n",
"import warnings\n",
"\n",
"warnings.filterwarnings('ignore')\n",
"import numpy as np\n",
"import pandas as pd\n",
"from sklearn.ensemble import RandomForestRegressor\n",
"from sklearn.linear_model import Lasso, LassoCV, LinearRegression\n",
"from sklearn.metrics.regression import mean_squared_error\n",
"from sklearn.model_selection import (GridSearchCV, cross_val_score,\n",
" train_test_split)\n",
"from sklearn.preprocessing import StandardScaler"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Будем работать с набором данных по качеству белого вина (репозиторий UCI).**\n",
"**Загружаем данные.**"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"data = pd.read_csv('../../data/winequality-white.csv', sep=';')"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"data.head()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"data.info()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Отделите целевой признак, разделите обучающую выборку в отношении 7:3 (30% - под оставленную выборку, пусть random_state=17) и отмасштабируйте данные с помощью StandardScaler.**"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"y = # Ваш код здесь\n",
"\n",
"X_train, X_holdout, y_train, y_holdout = train_test_split # Ваш код здесь\n",
"scaler = StandardScaler()\n",
"X_train_scaled = scaler.fit_transform # Ваш код здесь\n",
"X_holdout_scaled = scaler.transform # Ваш код здесь"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Линейная регрессия"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Обучите простую линейную регрессию.**"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"linreg = # Ваш код здесь\n",
"linreg.fit # Ваш код здесь"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Вопрос 1: Каковы среднеквадратичные ошибки линейной регрессии на обучающей и отложенной выборках?**"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"print(\"Mean squared error (train): %.3f\" % # Ваш код здесь\n",
"print(\"Mean squared error (test): %.3f\" % # Ваш код здесь"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Посмотрите на коэффициенты модели и отранжируйте признаки по влиянию на качество вина (учтите, что большие по модулю отрицательные значения коэффициентов тоже говорят о сильном влиянии). Создайте для этого новый небольшой DataFrame.**