Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Метрики | Вибір Найкращої Моделі
Лінійна регресія з Python

Метрики

Свайпніть щоб показати меню

Під час побудови моделі необхідно мати метрику, яка вимірює, наскільки добре вона відповідає даним. Метрика надає числову оцінку, що описує ефективність моделі. У цьому розділі розглядаються найпоширеніші з них.

Ми будемо використовувати таку нотацію:

Нотація

Ми вже знайомі з однією метрикою — SSR (Sum of Squared Residuals), яку ми мінімізували для визначення оптимальних параметрів.
Використовуючи нашу нотацію, можемо записати формулу SSR так:

SSRformula

або так само:

SSRsum

Ця метрика працює лише тоді, коли моделі використовують однакову кількість даних. Вона не показує, наскільки добре модель насправді працює. Уявіть дві моделі, навчені на наборах даних різного розміру.

SSRCompare

Перша модель візуально підходить краще, але має вищий SSR, оскільки містить більше точок, тому сума збільшується навіть при менших середніх залишках. Використання середнього квадрата залишків вирішує цю проблему — це середньоквадратична помилка (MSE).

MSE

MSEformula

або рівнозначно:

MSEsum

Обчислення 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

RMSEsum

Обчислення 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).

MAEformula

або рівнозначно

MAEsum

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 допоміг нам вивести нормальне рівняння, але для порівняння моделей можна використовувати будь-яку метрику.

Note
Примітка

SSR, MSE та RMSE завжди однаково ранжують моделі, тоді як MAE може віддати перевагу іншій, оскільки менше штрафує за великі помилки. Метрику слід обирати заздалегідь і оптимізувати модель саме під неї.

Порівняння моделей

Тепер можна впевнено сказати, що друга модель краща, оскільки всі її метрики нижчі. Однак нижчі значення метрик не завжди означають, що модель краща.

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 4. Розділ 1

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

Метрики

Під час побудови моделі необхідно мати метрику, яка вимірює, наскільки добре вона відповідає даним. Метрика надає числову оцінку, що описує ефективність моделі. У цьому розділі розглядаються найпоширеніші з них.

Ми будемо використовувати таку нотацію:

Нотація

Ми вже знайомі з однією метрикою — SSR (Sum of Squared Residuals), яку ми мінімізували для визначення оптимальних параметрів.
Використовуючи нашу нотацію, можемо записати формулу SSR так:

SSRformula

або так само:

SSRsum

Ця метрика працює лише тоді, коли моделі використовують однакову кількість даних. Вона не показує, наскільки добре модель насправді працює. Уявіть дві моделі, навчені на наборах даних різного розміру.

SSRCompare

Перша модель візуально підходить краще, але має вищий SSR, оскільки містить більше точок, тому сума збільшується навіть при менших середніх залишках. Використання середнього квадрата залишків вирішує цю проблему — це середньоквадратична помилка (MSE).

MSE

MSEformula

або рівнозначно:

MSEsum

Обчислення 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

RMSEsum

Обчислення 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).

MAEformula

або рівнозначно

MAEsum

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 допоміг нам вивести нормальне рівняння, але для порівняння моделей можна використовувати будь-яку метрику.

Note
Примітка

SSR, MSE та RMSE завжди однаково ранжують моделі, тоді як MAE може віддати перевагу іншій, оскільки менше штрафує за великі помилки. Метрику слід обирати заздалегідь і оптимізувати модель саме під неї.

Порівняння моделей

Тепер можна впевнено сказати, що друга модель краща, оскільки всі її метрики нижчі. Однак нижчі значення метрик не завжди означають, що модель краща.

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 4. Розділ 1
some-alt