Métricas
Al construir un modelo, es importante medir su rendimiento.
Necesitamos una puntuación asociada al modelo que describa con precisión qué tan bien se ajusta a los datos. Esta puntuación se conoce como métrica, y existen numerosas métricas disponibles.
En este capítulo, nos centraremos en las más utilizadas.
Utilizaremos la siguiente notación:
Ya estamos familiarizados con una métrica, SSR (Suma de los Residuos Cuadrados), que minimizamos para identificar los parámetros óptimos.
Usando nuestra notación, podemos expresar la fórmula para SSR de la siguiente manera:
o igualmente:
Esta métrica era adecuada para comparar modelos con el mismo número de instancias. Sin embargo, no nos proporciona una comprensión de qué tan bien funciona el modelo. Aquí está la razón:
Suponga que tiene dos modelos en diferentes conjuntos de entrenamiento (mostrados en la imagen a continuación).
Puede observar que el primer modelo se ajusta bien pero aún tiene un SSR mayor que el segundo modelo, que visualmente se ajusta peor a los datos. Esto ocurrió únicamente porque el primer modelo tiene muchos más puntos de datos, por lo que la suma es mayor, pero en promedio, los residuos del primer modelo son menores. Por lo tanto, tomar el promedio de los residuos al cuadrado como métrica describiría mejor el modelo. Eso es precisamente lo que es el Error Cuadrático Medio (MSE).
MSE
o igualmente:
Para calcular la métrica MSE utilizando Python, puedes usar las funciones de NumPy:
mse = np.mean((y_true-y_pred)**2)
O puedes utilizar el método mean_squared_error()
de Scikit-learn:
from sklearn.metrics import mean_squared_error
mse = mean_squared_error(y_true, y_pred)
Donde y_true
es un arreglo de valores reales del objetivo y y_pred
es un arreglo de valores predichos del objetivo para las mismas características.
El problema es que el error que muestra está al cuadrado. Por ejemplo, supón que el MSE del modelo que predice precios de casas es 49 dólares². Nos interesa el precio, no el precio al cuadrado, como lo da el MSE, por lo que nos gustaría tomar la raíz cuadrada del MSE y obtener 7 dólares. Ahora tenemos una métrica con la misma unidad que el valor predicho. Esta métrica se llama Error Cuadrático Medio de la Raíz (RMSE).
RMSE
Para calcular la métrica RMSE utilizando Python, se pueden emplear las funciones de NumPy:
rmse = np.sqrt(np.mean((y_true-y_pred)**2))
O se puede utilizar el método mean_squared_error()
de Scikit-learn con squared=False
:
from sklearn.metrics import mean_squared_error
rmse = mean_squared_error(y_true, y_pred, squared=False)
MAE
En SSR, se elevaron al cuadrado los residuos para eliminar el signo. La segunda alternativa consiste en tomar los valores absolutos de los residuos en lugar de elevarlos al cuadrado. Esta es la idea detrás del Error Absoluto Medio (MAE).
o de igual manera
Es lo mismo que el MSE, pero en lugar de elevar al cuadrado los residuos, tomamos sus valores absolutos.
Aunque el MAE es similar al MSE, al utilizar los valores absolutos de los residuos, es más robusto frente a valores atípicos, ya que no amplifica los errores grandes tanto como lo hace el MSE. Como resultado, el MAE suele ser una mejor opción cuando el conjunto de datos contiene valores atípicos, ya que su valor no aumenta de manera desproporcionada debido a algunos errores extremos.
Para calcular la métrica MAE usando Python, puedes utilizar las funciones de NumPy:
mae = np.mean(np.fabs(y_true-y_pred))
O puedes usar el método mean_absolute_error()
de Scikit-learn:
from sklearn.metrics import mean_absolute_error
mae = mean_absolute_error(y_true, y_pred)
Para elegir los parámetros, utilizamos la métrica SSR. Esto se debe a que es adecuada para cálculos matemáticos y nos permitió obtener la Ecuación Normal. Sin embargo, para comparar los modelos, puedes utilizar cualquier otra métrica.
Para comparar modelos, SSR, MSE y RMSE siempre seleccionarán de manera idéntica cuál modelo es mejor y cuál es peor. MAE, en cambio, puede preferir un modelo diferente al de SSR/MSE/RMSE, ya que estos penalizan mucho más los residuos altos. Por lo general, se recomienda elegir una métrica a priori y centrarse en minimizarla.
Ahora puedes afirmar con certeza que el segundo modelo es mejor, ya que todas sus métricas son más bajas. Sin embargo, métricas más bajas no siempre significan que el modelo sea mejor.
¡Gracias por tus comentarios!
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla
Awesome!
Completion rate improved to 5.26
Métricas
Desliza para mostrar el menú
Al construir un modelo, es importante medir su rendimiento.
Necesitamos una puntuación asociada al modelo que describa con precisión qué tan bien se ajusta a los datos. Esta puntuación se conoce como métrica, y existen numerosas métricas disponibles.
En este capítulo, nos centraremos en las más utilizadas.
Utilizaremos la siguiente notación:
Ya estamos familiarizados con una métrica, SSR (Suma de los Residuos Cuadrados), que minimizamos para identificar los parámetros óptimos.
Usando nuestra notación, podemos expresar la fórmula para SSR de la siguiente manera:
o igualmente:
Esta métrica era adecuada para comparar modelos con el mismo número de instancias. Sin embargo, no nos proporciona una comprensión de qué tan bien funciona el modelo. Aquí está la razón:
Suponga que tiene dos modelos en diferentes conjuntos de entrenamiento (mostrados en la imagen a continuación).
Puede observar que el primer modelo se ajusta bien pero aún tiene un SSR mayor que el segundo modelo, que visualmente se ajusta peor a los datos. Esto ocurrió únicamente porque el primer modelo tiene muchos más puntos de datos, por lo que la suma es mayor, pero en promedio, los residuos del primer modelo son menores. Por lo tanto, tomar el promedio de los residuos al cuadrado como métrica describiría mejor el modelo. Eso es precisamente lo que es el Error Cuadrático Medio (MSE).
MSE
o igualmente:
Para calcular la métrica MSE utilizando Python, puedes usar las funciones de NumPy:
mse = np.mean((y_true-y_pred)**2)
O puedes utilizar el método mean_squared_error()
de Scikit-learn:
from sklearn.metrics import mean_squared_error
mse = mean_squared_error(y_true, y_pred)
Donde y_true
es un arreglo de valores reales del objetivo y y_pred
es un arreglo de valores predichos del objetivo para las mismas características.
El problema es que el error que muestra está al cuadrado. Por ejemplo, supón que el MSE del modelo que predice precios de casas es 49 dólares². Nos interesa el precio, no el precio al cuadrado, como lo da el MSE, por lo que nos gustaría tomar la raíz cuadrada del MSE y obtener 7 dólares. Ahora tenemos una métrica con la misma unidad que el valor predicho. Esta métrica se llama Error Cuadrático Medio de la Raíz (RMSE).
RMSE
Para calcular la métrica RMSE utilizando Python, se pueden emplear las funciones de NumPy:
rmse = np.sqrt(np.mean((y_true-y_pred)**2))
O se puede utilizar el método mean_squared_error()
de Scikit-learn con squared=False
:
from sklearn.metrics import mean_squared_error
rmse = mean_squared_error(y_true, y_pred, squared=False)
MAE
En SSR, se elevaron al cuadrado los residuos para eliminar el signo. La segunda alternativa consiste en tomar los valores absolutos de los residuos en lugar de elevarlos al cuadrado. Esta es la idea detrás del Error Absoluto Medio (MAE).
o de igual manera
Es lo mismo que el MSE, pero en lugar de elevar al cuadrado los residuos, tomamos sus valores absolutos.
Aunque el MAE es similar al MSE, al utilizar los valores absolutos de los residuos, es más robusto frente a valores atípicos, ya que no amplifica los errores grandes tanto como lo hace el MSE. Como resultado, el MAE suele ser una mejor opción cuando el conjunto de datos contiene valores atípicos, ya que su valor no aumenta de manera desproporcionada debido a algunos errores extremos.
Para calcular la métrica MAE usando Python, puedes utilizar las funciones de NumPy:
mae = np.mean(np.fabs(y_true-y_pred))
O puedes usar el método mean_absolute_error()
de Scikit-learn:
from sklearn.metrics import mean_absolute_error
mae = mean_absolute_error(y_true, y_pred)
Para elegir los parámetros, utilizamos la métrica SSR. Esto se debe a que es adecuada para cálculos matemáticos y nos permitió obtener la Ecuación Normal. Sin embargo, para comparar los modelos, puedes utilizar cualquier otra métrica.
Para comparar modelos, SSR, MSE y RMSE siempre seleccionarán de manera idéntica cuál modelo es mejor y cuál es peor. MAE, en cambio, puede preferir un modelo diferente al de SSR/MSE/RMSE, ya que estos penalizan mucho más los residuos altos. Por lo general, se recomienda elegir una métrica a priori y centrarse en minimizarla.
Ahora puedes afirmar con certeza que el segundo modelo es mejor, ya que todas sus métricas son más bajas. Sin embargo, métricas más bajas no siempre significan que el modelo sea mejor.
¡Gracias por tus comentarios!