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

bookR-Квадрат

Що таке R-квадрат

Ми вже розглянули MSE, RMSE та MAE. Вони допомагають порівнювати моделі, але окремий показник важко оцінити без контексту. Може бути незрозуміло, чи є значення «достатньо хорошим» для вашого набору даних.

R-квадрат вирішує це, вимірюючи, яку частину дисперсії цільової змінної пояснює модель. Його значення знаходиться в діапазоні від 0 до 1, що робить інтерпретацію простою.

Проблема полягає в тому, що ми не можемо одразу обчислити пояснену дисперсію. Але ми можемо обчислити непояснену дисперсію, тому перетворимо наведену вище формулу так:

Загальна дисперсія

Загальна дисперсія — це просто дисперсія цільової змінної, яку можна обчислити за допомогою формули вибіркової дисперсії зі статистики ( — це середнє значення цільової змінної):

У цьому прикладі різниці між фактичними значеннями та середнім цільовим значенням (помаранчеві лінії) підносяться до квадрату та підсумовуються, після чого діляться на m−1, що дає загальну дисперсію 11.07.

Не пояснена дисперсія

Далі обчислюється дисперсія, яку модель не пояснює. Якщо б передбачення були ідеальними, всі точки лежали б точно на лінії регресії. Для обчислення використовується та ж формула дисперсії, але замість підставляються передбачені значення.

Ось приклад із візуалізацією:

Тепер ми знаємо все необхідне для обчислення коефіцієнта детермінації R-квадрат:

Ми отримали значення R-квадрат 0.92, що близько до 1, отже, наша модель є дуже якісною. Також обчислимо R-квадрат для ще однієї моделі.

Значення R-квадрат нижче, оскільки модель дещо недонавчає дані.

R-квадрат у Python

Клас sm.OLS обчислює для нас значення R-квадрат. Його можна знайти у таблиці summary() тут.

R-квадрат має діапазон від 0 до 1, і чим вище значення, тим краще (якщо модель не перенавчається). Вивід summary() для sm.OLS містить оцінку R-квадрат.

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

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

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

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

Запитати АІ

expand

Запитати АІ

ChatGPT

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

Suggested prompts:

Can you explain what a good R-squared value is?

How does R-squared compare to MSE, RMSE, and MAE?

Can you show how to interpret R-squared in real-world scenarios?

bookR-Квадрат

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

Що таке R-квадрат

Ми вже розглянули MSE, RMSE та MAE. Вони допомагають порівнювати моделі, але окремий показник важко оцінити без контексту. Може бути незрозуміло, чи є значення «достатньо хорошим» для вашого набору даних.

R-квадрат вирішує це, вимірюючи, яку частину дисперсії цільової змінної пояснює модель. Його значення знаходиться в діапазоні від 0 до 1, що робить інтерпретацію простою.

Проблема полягає в тому, що ми не можемо одразу обчислити пояснену дисперсію. Але ми можемо обчислити непояснену дисперсію, тому перетворимо наведену вище формулу так:

Загальна дисперсія

Загальна дисперсія — це просто дисперсія цільової змінної, яку можна обчислити за допомогою формули вибіркової дисперсії зі статистики ( — це середнє значення цільової змінної):

У цьому прикладі різниці між фактичними значеннями та середнім цільовим значенням (помаранчеві лінії) підносяться до квадрату та підсумовуються, після чого діляться на m−1, що дає загальну дисперсію 11.07.

Не пояснена дисперсія

Далі обчислюється дисперсія, яку модель не пояснює. Якщо б передбачення були ідеальними, всі точки лежали б точно на лінії регресії. Для обчислення використовується та ж формула дисперсії, але замість підставляються передбачені значення.

Ось приклад із візуалізацією:

Тепер ми знаємо все необхідне для обчислення коефіцієнта детермінації R-квадрат:

Ми отримали значення R-квадрат 0.92, що близько до 1, отже, наша модель є дуже якісною. Також обчислимо R-квадрат для ще однієї моделі.

Значення R-квадрат нижче, оскільки модель дещо недонавчає дані.

R-квадрат у Python

Клас sm.OLS обчислює для нас значення R-квадрат. Його можна знайти у таблиці summary() тут.

R-квадрат має діапазон від 0 до 1, і чим вище значення, тим краще (якщо модель не перенавчається). Вивід summary() для sm.OLS містить оцінку R-квадрат.

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

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

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

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