ПочатиПочніть безкоштовно

Обчисліть R-squared

Тепер, коли ви обчислили RMSE для передбачень вашої моделі, перевірте, наскільки добре модель узгоджується з даними, тобто яку частку варіації вона пояснює. Це можна зробити за допомогою \(R^2\).

Нехай \(y\) — справжній результат, \(p\) — передбачення моделі, а \(res = y - p\) — залишки передбачень.

Тоді загальна сума квадратів \(tss\) ("загальна варіація") даних дорівнює:

$$ tss = \sum{(y - \overline{y})^2} $$

де \(\overline{y}\) — середнє значення \(y\).

Сума квадратів залишкових помилок моделі \(rss\) дорівнює: $$ rss = \sum{res^2} $$

\(R^2\) (коефіцієнт детермінації), тобто «пояснена варіація» моделлю, дорівнює:

$$ 1 - \frac{rss}{tss} $$

Після обчислення \(R^2\) ви порівняєте отримане значення з \(R^2\), яке повертає glance() (docs). glance() повертає датафрейм з одним рядком; для лінійної регресійної моделі одна з колонок містить \(R^2\) моделі на тренувальних даних.

Датафрейм unemployment уже завантажено й він містить колонки predictions і residuals, які ви обчислили в попередній вправі. Також доступна змінна unemployment_model.

Ця вправа є частиною курсу

Кероване навчання в R: регресія

Переглянути курс

Інструкції до вправи

  • Обчисліть середнє female_unemployment і запишіть його у змінну fe_mean.
  • Обчисліть загальну суму квадратів і запишіть її у змінну tss.
  • Обчисліть суму квадратів залишків і запишіть її у змінну rss.
  • Обчисліть \(R^2\). Це добра узгодженість (коли \(R^2\) близьке до 1)?
  • Використайте glance() щоб отримати \(R^2\) з моделі. Чи збігається воно з тим, що ви обчислили?

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

# unemployment is available
summary(unemployment)

# unemployment_model is available
summary(unemployment_model)

# Calculate and print the mean female_unemployment: fe_mean
(fe_mean <- ___)

# Calculate and print the total sum of squares: tss
(tss <- ___((___ - ___)^2))

# Calculate and print residual sum of squares: rss
(rss <- ___)

# Calculate and print the R-squared: rsq
(rsq <- ___)

# Get R-squared from glance and print it
(rsq_glance <- ___(___)$___)
Редагувати та запускати код