Взлом кода: несколько способов вычисления R2 в R

Если вы работаете с анализом данных или машинным обучением в R, вы, вероятно, встречали термин «значение R2» или «коэффициент детерминации». Это статистическая мера, которая показывает долю дисперсии зависимой переменной, которую можно объяснить независимыми переменными. Проще говоря, R2 сообщает вам, насколько хорошо ваша модель соответствует данным. В этой статье мы рассмотрим различные методы расчета значения R2 в R, используя разговорный язык и практические примеры кода.

Метод 1: использование функции summary().
Один из самых простых способов получить значение R2 – подобрать модель линейной регрессии с помощью функции lm(), а затем извлечение значения R2 из сводки модели. Вот пример:

# Load necessary libraries and data
library(datasets)
data(mtcars)
# Fit a linear regression model
model <- lm(mpg ~ wt, data = mtcars)
# Extract R2 value from the model summary
r2 <- summary(model)$r.squared
# Print the R2 value
cat("R2 value:", r2)

Метод 2: использование функции cor()
Другой подход к расчету R2 включает вычисление корреляции между наблюдаемыми и прогнозируемыми значениями. Этот метод подходит, если у вас уже есть прогнозируемые значения из вашей модели. Вот пример:

# Generate example data
observed <- c(1, 2, 3, 4, 5)
predicted <- c(1.2, 2.5, 2.8, 4.1, 5.3)
# Calculate R2 using the correlation method
r2 <- cor(predicted, observed)^2
# Print the R2 value
cat("R2 value:", r2)

Метод 3. Использование функции lm()с функцией predict().
Если вы хотите вычислить значение R2 для прогнозов, сделанных вашей моделью на новых данных, вы можно использовать функцию predict()вместе с функцией lm(). Вот пример:

# Fit a linear regression model
model <- lm(mpg ~ wt, data = mtcars)
# Make predictions on new data
new_data <- data.frame(wt = c(3.5, 4.2, 5.1))
predictions <- predict(model, newdata = new_data)
# Calculate R2 for the predictions
r2 <- 1 - sum((mtcars$mpg - predictions)^2) / sum((mtcars$mpg - mean(mtcars$mpg))^2)
# Print the R2 value
cat("R2 value:", r2)

В этой статье мы рассмотрели несколько методов расчета значения R2 в R. Предпочитаете ли вы использовать функцию summary(), функцию cor()или комбинацию summary()? s>12и predict()теперь у вас есть ряд возможностей определить, насколько хорошо ваша модель соответствует данным. Понимание ценности R2 имеет решающее значение для оценки эффективности ваших моделей и принятия обоснованных решений в проектах анализа данных и машинного обучения.