Understand MAE and how it can be used to evaluate accuracy of sequence models

Le tutoriel qui sert de référence pour celui-ci est Metrics for evaluating performance de Sequences, Time Series and Prediction (Coursera/Semaine 1).

MAE (Mean Absolute Error)

mae = np.abs(errors). mean()
mape = np.abs(errors / x_valid).mean()

Un exemple d’utilisation de MAE.

import tensorflow as tf
from matplotlib import pyplot
import numpy as np
y_true = np.random.randint(0, 2, size=(2, 3))
y_true
array([[0, 0, 0],
       [1, 0, 1]])
y_pred = np.random.random(size=(2, 3))
y_pred
array([[0.0204766 , 0.3111297 , 0.1918147 ],
       [0.16134341, 0.39335086, 0.69946858]])

Ce n’est pas à strictement parler une métrique puisque c’est une fonction de coût.

loss = tf.keras.losses.mean_absolute_error(y_true, y_pred)
loss.numpy()
array([0.17447367, 0.51084629])

Pour vérifier que MAE est bien la moyenne des valeurs absolues des écarts.

np.mean(abs(y_true - y_pred), axis=1)
array([0.17447367, 0.51084629])