сравнение качества работы модели LR по rmse отдельно по тестовой и тренировочной выборке

В формулy RMSE передаются y_test и y_pred:

np.sqrt(metrics.mean_squared_error(y_test, y_pred))

От меня требуется вычислить RMSE отдельно по тренировочной части данных и отдельно по тестовой, чтобы более комплексно оценить модель. Какие параметры я должна передавать в формулу RMSE, чтобы получить такое разделение? Ведь и y_test и y_pred передаются одновременно...

спасибо, только я запуталась в переменных: У меня : X = data[['area', 'level', 'levels', 'rooms']] y = data['price']; далее X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42); lm.fit(X_train, y_train); в конце получаю: y_pred = lm.predict(X_test); вывожу на экран y_test и считаю RMSE: np.sqrt(metrics.mean_squared_error(y_test, y_pred)) .... какой набор переменных в моем случае надо подставить в формулу RMSE для проверки? "Проверка: np.sqrt(metrics.mean_squared_error(y_training, f(x_training))) np.sqrt(metrics.mean_squared_error(y_test, f(x_test)))" – Nika Triquetra 14 часов назад
я пробовала: np.sqrt(metrics.mean_squared_error(y_train, y_pred)), выдает ошибку: ValueError: Found input variables with inconsistent numbers of samples: [8666710, 2166678].


Ответы (1 шт):

Автор решения: Chorkov

Набор данных состоит из двух частей: x, y. Т.е. исходные данные и эталонные результаты. В идеале y == f(x), где f-модель.

Делите данные на две части [*x]==[*x_training]+[*x_test], [*y]==[*y_training]+[*y_test]. Пару x_training, y_training - используете для обучения модели, она называется тренировочной выборкой. Пару x_test, y_test - не используете, она называется тестовой выборкой.

Проверка: np.sqrt(metrics.mean_squared_error(y_training, f(x_training))) np.sqrt(metrics.mean_squared_error(y_test, f(x_test)))

→ Ссылка