Метрики
Під час побудови моделі необхідно мати метрику, яка вимірює, наскільки добре вона відповідає даним. Метрика надає числову оцінку, що описує ефективність моделі. У цьому розділі розглядаються найпоширеніші з них.
Ми будемо використовувати таку нотацію:
Ми вже знайомі з однією метрикою — SSR (Sum of Squared Residuals), яку ми мінімізували для визначення оптимальних параметрів.
Використовуючи нашу нотацію, формулу для SSR можна записати так:
або рівнозначно:
Ця метрика працювала лише тоді, коли моделі використовували однакову кількість даних. Вона не показує, наскільки добре модель насправді працює. Уявіть дві моделі, навчені на наборах даних різного розміру.
Перша модель краще підходить візуально, але має вищий SSR, оскільки має більше точок, тому сума збільшується навіть при менших середніх залишках. Використання середнього квадрата залишків вирішує цю проблему — це середньоквадратична помилка (MSE).
MSE
або рівнозначно:
Обчислення MSE за допомогою NumPy:
mse = np.mean((y_true - y_pred)**2)
Або Scikit-learn:
from sklearn.metrics import mean_squared_error
mse = mean_squared_error(y_true, y_pred)
MSE підноситься до квадрату, що ускладнює інтерпретацію. Якщо MSE становить 49 доларів², бажано отримати похибку у доларах. Взяття квадратного кореня дає 7 — це корінь середньоквадратичної похибки (RMSE).
RMSE
Обчислення RMSE за допомогою:
rmse = np.sqrt(np.mean((y_true - y_pred)**2))
Або Scikit-learn:
rmse = mean_squared_error(y_true, y_pred, squared=False)
MAE
Замість піднесення залишків до квадрату можна взяти їх абсолютні значення — це дає середню абсолютну помилку (MAE).
або рівнозначно
MAE поводиться подібно до MSE, але ставиться до великих помилок м’якше. Оскільки використовуються абсолютні значення, цей показник є стійкішим до викидів, що робить його корисним, коли екстремальні значення спотворюють набір даних.
Обчислення MAE:
mae = np.mean(np.fabs(y_true - y_pred))
Або:
from sklearn.metrics import mean_absolute_error
mae = mean_absolute_error(y_true, y_pred)
SSR допоміг нам вивести нормальне рівняння, але для порівняння моделей можна використовувати будь-яку метрику.
SSR, MSE та RMSE завжди однаково ранжують моделі, тоді як MAE може віддати перевагу іншій, оскільки менше штрафує за великі помилки. Слід заздалегідь обрати метрику та оптимізувати модель саме під неї.
Тепер ви точно можете сказати, що друга модель краща, оскільки всі її метрики нижчі. Однак нижчі значення метрик не завжди означають, що модель краща.
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
Can you explain why lower metrics don't always mean a better model?
What are some other metrics used to evaluate model performance?
Can you give examples of when MAE is preferred over MSE or RMSE?
Awesome!
Completion rate improved to 5.26
Метрики
Свайпніть щоб показати меню
Під час побудови моделі необхідно мати метрику, яка вимірює, наскільки добре вона відповідає даним. Метрика надає числову оцінку, що описує ефективність моделі. У цьому розділі розглядаються найпоширеніші з них.
Ми будемо використовувати таку нотацію:
Ми вже знайомі з однією метрикою — SSR (Sum of Squared Residuals), яку ми мінімізували для визначення оптимальних параметрів.
Використовуючи нашу нотацію, формулу для SSR можна записати так:
або рівнозначно:
Ця метрика працювала лише тоді, коли моделі використовували однакову кількість даних. Вона не показує, наскільки добре модель насправді працює. Уявіть дві моделі, навчені на наборах даних різного розміру.
Перша модель краще підходить візуально, але має вищий SSR, оскільки має більше точок, тому сума збільшується навіть при менших середніх залишках. Використання середнього квадрата залишків вирішує цю проблему — це середньоквадратична помилка (MSE).
MSE
або рівнозначно:
Обчислення MSE за допомогою NumPy:
mse = np.mean((y_true - y_pred)**2)
Або Scikit-learn:
from sklearn.metrics import mean_squared_error
mse = mean_squared_error(y_true, y_pred)
MSE підноситься до квадрату, що ускладнює інтерпретацію. Якщо MSE становить 49 доларів², бажано отримати похибку у доларах. Взяття квадратного кореня дає 7 — це корінь середньоквадратичної похибки (RMSE).
RMSE
Обчислення RMSE за допомогою:
rmse = np.sqrt(np.mean((y_true - y_pred)**2))
Або Scikit-learn:
rmse = mean_squared_error(y_true, y_pred, squared=False)
MAE
Замість піднесення залишків до квадрату можна взяти їх абсолютні значення — це дає середню абсолютну помилку (MAE).
або рівнозначно
MAE поводиться подібно до MSE, але ставиться до великих помилок м’якше. Оскільки використовуються абсолютні значення, цей показник є стійкішим до викидів, що робить його корисним, коли екстремальні значення спотворюють набір даних.
Обчислення MAE:
mae = np.mean(np.fabs(y_true - y_pred))
Або:
from sklearn.metrics import mean_absolute_error
mae = mean_absolute_error(y_true, y_pred)
SSR допоміг нам вивести нормальне рівняння, але для порівняння моделей можна використовувати будь-яку метрику.
SSR, MSE та RMSE завжди однаково ранжують моделі, тоді як MAE може віддати перевагу іншій, оскільки менше штрафує за великі помилки. Слід заздалегідь обрати метрику та оптимізувати модель саме під неї.
Тепер ви точно можете сказати, що друга модель краща, оскільки всі її метрики нижчі. Однак нижчі значення метрик не завжди означають, що модель краща.
Дякуємо за ваш відгук!