es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Recuperando el valor r2 en negativo.

Tengo el siguiente código que aplica lightgbm al conjunto de datos (enlace compartido a continuación). Obtengo un valor de r2 negativo de -2.0687981990506565. Sin embargo, el error RMSE que estoy obteniendo es muy bajo, pero el valor de r2 es negativo. ¿Cómo puede tener un rendimiento deficiente mientras tiene un MSE muy bajo para los datos de entrenamiento y prueba?

weights_data = pd.read_csv("dataset.csv")
columns = weights_data.columns
target = columns[-1:]
features = columns[:-1]
def regressor_model():
  print()
  X = weights_data[features].to_numpy()
  Y = weights_data[target].to_numpy() * 100
  x_train,x_test,y_train,y_test=train_test_split(X,Y, train_size=0.8, random_state = 2021)
  regressor = lightgbm.LGBMRegressor()
  regressor.fit(x_train,y_train)
  y_pred = regressor.predict(x_test)
  r2_score_value=r2_score(y_test,y_pred)
  print(r2_score_value)
  print()
  return regressor
regressor_model()

Enlace para el conjunto de datos: aquí

Si se cambia el orden del parámetro r2, como se muestra a continuación, se obtiene un valor de r2 de 0.0.

r2_score_value=r2_score(y_pred,y_test)
Tags:  , , ,

Answer

  1. Avatar for davy.ai

    El valor negativo de r2 obtenido (-2.0687981990506565) indica un ajuste deficiente del modelo. El valor de r2 es la proporción de la varianza en la variable dependiente que se puede predecir a partir de la(s) variable(s) independiente(s). El valor negativo sugiere que el modelo se ajusta peor que una línea horizontal, lo cual indica que la variable objetivo no se explica bien con las características utilizadas.

    Por otro lado, el valor bajo de RMSE indica que la diferencia entre los valores predichos y los valores reales es baja, simplemente nos dice acerca de la magnitud de los residuos, no qué tan bien está funcionando el modelo. Por lo tanto, un RMSE bajo no implica necesariamente un buen modelo, especialmente si el puntaje de r2 es negativo.

    Para mejorar el rendimiento del modelo, podemos intentar agregar características más relevantes. Podemos analizar y preprocesar los datos de manera más cuidadosa. Además, podemos ajustar los hiperparámetros del modelo para obtener mejores resultados.

Comments are closed.