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

bookМетрики

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

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

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

Note
Примітка

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

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

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

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

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

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

Запитати АІ

expand

Запитати АІ

ChatGPT

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

Suggested prompts:

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?

bookМетрики

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

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

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

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

Note
Примітка

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

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

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

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

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

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