Оценка качества линейной регрессии sklearn LinearRegression
У меня есть обученная на тренировочной выборке (0,8) модель.
x = df['mentee_cnt'].to_numpy().reshape(-1, 1)
y = df['mentor_cnt'].to_numpy()
x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.2)
model = LinearRegression().fit(x_train, y_train)
y_pred = model.predict(x_test)
mse = mean_squared_error(y_test, y_pred)
mae = mean_absolute_error(y_test, y_pred)
print('mse: %.3f, rmse: %.3f, mae: %.3f' % (mse, np.sqrt(mse), mae))
print("Coefficients: \n", model.coef_)
print('Independent: \n', model.intercept_)
print("r2_score: \n", r2_score(y_test, y_pred))
Метрики оценки качества модели рассчитаны. Но у меня возникает простой вопрос.
Когда я проверяю нормальность распределения остатков и однородность дисперсии остатков, остатки мне следует брать для валидационной выборки?
P. S. Ранее я решал похожую задачу для дипломной работы в Statistica и не задумывался (плохая методичка) по поводу разделения данных на тренировочную и валидационную выборки. А сам пакет Statistica по-умолчанию строил нужные графики на основе тренировочной выборки.
Источник: Stack Overflow на русском