Exercices Machine Learning Metriques de regression : MAE, MSE, RMSE, R2
🎉

Bravo!

Intermédiaire 🧠 Fondamentaux 20 XP 0 personnes ont réussi

Metriques de regression : MAE, MSE, RMSE, R2

Tu predis que l'appartement vaut 250 000 euros, il en vaut 280 000. C'est grave ? Ca depend de la metrique. En regression, tu ne peux pas utiliser l'accuracy. Il te faut des metriques qui mesurent a quel point tes predictions sont proches des vraies valeurs.

Les 4 metriques essentielles :

MAE (Mean Absolute Error) : la moyenne des erreurs absolues. Si MAE = 5, en moyenne tu te trompes de 5 unites. Simple a comprendre.

MSE (Mean Squared Error) : la moyenne des erreurs au carre. Penalise davantage les grosses erreurs.

RMSE (Root MSE) : la racine du MSE. Ramene l'erreur dans les memes unites que la cible. C'est le plus utilise.

R2 (coefficient de determination) : mesure quelle proportion de la variance est expliquee par le modèle. R2=1 = parfait, R2=0 = le modèle ne fait pas mieux que predire la moyenne.

from sklearn.metrics import mean_absolute_error, mean_squared_error, r2_score

Écris une fonction metriques_regression(y_vrai, y_predit) qui renvoie un dictionnaire avec les clés 'mae', 'mse', 'rmse', 'r2'.

Tests (4/4)

Predictions parfaites
result = metriques_regression([1, 2, 3], [1, 2, 3])
assert result['mae'] == 0
assert result['mse'] == 0
assert result['r2'] == 1.0
MAE simple
result = metriques_regression([1, 2, 3], [2, 3, 4])
assert abs(result['mae'] - 1.0) < 1e-9
RMSE est racine de MSE
import numpy as np
result = metriques_regression([1, 2, 3, 4], [1.5, 2.5, 3.5, 4.5])
assert abs(result['rmse'] - np.sqrt(result['mse'])) < 1e-9
R2 negatif possible
result = metriques_regression([1, 2, 3], [10, 20, 30])
assert result['r2'] < 0 or result['r2'] <= 1

Indices (3 disponibles)

solution.py