Ответ
MAE (Mean Absolute Error) — это средняя абсолютная ошибка, которая вычисляется как среднее абсолютных разностей между предсказанными и истинными значениями.
Когда использовать MAE:
- При наличии выбросов в данных. Поскольку MAE не возводит ошибки в квадрат, она менее чувствительна к выбросам по сравнению с MSE.
- Когда важна интерпретируемость. MAE измеряется в тех же единицах, что и целевая переменная (например, доллары, метры), что делает её интуитивно понятной для бизнеса.
- Когда распределение ошибок не является нормальным. MAE минимизирует медиану ошибок, что делает её более робастной для распределений с тяжёлыми хвостами.
Пример расчёта и интерпретации:
from sklearn.metrics import mean_absolute_error
y_true = [100, 200, 300, 400]
y_pred = [110, 190, 320, 390] # Предсказания
mae = mean_absolute_error(y_true, y_pred)
print(f'MAE: {mae}') # MAE: 15.0
# Интерпретация: в среднем, модель ошибается на 15 единиц.
Когда НЕ использовать MAE: Если большие ошибки критически важны и должны наказываться сильнее (например, в задачах безопасности), лучше использовать MSE или RMSE, так как они квадратично увеличивают штраф.
Ответ 18+ 🔞
Э, слушай, давай разжую про эту MAE, а то народ иногда путается, как будто на дворе 2002-й год и все только про MSE слышали.
Короче, MAE (Mean Absolute Error) — это, если по-простому, средняя абсолютная ошибка. Берёшь разницу между тем, что нагадала твоя модель, и правдой, отбрасываешь знаки (чтобы плюсы с минусами не компенсировали друг друга, хитрая жопа), усредняешь — и всё, готово. Никаких квадратов, всё честно.
А когда её впендюрить в свою модель самое то?
- Когда в данных завелись выбросы, эти пидарасы шерстяные. Если у тебя в данных есть значения, которые выглядят так, будто их мартышлюшка на клавиатуре натыкала, MAE на них не поведётся. Она не возводит ошибку в квадрат, поэтому один дикий промах не превратит всю метрику в пиздопроебибну. MSE бы тут охуела, а MAE — пофиг.
- Когда нужно начальству или себе объяснить на пальцах. MAE измеряется в тех же единицах, что и твоя целевая переменная. Сказал «ошибка в среднем 15 долларов» — и всем всё ясно. Никаких «корней из среднего квадрата», ёпта. Доверия к такой цифре — ебать ноль сомнений.
- Когда распределение ошибок — хуй с горы, а не красивая нормальная кривая. MAE по своей сути минимизирует медиану ошибок, поэтому ей похуй на тяжёлые хвосты и прочую нестандартную хуету в распределении. Она робастная, как танк.
Вот тебе живой пример, смотри:
from sklearn.metrics import mean_absolute_error
# Допустим, предсказывали цены на что-то
y_true = [100, 200, 300, 400] # Реальные цены
y_pred = [110, 190, 320, 390] # Что наша модель насочиняла
mae = mean_absolute_error(y_true, y_pred)
print(f'MAE: {mae}') # MAE: 15.0
И что это значит? А значит, что в среднем наша модель ебёт мимо на 15 условных единиц (баксов, метров, литров — чего ты там предсказываешь). Всё, точка. Волнение ебать — ноль. Интерпретация проще некуда.
А когда на MAE нужно забить болт и взять что-то другое? Вот смотри, представим ситуацию: ты предсказываешь нагрузку на мост или концентрацию яда в реакторе. Тут одна большая ошибка может привести к тому, что всё накроется медным тазом. Вот тогда MAE — не твой выбор, потому что она большие ошибки наказывает линейно, как будто они не страшнее маленьких. В таких случаях нужен квадратичный штраф — бери MSE или RMSE. Они ошибку в квадрат возводят, поэтому если модель вдруг пизданула мимо на овердохуища, метрика взвоет так, что ты сам от себя охуеешь. Это сигнал: «Чувак, тут что-то не так, иди разбирайся, а не усредняй!»
Короче, выбирай метрику с умом, а не тыкай наугад. Всё зависит от задачи, э бошка думай.