¿Cómo puedo obtener el RMSE a partir de los datos de entrenamiento?
Tengo un problema. Encontré esta pregunta https://stats.stackexchange.com/questions/56302/what-are-good-rmse-values
Alguien escribió:
El RMSE para tus conjuntos de entrenamiento y prueba deben ser muy similares si has construido un buen modelo.
Y otro escribió:
RMSE de prueba > RMSE de entrenamiento => sobreajuste de los datos. RMSE de prueba < RMSE de entrenamiento => subajuste de los datos.
Creo que el RMSE de los datos de prueba es
y_pred = knn.predict(X_test)
rmse = metrics.mean_squared_error(y_test, y_pred, squared=False)
Pero ¿cómo puedo obtener el RMSE (u otra métrica) de mis datos de entrenamiento? Tal vez sea
rmse = metrics.mean_squared_error(X_train, X_test, squared=False)
Pero con eso obtengo
ValueError: Se encontraron variables de entrada con un número inconsistente de muestras: [8880, 2220]
Entonces, ¿cómo puedo obtener el RMSE de mis datos de entrenamiento?
from sklearn.neighbors import (KNeighborsRegressor,)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=30)
knn = KNeighborsRegressor(algorithm='auto', leaf_size=30, metric='minkowski', metric_params=None, n_jobs=1, n_neighbors=5, p=2, weights='uniform')
knn.fit(X_train, y_train)
y_pred = knn.predict(X_test)
mse = metrics.mean_squared_error(y_test, y_pred)
rmse = metrics.mean_squared_error(y_test, y_pred, squared=False)
print(rmse)
davy.ai
Para obtener el RMSE de sus datos de entrenamiento, simplemente puede reemplazar y_test y y_pred con y_train y y_pred_train. Esto se vería así:
Aquí, primero ajustamos nuestro modelo utilizando nuestros datos de entrenamiento, y luego usamos este modelo para hacer predicciones en nuestros datos de entrenamiento (y_pred_train). Luego, calculamos el error cuadrático medio entre estas predicciones y nuestras etiquetas de entrenamiento reales (y_train), y finalmente calculamos el error cuadrático medio raíz (RMSE) utilizando el error cuadrático medio y el parámetro squared=False.
Tenga en cuenta que, en general, un buen modelo debería tener valores de RMSE similares tanto para los conjuntos de entrenamiento como para los de prueba. Si el RMSE del conjunto de entrenamiento es mucho menor que el del conjunto de prueba, esto puede indicar que el modelo se está sobreajustando a los datos de entrenamiento. Por otro lado, si el RMSE del conjunto de prueba es mucho menor que el del conjunto de entrenamiento, esto puede indicar que el modelo no se ajusta lo suficiente a los datos.