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, ніж друга модель, яка візуально гірше відповідає даним. Це сталося лише тому, що в першій моделі значно більше точок даних, тому сума більша, але в середньому залишки першої моделі менші. Тому використання середнього значення квадратів залишків як метрики краще описує модель. Саме це і є Mean Squared Error (MSE).

MSE

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

Для обчислення метрики MSE за допомогою Python можна скористатися функціями NumPy:

mse = np.mean((y_true-y_pred)**2)

Або можна використати метод Scikit-learn mean_squared_error():

from sklearn.metrics import mean_squared_error
mse = mean_squared_error(y_true, y_pred)

Де y_true — масив фактичних значень цільової змінної, а y_pred — масив передбачених значень цільової змінної для тих самих ознак.

Проблема полягає в тому, що показана помилка є піднесеною до квадрату. Наприклад, припустимо, що MSE моделі, яка прогнозує ціни на будинки, становить 49 доларів². Нас цікавить ціна, а не ціна у квадраті, як це дає MSE, тому бажано взяти корінь із MSE і отримати 7 доларів. Тепер маємо метрику з тією ж одиницею виміру, що й передбачене значення. Ця метрика називається Root Mean Squared Error (RMSE) — корінь із середньоквадратичної помилки.

RMSE

Щоб обчислити метрику RMSE за допомогою Python, можна скористатися функціями NumPy:

rmse = np.sqrt(np.mean((y_true-y_pred)**2))

Або можна використати метод Scikit-learn mean_squared_error() з параметром squared=False:

from sklearn.metrics import mean_squared_error
rmse = mean_squared_error(y_true, y_pred, squared=False)

MAE

У SSR залишки підносилися до квадрату, щоб позбутися знаку. Інший підхід — брати абсолютні значення залишків замість піднесення до квадрату. Це і є суть середньої абсолютної помилки (MAE).

або еквівалентно

Це те саме, що й MSE, але замість піднесення залишків до квадрату, беруть їх абсолютні значення.

Хоча MAE подібна до MSE, оскільки використовує абсолютні значення залишків, вона є більш стійкою до викидів, оскільки не підсилює великі помилки так сильно, як це робить MSE. У результаті, MAE часто є кращим вибором, коли у наборі даних присутні викиди, оскільки її значення не зростає непропорційно через декілька екстремальних помилок.

Щоб обчислити метрику MAE за допомогою Python, можна скористатися функціями NumPy:

mae = np.mean(np.fabs(y_true-y_pred))

Або скористатися методом Scikit-learn mean_absolute_error():

from sklearn.metrics import mean_absolute_error
mae = mean_absolute_error(y_true, y_pred)

Для вибору параметрів ми використовували метрику SSR. Це пов’язано з тим, що вона зручна для математичних обчислень і дозволяє отримати нормальне рівняння. Але для подальшого порівняння моделей можна використовувати будь-яку іншу метрику.

Note
Примітка

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

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

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

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

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

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

Запитати АІ

expand

Запитати АІ

ChatGPT

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

Suggested prompts:

Can you explain why lower metrics do not always mean a better model?

What are some other metrics used to evaluate model performance?

When should I use MAE instead of MSE or RMSE?

Awesome!

Completion rate improved to 5.26

bookМетрики

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

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

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

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

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

Ця метрика була корисною для порівняння моделей з однаковою кількістю спостережень. Однак вона не дає уявлення про те, наскільки добре працює модель. Ось чому:
Припустимо, у вас є дві моделі на різних навчальних вибірках (показано на зображенні нижче).

Ви можете побачити, що перша модель добре підходить, але все одно має більший SSR, ніж друга модель, яка візуально гірше відповідає даним. Це сталося лише тому, що в першій моделі значно більше точок даних, тому сума більша, але в середньому залишки першої моделі менші. Тому використання середнього значення квадратів залишків як метрики краще описує модель. Саме це і є Mean Squared Error (MSE).

MSE

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

Для обчислення метрики MSE за допомогою Python можна скористатися функціями NumPy:

mse = np.mean((y_true-y_pred)**2)

Або можна використати метод Scikit-learn mean_squared_error():

from sklearn.metrics import mean_squared_error
mse = mean_squared_error(y_true, y_pred)

Де y_true — масив фактичних значень цільової змінної, а y_pred — масив передбачених значень цільової змінної для тих самих ознак.

Проблема полягає в тому, що показана помилка є піднесеною до квадрату. Наприклад, припустимо, що MSE моделі, яка прогнозує ціни на будинки, становить 49 доларів². Нас цікавить ціна, а не ціна у квадраті, як це дає MSE, тому бажано взяти корінь із MSE і отримати 7 доларів. Тепер маємо метрику з тією ж одиницею виміру, що й передбачене значення. Ця метрика називається Root Mean Squared Error (RMSE) — корінь із середньоквадратичної помилки.

RMSE

Щоб обчислити метрику RMSE за допомогою Python, можна скористатися функціями NumPy:

rmse = np.sqrt(np.mean((y_true-y_pred)**2))

Або можна використати метод Scikit-learn mean_squared_error() з параметром squared=False:

from sklearn.metrics import mean_squared_error
rmse = mean_squared_error(y_true, y_pred, squared=False)

MAE

У SSR залишки підносилися до квадрату, щоб позбутися знаку. Інший підхід — брати абсолютні значення залишків замість піднесення до квадрату. Це і є суть середньої абсолютної помилки (MAE).

або еквівалентно

Це те саме, що й MSE, але замість піднесення залишків до квадрату, беруть їх абсолютні значення.

Хоча MAE подібна до MSE, оскільки використовує абсолютні значення залишків, вона є більш стійкою до викидів, оскільки не підсилює великі помилки так сильно, як це робить MSE. У результаті, MAE часто є кращим вибором, коли у наборі даних присутні викиди, оскільки її значення не зростає непропорційно через декілька екстремальних помилок.

Щоб обчислити метрику MAE за допомогою Python, можна скористатися функціями NumPy:

mae = np.mean(np.fabs(y_true-y_pred))

Або скористатися методом Scikit-learn mean_absolute_error():

from sklearn.metrics import mean_absolute_error
mae = mean_absolute_error(y_true, y_pred)

Для вибору параметрів ми використовували метрику SSR. Це пов’язано з тим, що вона зручна для математичних обчислень і дозволяє отримати нормальне рівняння. Але для подальшого порівняння моделей можна використовувати будь-яку іншу метрику.

Note
Примітка

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

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

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

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

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

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