Para problemas de clasificación, he estado usando Redes Neurales y midiendo el error de Tipo I y II usando la matriz de confusión y sus medidas según este recurso ( espejo ), que es bastante sencillo.
Cuando nos enfrentamos a un problema de estimación, ¿cómo evaluaría el desempeño del modelo? Suponiendo que no hay clases y la salida se interpreta en forma real. Más allá del promedio de las métricas de distancia, lo que no brinda mucha información.
Respuestas:
El enlace que publicó tiene muchas de las técnicas que sugeriría, pero adicionalmente, puede ayudar el trazado de curvas de aprendizaje. Esto puede ayudarlo a ver no solo el rendimiento absoluto, sino que puede ayudarlo a tener una idea de cuán lejos está del rendimiento óptimo.
Curvas de aprendizaje: si traza el error de validación cruzada (cv) y las tasas de error del conjunto de entrenamiento versus el tamaño del conjunto de entrenamiento, puede aprender mucho. Si las dos curvas se acercan entre sí con baja tasa de error, entonces lo está haciendo bien.
Si parece que las curvas comienzan a acercarse entre sí y ambos se dirigen / permanecen bajos, entonces necesita más datos.
Si la curva cv sigue siendo alta, pero la curva del conjunto de entrenamiento sigue siendo baja, entonces tienes una situación de alta varianza. Puede obtener más datos o utilizar la regularización para mejorar la generalización.
Si el CV se mantiene alto y la curva del conjunto de entrenamiento aparece para alcanzarlo, entonces tienes un alto sesgo. En este caso, desea agregar detalles a su modelo.
fuente
Hay múltiples formas de definir los criterios de rendimiento del modelo en la estimación. La mayoría de las personas usan qué tan bien se ajusta el modelo a los datos. Entonces, en caso de regresión, será "cuánta varianza explica el modelo". Sin embargo, debe tener cuidado con dicha regresión cuando realiza una selección de variables (por ejemplo, por LASSO), necesita controlar el número de parámetros que se incluyen en el modelo. Se puede usar la versión con validación cruzada de la varianza explicada que presumiblemente proporciona un rendimiento del modelo de estimación imparcial.
fuente
En referencia a la documentación de scikit-learn (paquete basado en Python para el aprendizaje automático), r2_score y explicación_variancia_score son opciones populares. A diferencia de las medidas de distancia como mean_squared_error o mean_absolute_error, estas métricas dan una indicación de cuán buena o mala es la predicción (más cercana a 1 => mejores predicciones). [Por cierto, si utilizo medidas de distancia, recomendaría RMSE (error cuadrático medio) en lugar de solo MSE (error cuadrático medio) para que la magnitud se pueda comparar con las predicciones]
Alternativamente, también podría calcular el coeficiente de correlación entre los valores pronosticados por el regresor y los valores de la variable objetivo real utilizando el coeficiente de correlación de Pearson (para modelos lineales) o mejor para el coeficiente de correlación de rango de Spearman (ya que esto no supone modelos lineales y es menos sensible a los valores atípicos) )
Las curvas de aprendizaje sugeridas en la respuesta de John Yetter también son un buen método, pero las métricas mencionadas anteriormente podrían ser más fáciles de evaluar el rendimiento.
fuente
En primer lugar, creo que debería usar el término "regresión" o "predicción" en lugar de "estimación"; este último se refiere más bien a la inferencia estadística para los parámetros del modelo (suponiendo alguna forma paramétrica), mientras que parece estar más preocupado por la predicción potencia para variable dependiente. Ahora, según mi experiencia en consultoría, las medidas más utilizadas del rendimiento del modelo, aparte de las "métricas de distancia" más simples que usted menciona, son el error real absoluto absoluto / cuadrado yR2 coeficiente para valores observados y pronosticados. Por supuesto, puede usar algunas funciones de pérdida personalizadas, dependiendo de un contexto particular de estudio / negocio.
fuente