MCPcopy Index your code
hub / github.com/TheAlgorithms/Python / mean_absolute_error

Function mean_absolute_error

machine_learning/loss_functions.py:366–400  ·  view source on GitHub ↗

Calculates the Mean Absolute Error (MAE) between ground truth (observed) and predicted values. MAE measures the absolute difference between true values and predicted values. Equation: MAE = (1/n) * Σ(abs(y_true - y_pred)) Reference: https://en.wikipedia.org/wiki/Mean_

(y_true: np.ndarray, y_pred: np.ndarray)

Source from the content-addressed store, hash-verified

364
365
366def mean_absolute_error(y_true: np.ndarray, y_pred: np.ndarray) -> float:
367 """
368 Calculates the Mean Absolute Error (MAE) between ground truth (observed)
369 and predicted values.
370
371 MAE measures the absolute difference between true values and predicted values.
372
373 Equation:
374 MAE = (1/n) * Σ(abs(y_true - y_pred))
375
376 Reference: https://en.wikipedia.org/wiki/Mean_absolute_error
377
378 Parameters:
379 - y_true: The true values (ground truth)
380 - y_pred: The predicted values
381
382 >>> true_values = np.array([1.0, 2.0, 3.0, 4.0, 5.0])
383 >>> predicted_values = np.array([0.8, 2.1, 2.9, 4.2, 5.2])
384 >>> bool(np.isclose(mean_absolute_error(true_values, predicted_values), 0.16))
385 True
386 >>> true_values = np.array([1.0, 2.0, 3.0, 4.0, 5.0])
387 >>> predicted_values = np.array([0.8, 2.1, 2.9, 4.2, 5.2])
388 >>> bool(np.isclose(mean_absolute_error(true_values, predicted_values), 2.16))
389 False
390 >>> true_labels = np.array([1.0, 2.0, 3.0, 4.0, 5.0])
391 >>> predicted_probs = np.array([0.3, 0.8, 0.9, 5.2])
392 >>> mean_absolute_error(true_labels, predicted_probs)
393 Traceback (most recent call last):
394 ...
395 ValueError: Input arrays must have the same length.
396 """
397 if len(y_true) != len(y_pred):
398 raise ValueError("Input arrays must have the same length.")
399
400 return np.mean(abs(y_true - y_pred))
401
402
403def mean_squared_logarithmic_error(y_true: np.ndarray, y_pred: np.ndarray) -> float:

Callers 1

mainFunction · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected