Regression Metrics
API Reference
Signatures
sp.mean_squared_error(y_true, y_pred) -> float
sp.root_mean_squared_error(y_true, y_pred) -> float
sp.mean_absolute_error(y_true, y_pred) -> float
sp.median_absolute_error(y_true, y_pred) -> float
sp.r2_score(y_true, y_pred) -> float
sp.explained_variance_score(y_true, y_pred) -> float
sp.max_error(y_true, y_pred) -> float
sp.mean_absolute_percentage_error(y_true, y_pred) -> float
sp.mean_squared_log_error(y_true, y_pred) -> float
sp.root_mean_squared_log_error(y_true, y_pred) -> float
sp.mean_pinball_loss(y_true, y_pred, alpha=0.5) -> float
sp.d2_absolute_error_score(y_true, y_pred) -> float
Function summary
| Function | Output | Description |
|---|---|---|
mean_squared_error | float | Average squared error |
root_mean_squared_error | float | $\sqrt{\text{MSE}}$, in target units |
mean_absolute_error | float | Average absolute error |
median_absolute_error | float | Median of $ |
r2_score | float | Coefficient of determination |
explained_variance_score | float | Variance ratio (allows bias) |
max_error | float | Worst residual |
mean_absolute_percentage_error | float | MAPE, scale-free |
mean_squared_log_error | float | MSE in log space, requires $y, \hat{y} \geq 0$ |
root_mean_squared_log_error | float | $\sqrt{\text{MSLE}}$ |
mean_pinball_loss | float | Quantile loss (param alpha in $(0,1)$) |
d2_absolute_error_score | float | $R^2$ analogue using MAE |
Example
import seraplot as sp
y_true = [3.0, -0.5, 2.0, 7.0, 5.0, 4.5]
y_pred = [2.5, 0.0, 2.1, 7.8, 4.7, 4.6]
print("MSE :", sp.mean_squared_error(y_true, y_pred))
print("RMSE :", sp.root_mean_squared_error(y_true, y_pred))
print("MAE :", sp.mean_absolute_error(y_true, y_pred))
print("MedAE :", sp.median_absolute_error(y_true, y_pred))
print("R² :", sp.r2_score(y_true, y_pred))
print("EVS :", sp.explained_variance_score(y_true, y_pred))
print("MaxE :", sp.max_error(y_true, y_pred))
print("MAPE :", sp.mean_absolute_percentage_error(y_true, y_pred))
print("MSLE :", sp.mean_squared_log_error([1,2,3], [1.1,2.1,3.1]))
print("Q90 :", sp.mean_pinball_loss(y_true, y_pred, alpha=0.9))
print("D²-AE :", sp.d2_absolute_error_score(y_true, y_pred))
Algorithmic Functioning
MSE / RMSE / MAE — pointwise error aggregates:
Median absolute error — robust to outliers:
MAPE — scale-free, undefined when $y_i = 0$:
MSLE — penalises under-prediction more than over-prediction; requires non-negative values:
Pinball loss — asymmetric quantile loss; minimised by the $\alpha$-quantile predictor:
Explained variance allows for a constant bias:
$R^2$ vs. $D^2$-AE — both are "1 minus loss / loss-of-the-mean-predictor", but using MSE for $R^2$ and MAE for $D^2$-AE:
with $\tilde{y}$ the median.
Référence API
Signatures
sp.mean_squared_error(y_true, y_pred) -> float
sp.root_mean_squared_error(y_true, y_pred) -> float
sp.mean_absolute_error(y_true, y_pred) -> float
sp.median_absolute_error(y_true, y_pred) -> float
sp.r2_score(y_true, y_pred) -> float
sp.explained_variance_score(y_true, y_pred) -> float
sp.max_error(y_true, y_pred) -> float
sp.mean_absolute_percentage_error(y_true, y_pred) -> float
sp.mean_squared_log_error(y_true, y_pred) -> float
sp.root_mean_squared_log_error(y_true, y_pred) -> float
sp.mean_pinball_loss(y_true, y_pred, alpha=0.5) -> float
sp.d2_absolute_error_score(y_true, y_pred) -> float
Résumé
| Fonction | Sortie | Description |
|---|---|---|
mean_squared_error | float | Erreur quadratique moyenne |
root_mean_squared_error | float | $\sqrt{\text{MSE}}$, dans l'unité cible |
mean_absolute_error | float | Erreur absolue moyenne |
median_absolute_error | float | Médiane de $ |
r2_score | float | Coefficient de détermination |
explained_variance_score | float | Ratio de variance (autorise un biais) |
max_error | float | Pire résidu |
mean_absolute_percentage_error | float | MAPE, sans échelle |
mean_squared_log_error | float | MSE en espace log, requiert $y, \hat{y} \geq 0$ |
root_mean_squared_log_error | float | $\sqrt{\text{MSLE}}$ |
mean_pinball_loss | float | Perte quantile (paramètre alpha dans $(0,1)$) |
d2_absolute_error_score | float | Analogue de $R^2$ avec MAE |
Exemple
import seraplot as sp
y_true = [3.0, -0.5, 2.0, 7.0, 5.0, 4.5]
y_pred = [2.5, 0.0, 2.1, 7.8, 4.7, 4.6]
print("MSE :", sp.mean_squared_error(y_true, y_pred))
print("RMSE :", sp.root_mean_squared_error(y_true, y_pred))
print("MAE :", sp.mean_absolute_error(y_true, y_pred))
print("MedAE :", sp.median_absolute_error(y_true, y_pred))
print("R² :", sp.r2_score(y_true, y_pred))
print("EVS :", sp.explained_variance_score(y_true, y_pred))
print("MaxE :", sp.max_error(y_true, y_pred))
print("MAPE :", sp.mean_absolute_percentage_error(y_true, y_pred))
print("MSLE :", sp.mean_squared_log_error([1,2,3], [1.1,2.1,3.1]))
print("Q90 :", sp.mean_pinball_loss(y_true, y_pred, alpha=0.9))
print("D²-AE :", sp.d2_absolute_error_score(y_true, y_pred))
Fonctionnement algorithmique
MSE / RMSE / MAE — agrégats d'erreur point par point :
Erreur absolue médiane — robuste aux outliers :
MAPE — sans échelle, indéfini quand $y_i = 0$ :
MSLE — pénalise davantage la sous-estimation que la sur-estimation ; requiert des valeurs positives :
Pinball loss — perte quantile asymétrique, minimisée par le prédicteur $\alpha$-quantile :
Variance expliquée autorise un biais constant :
$R^2$ vs. $D^2$-AE — tous deux « 1 moins perte / perte du prédicteur moyen », mais utilisant MSE pour $R^2$ et MAE pour $D^2$-AE :
avec $\tilde{y}$ la médiane.