Évaluation d'un modèle de régression


9

Pour les problèmes de classification, j'ai utilisé des réseaux de neurones et mesuré les erreurs de type I et II en utilisant la matrice de confusion et ses mesures selon cette ressource ( miroir ), ce qui est assez simple.

Face à un problème d'estimation, comment évaluer les performances du modèle? En supposant qu'il n'y a pas de classes et que la sortie est interprétée sous forme réelle. Au-delà de la moyenne des mesures de distance, ce qui ne donne pas beaucoup d'informations.


3
Veuillez clarifier «problème d'estimation». Que fait le modèle? Quelles sont les entrées et quelles sont les sorties?
Trisoloriansunscreen

Donc, pour un vecteur d'entrée normalisé à valeur réelle, nous nous attendons à une sortie à valeur réelle. Ainsi, par exemple, la sortie pourrait être une intensité de puissance estimée.
Jack H

Réponses:


13

Le lien que vous avez publié contient de nombreuses techniques que je suggérerais, mais en plus, tracer des courbes d'apprentissage peut vous aider. Cela peut vous aider à voir non seulement les performances absolues, mais aussi à vous éloigner des performances optimales.

Courbes d'apprentissage: Si vous tracez l'erreur de validation croisée (cv) et les taux d'erreur des ensembles d'entraînement en fonction de la taille de l'ensemble d'entraînement, vous pouvez en apprendre beaucoup. Si les deux courbes se rapprochent avec un faible taux d'erreur, alors vous vous débrouillez bien.

S'il semble que les courbes commencent à se rapprocher et que les deux se dirigent / restent bas, alors vous avez besoin de plus de données.

Si la courbe cv reste élevée, mais que la courbe du jeu d'apprentissage reste faible, alors vous avez une situation de forte variance. Vous pouvez soit obtenir plus de données, soit utiliser la régularisation pour améliorer la généralisation.

Si le cv reste élevé et que la courbe de réglage de l'entraînement vient à sa rencontre, alors vous avez un biais élevé. Dans ce cas, vous souhaitez ajouter des détails à votre modèle.


À propos, voici une vidéo Coursera qui explique très bien les courbes d'apprentissage.
John Yetter

Il peut aujourd'hui être trouvé sur youtube: youtu.be/g4XluwGYPaA
fdelia

3

Il existe plusieurs façons de définir les critères de performance du modèle dans l'estimation. La plupart des gens utilisent à quel point le modèle correspond aux données. Ainsi, en cas de régression, ce sera "la part de variance expliquée par le modèle". Cependant, vous devez être prudent avec une telle régression lorsque vous effectuez une sélection de variables (par exemple par LASSO) dont vous avez besoin pour contrôler le nombre de paramètres inclus dans le modèle. On peut utiliser une version à validation croisée de la variance expliquée qui donne vraisemblablement une performance de modèle d'estimation non biaisée.


3

En se référant à la documentation scikit-learn (package basé sur Python pour l'apprentissage automatique), r2_score et expliqué_variance_score sont des choix populaires. Contrairement aux mesures de distance comme mean_squared_error ou mean_absolute_error, ces métriques donnent une indication de la qualité de la prédiction (plus proche de 1 => de meilleures prédictions). [Soit dit en passant, si vous utilisez des mesures de distance, je recommanderais RMSE (erreur quadratique moyenne) au lieu de simplement MSE (erreur quadratique moyenne) afin que l'amplitude puisse être comparée avec les prédictions]

Alternativement, vous pouvez également calculer le coefficient de corrélation entre les valeurs prédites par le régresseur et les valeurs réelles des variables cibles en utilisant le coefficient de corrélation de Pearson (pour les modèles linéaires) ou mieux choisir le coefficient de corrélation de rang de Spearman (car cela ne suppose pas de modèles linéaires et est moins sensible aux valeurs aberrantes ).

Les courbes d'apprentissage suggérées dans la réponse de John Yetter sont également une bonne méthode, mais les mesures mentionnées ci-dessus pourraient être plus faciles à évaluer la performance.


2

Tout d'abord, je pense que vous devriez utiliser le terme "régression" ou "prédiction" au lieu d '"estimation" - cette dernière se réfère plutôt à l'inférence statistique pour les paramètres du modèle (en supposant une forme paramétrique), alors que vous semblez être plus concerné par la prédiction puissance pour variable dépendante. Maintenant, d'après mon expérience de consultant, les mesures les plus souvent utilisées des performances du modèle - en dehors des «métriques de distance» les plus simples que vous mentionnez - sont les moyennes absolues / erreur quadratique réelle etR2coefficient pour les valeurs observées et prévues. Bien sûr, vous pouvez utiliser certaines fonctions de perte personnalisées, en fonction d'une étude / d'un contexte commercial particulier.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.