Save
...
ML
10. Linear Regression
10.8-9. Train Test Split, оценки
Save
Share
Learn
Content
Leaderboard
Learn
Created by
Дарья Чернова
Visit profile
Cards (26)
Визуализация нескольких графиков
f
i
g
,
a
x
e
s
fig, axes
f
i
g
,
a
x
es
fig, axes =
plt.subplots
(nrows=1, ncols=3, figsize=(20, 5))
Построить много графиков
sns.pairplot
(df)
Разбиение на наборы
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.33, random_state=42)
Параметр test_size=0.33 отвечает
за набор
тестовых
данных. То есть для обучения останется
70
% данных
random_state отвечает за генерацию случайных чисел
нужен, чтобы после восстановить результат
X_train какой набор данных?
Обучающий
y_train содержит
искомую переменную
X_test какой набор данных?
Тестовый
Импортировать train test split
from
sklearn.model_selection
import
train_test_split
Импортировать линейную регрессию
from
sklearn.linear_model
import
LinearRegression
model =
LinearRegression()
Оценка работы модели
Performance evaluation
Частые метрики для регрессии
MAE, MSE, RMSE
MAE
mean
absolute
error, средняя
абсолютная
ошибка
MSE
mean
squared error,
среднеквадратичная
ошибка
RMSE
root
mean square error,
среднеквадратическое
отклонение
MAE, MSE, RMSE подойдут для
любой
регрессии
MAE,
mean
absolute error. Абсолютная разница между истинным значением y_i и результатом работы модели (y с крышкой). Усреднённая по всем точкам
1
n
Σ
i
=
1
n
∣
y
i
−
y
i
^
∣
\frac1n \Sigma_{i=1}^n |y_i - \hat{y_i}|
n
1
Σ
i
=
1
n
∣
y
i
−
y
i
^
∣
MAE не наказывает
большие
ошибки. С
выбросами
будет неудачно
MSE,
среднеквадратическая ошибка
наказывает
большие
ошибки, тк возводит их в
квадрат
MSE, формула
1
n
Σ
i
=
1
n
(
y
i
−
y
i
^
)
2
\frac1n\Sigma_{i=1}^n (y_i - \hat{y_i})^2
n
1
Σ
i
=
1
n
(
y
i
−
y
i
^
)
2
RMSE (root mean squared error), среднеквадратическое отклонение
1
n
Σ
i
=
1
n
(
y
i
−
y
i
^
)
2
\sqrt{\frac1n \Sigma_{i=1}^n (y_i - \hat{y_i})^2}
n
1
Σ
i
=
1
n
(
y
i
−
y
i
^
)
2
Residuals
Остатки
Остатки, формула
(
y
−
y
^
)
(y - \hat{y})
(
y
−
y
^
)
Импорт метрик
from sklearn.metrics import mean_absolute_error, mean_squared_error
RMSE, код
RMSE = np.sqrt(mean_squared_error(y_test, test_predictions)