R Простая, множественная линейная и пошаговая регрессия (с примером)

Содержание:

Anonim

В этом руководстве вы узнаете

  • Простая линейная регрессия
  • Множественная линейная регрессия
  • Непрерывные переменные
  • Факторы регрессии
  • Пошаговая регрессия
  • Машинное обучение
  • Контролируемое обучение
  • Обучение без учителя

Простая линейная регрессия

Линейная регрессия отвечает на простой вопрос: можете ли вы измерить точную взаимосвязь между одной целевой переменной и набором предикторов?

Простейшей из вероятностных моделей является прямолинейная модель:

куда

  • y = Зависимая переменная
  • x = независимая переменная
  • = случайная составляющая ошибки
  • = перехватить
  • = Коэффициент x

Рассмотрим следующий сюжет:

Уравнение есть точка пересечения. Если x равно 0, y будет равно точке пересечения 4,77. наклон линии. Он сообщает, в какой пропорции изменяется y при изменении x.

Чтобы оценить оптимальные значения , вы используете метод, называемый обыкновенными наименьшими квадратами (OLS) . Этот метод пытается найти параметры, которые минимизируют сумму квадратов ошибок, то есть расстояние по вертикали между прогнозируемыми значениями y и фактическими значениями y. Разница известна как термин ошибки .

Прежде чем оценивать модель, вы можете определить, правдоподобна ли линейная зависимость между y и x, построив диаграмму рассеяния.

Диаграмма рассеяния

Мы будем использовать очень простой набор данных, чтобы объяснить концепцию простой линейной регрессии. Мы импортируем данные о среднем росте и весе американских женщин. Набор данных содержит 15 наблюдений. Вы хотите измерить, коррелируют ли высота положительно с весом.

library(ggplot2)path <- 'https://raw.githubusercontent.com/guru99-edu/R-Programming/master/women.csv'df <-read.csv(path)ggplot(df,aes(x=height, y = weight))+geom_point()

Выход:

Диаграмма рассеяния предполагает общую тенденцию к увеличению y с увеличением x. На следующем этапе вы будете измерять, насколько увеличивается каждый дополнительный.

Оценки методом наименьших квадратов

В простой регрессии OLS вычисление является несложным. Цель не в том, чтобы показать вывод в этом руководстве. Вы напишете только формулу.

Вы хотите оценить:

Цель регрессии OLS - минимизировать следующее уравнение:

куда

- прогнозируемое значение.

Решение для

Обратите внимание, что означает среднее значение x

Решение для

В R вы можете использовать функции cov () и var () для оценки,

beta <- cov(df$height, df$weight) / var (df$height)beta

Выход:

##[1] 3.45
alpha <- mean(df$weight) - beta * mean(df$height)alpha

Выход:

## [1] -87.51667

Коэффициент бета означает, что с каждым дополнительным ростом вес увеличивается на 3,45.

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

Множественная линейная регрессия

В более практических приложениях регрессионного анализа используются более сложные модели, чем простая линейная модель. Вероятностная модель, включающая более одной независимой переменной, называется моделями множественной регрессии . Общий вид этой модели:

В матричных обозначениях модель можно переписать:

Зависимая переменная y теперь является функцией k независимых переменных. Значение коэффициента .

Вкратце представим сделанное нами предположение о случайной ошибке OLS:

  • Среднее равно 0
  • Дисперсия равна
  • Нормальное распределение
  • Случайные ошибки независимы (в вероятностном смысле)

Вам необходимо найти вектор коэффициентов регрессии, который минимизирует сумму квадратов ошибок между прогнозируемыми и фактическими значениями y.

Решение в закрытом виде:

с:

  • указывает на транспонирование матрицы X
  • указывает на обратимую матрицу

Мы используем набор данных mtcars. Вы уже знакомы с набором данных. Наша цель - предсказать милю на галлон по набору функций.

Непрерывные переменные

На данный момент вы будете использовать только непрерывные переменные и отложите категориальные функции. Переменная am - это двоичная переменная, принимающая значение 1, если коробка передач ручная, и 0 для автомобилей с автоматической коробкой передач; vs также является двоичной переменной.

library(dplyr)df <- mtcars % > %select(-c(am, vs, cyl, gear, carb))glimpse(df)

Выход:

## Observations: 32## Variables: 6## $ mpg  21.0, 21.0, 22.8, 21.4, 18.7, 18.1, 14.3, 24.4, 22.8, 19… .## $ disp  160.0, 160.0, 108.0, 258.0, 360.0, 225.0, 360.0, 146.7, 1… ## $ hp  110, 110, 93, 110, 175, 105, 245, 62, 95, 123, 123, 180,… ## $ drat  3.90, 3.90, 3.85, 3.08, 3.15, 2.76, 3.21, 3.69, 3.92, 3.9… ## $ wt  2.620, 2.875, 2.320, 3.215, 3.440, 3.460, 3.570, 3.190, 3… ## $ qsec  16.46, 17.02, 18.61, 19.44, 17.02, 20.22, 15.84, 20.00, 2… 

Вы можете использовать функцию lm () для вычисления параметров. Основной синтаксис этой функции:

lm(formula, data, subset)Arguments:-formula: The equation you want to estimate-data: The dataset used-subset: Estimate the model on a subset of the dataset

Помните, что уравнение имеет следующий вид

в R

  • Символ = заменяется на ~
  • Каждый x заменяется именем переменной
  • Если вы хотите отбросить константу, добавьте -1 в конце формулы

Пример:

Вы хотите оценить вес людей на основе их роста и дохода. Уравнение

Уравнение в R записывается следующим образом:

y ~ X1 + X2 +… + Xn # С перехватом

Итак, для нашего примера:

  • Вес ~ рост + доход

Ваша цель - оценить милю на галлон на основе набора переменных. Уравнение для оценки:

Вы оцените свою первую линейную регрессию и сохраните результат в подходящем объекте.

model <- mpg~.disp + hp + drat + wtfit <- lm(model, df)fit

Код Пояснение

  • модель <- миль на галлон ~ . disp + hp + drat + wt: сохраните модель для оценки
  • lm (model, df): Оцените модель с фреймом данных df
#### Call:## lm(formula = model, data = df)#### Coefficients:## (Intercept) disp hp drat wt## 16.53357 0.00872 -0.02060 2.01577 -4.38546## qsec## 0.64015

Выходные данные не предоставляют достаточно информации о качестве подгонки. Вы можете получить доступ к более подробной информации, такой как значение коэффициентов, степень свободы и форма остатков, с помощью функции summary ().

summary(fit)

Выход:

## return the p-value and coefficient#### Call:## lm(formula = model, data = df)#### Residuals:## Min 1Q Median 3Q Max## -3.5404 -1.6701 -0.4264 1.1320 5.4996#### Coefficients:## Estimate Std. Error t value Pr(>|t|)## (Intercept) 16.53357 10.96423 1.508 0.14362## disp 0.00872 0.01119 0.779 0.44281## hp -0.02060 0.01528 -1.348 0.18936## drat 2.01578 1.30946 1.539 0.13579## wt -4.38546 1.24343 -3.527 0.00158 **## qsec 0.64015 0.45934 1.394 0.17523## ---## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1#### Residual standard error: 2.558 on 26 degrees of freedom## Multiple R-squared: 0.8489, Adjusted R-squared: 0.8199## F-statistic: 29.22 on 5 and 26 DF, p-value: 6.892e-10

Вывод из вывода вышеприведенной таблицы

  • Приведенная выше таблица доказывает, что существует сильная отрицательная связь между wt и пробегом и положительная связь с drat.
  • Только переменная wt имеет статистическое влияние на мили на галлон. Помните, что для проверки гипотезы в статистике мы используем:
    • H0: Нет статистического воздействия
    • H3: предиктор оказывает значимое влияние на y
    • Если значение p ниже 0,05, это означает, что переменная статистически значима.
  • Скорректированный R-квадрат: дисперсия, объясненная моделью. В вашей модели модель объяснила 82% дисперсии y. R в квадрате всегда находится между 0 и 1. Чем больше, тем лучше.

Вы можете запустить тест ANOVA, чтобы оценить влияние каждой функции на дисперсию с помощью функции anova ().

anova(fit)

Выход:

## Analysis of Variance Table#### Response: mpg## Df Sum Sq Mean Sq F value Pr(>F)## disp 1 808.89 808.89 123.6185 2.23e-11 ***## hp 1 33.67 33.67 5.1449 0.031854 *## drat 1 30.15 30.15 4.6073 0.041340 *## wt 1 70.51 70.51 10.7754 0.002933 **## qsec 1 12.71 12.71 1.9422 0.175233## Residuals 26 170.13 6.54## ---## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Более традиционный способ оценки производительности модели - это отображение остатка по разным показателям.

Вы можете использовать функцию plot (), чтобы показать четыре графика:

- Остаточные и подобранные значения

- Нормальный график QQ: теоретический квартиль против стандартизованных остатков

- Расположение шкалы: подобранные значения против квадратных корней из стандартизованных остатков

- Остатки против кредитного плеча: кредитное плечо против стандартизированных остатков

Вы добавляете код par (mfrow = c (2,2)) перед plot (fit). Если вы не добавите эту строку кода, R предложит вам нажать команду ввода, чтобы отобразить следующий график.

par(mfrow=(2,2))

Код Пояснение

  • (mfrow = c (2,2)): вернуть окно с четырьмя соседними графиками.
  • Первые 2 складывают количество строк
  • Вторая 2 добавляет количество столбцов.
  • Если вы напишете (mfrow = c (3,2)): вы создадите окно 3 строки 2 столбца
plot(fit)

Выход:

Формула lm () возвращает список, содержащий много полезной информации. Вы можете получить к ним доступ с помощью созданного вами подходящего объекта, за которым следует знак $ и информация, которую вы хотите извлечь.

- коэффициенты: `fit $ coefficients`

- остатки: `подходят $ остатки`

- установленное значение: `fit $ installed.values`

Факторы регрессии

В последней оценке модели вы регрессируете миль на галлон только для непрерывных переменных. В модель легко добавить факторные переменные. Вы добавляете в свою модель переменную am. Важно убедиться, что переменная является факторной, а не непрерывной.

df <- mtcars % > %mutate(cyl = factor(cyl),vs = factor(vs),am = factor(am),gear = factor(gear),carb = factor(carb))summary(lm(model, df))

Выход:

#### Call:## lm(formula = model, data = df)#### Residuals:## Min 1Q Median 3Q Max## -3.5087 -1.3584 -0.0948 0.7745 4.6251#### Coefficients:## Estimate Std. Error t value Pr(>|t|)## (Intercept) 23.87913 20.06582 1.190 0.2525## cyl6 -2.64870 3.04089 -0.871 0.3975## cyl8 -0.33616 7.15954 -0.047 0.9632## disp 0.03555 0.03190 1.114 0.2827## hp -0.07051 0.03943 -1.788 0.0939 .## drat 1.18283 2.48348 0.476 0.6407## wt -4.52978 2.53875 -1.784 0.0946 .## qsec 0.36784 0.93540 0.393 0.6997## vs1 1.93085 2.87126 0.672 0.5115## am1 1.21212 3.21355 0.377 0.7113## gear4 1.11435 3.79952 0.293 0.7733## gear5 2.52840 3.73636 0.677 0.5089## carb2 -0.97935 2.31797 -0.423 0.6787## carb3 2.99964 4.29355 0.699 0.4955## carb4 1.09142 4.44962 0.245 0.8096## carb6 4.47757 6.38406 0.701 0.4938## carb8 7.25041 8.36057 0.867 0.3995## ---## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1#### Residual standard error: 2.833 on 15 degrees of freedom## Multiple R-squared: 0.8931, Adjusted R-squared: 0.779## F-statistic: 7.83 on 16 and 15 DF, p-value: 0.000124

R использует первый факторный уровень как базовую группу. Вам нужно сравнить коэффициенты другой группы с базовой группой.

Пошаговая регрессия

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

Посмотрим в действии, как это работает. Вы используете набор данных mtcars с непрерывными переменными только для педагогической иллюстрации. Прежде чем начать анализ, полезно установить различия между данными с помощью корреляционной матрицы. Библиотека GGally является расширением ggplot2.

Библиотека включает в себя различные функции для отображения сводной статистики, такой как корреляция и распределение всех переменных в матрице. Мы будем использовать функцию ggscatmat, но вы можете обратиться к виньетке для получения дополнительной информации о библиотеке GGally.

Базовый синтаксис ggscatmat ():

ggscatmat(df, columns = 1:ncol(df), corMethod = "pearson")arguments:-df: A matrix of continuous variables-columns: Pick up the columns to use in the function. By default, all columns are used-corMethod: Define the function to compute the correlation between variable. By default, the algorithm uses the Pearson formula

Вы отображаете корреляцию для всех ваших переменных и решаете, какая из них будет лучшим кандидатом для первого шага пошаговой регрессии. Между вашими переменными и зависимой переменной mpg существует сильная корреляция.

library(GGally)df <- mtcars % > %select(-c(am, vs, cyl, gear, carb))ggscatmat(df, columns = 1: ncol(df))

Выход:

Пошаговая регрессия

Выбор переменных - важная часть для соответствия модели. Пошаговая регрессия автоматически выполнит процесс поиска. Чтобы оценить, сколько возможных вариантов есть в наборе данных, вы вычисляете, где k - это количество предикторов. Количество возможностей увеличивается с количеством независимых переменных. Вот почему вам нужен автоматический поиск.

Вам необходимо установить пакет olsrr из CRAN. Пакет пока недоступен в Anaconda. Следовательно, вы устанавливаете его прямо из командной строки:

install.packages("olsrr")

Вы можете построить график всех подмножеств возможностей с критериями соответствия (например, R-квадрат, скорректированный R-квадрат, байесовские критерии). Модель с самыми низкими критериями AIC будет окончательной моделью.

library(olsrr)model <- mpg~.fit <- lm(model, df)test <- ols_all_subset(fit)plot(test)

Код Пояснение

  • mpg ~ .: Построить модель для оценки
  • lm (модель, df): запустить модель OLS.
  • ols_all_subset (fit): построение графиков с соответствующей статистической информацией
  • plot (test): Постройте графики

Выход:

В моделях линейной регрессии для оценки статистического воздействия независимой переменной на зависимую переменную используется t-критерий . Исследователи установили максимальный порог в 10 процентов, при этом более низкие значения указывают на более сильную статистическую связь. Стратегия пошаговой регрессии построена вокруг этого теста для добавления и удаления потенциальных кандидатов. Алгоритм работает следующим образом:

  • Шаг 1. Выполните регрессию каждого предиктора по y отдельно. А именно, регрессировать x_1 по y, x_2 по y к x_n. Сохраните p-значение и сохраните регрессор с p-значением ниже определенного порога (по умолчанию 0,1). Предикторы со значимостью ниже порога будут добавлены в окончательную модель. Если ни одна из переменных не имеет p-значение ниже порога входа, алгоритм останавливается, и у вас есть окончательная модель только с константой.
  • Шаг 2: Используйте предиктор с наименьшим p-значением и отдельно добавьте одну переменную. Вы регрессируете константу, лучший предсказатель первого шага и третьей переменной. Вы добавляете к пошаговой модели новые предикторы со значением ниже порога входа. Если ни одна из переменных не имеет значения p ниже 0,1, алгоритм останавливается, и у вас есть окончательная модель только с одним предиктором. Вы регрессируете пошаговую модель, чтобы проверить значимость лучших предикторов шага 1. Если он выше порога удаления, вы сохраняете его в пошаговой модели. В противном случае вы его исключаете.
  • Шаг 3: вы повторяете шаг 2 на новой лучшей пошаговой модели. Алгоритм добавляет предикторы в пошаговую модель на основе вводимых значений и исключает предиктор из пошаговой модели, если он не удовлетворяет порогу исключения.
  • Алгоритм продолжается до тех пор, пока никакая переменная не может быть добавлена ​​или исключена.

Вы можете выполнить алгоритм с помощью функции ols_stepwise () из пакета olsrr.

ols_stepwise(fit, pent = 0.1, prem = 0.3, details = FALSE)

arguments:

-fit: Model to fit. Need to use `lm()`before to run `ols_stepwise()-pent: Threshold of the p-value used to enter a variable into the stepwise model. By default, 0.1-prem: Threshold of the p-value used to exclude a variable into the stepwise model. By default, 0.3-details: Print the details of each step

Перед этим мы покажем вам шаги алгоритма. Ниже представлена ​​таблица с зависимыми и независимыми переменными:

Зависимая переменная

Независимые переменные

миль на галлон

дисп

л.с.

тряпка

вес

qsec

Начинать

Для начала алгоритм запускается с запуска модели для каждой независимой переменной отдельно. В таблице показано значение p для каждой модели.

## [[1]]## (Intercept) disp## 3.576586e-21 9.380327e-10#### [[2]]## (Intercept) hp## 6.642736e-18 1.787835e-07#### [[3]]## (Intercept) drat## 0.1796390847 0.0000177624#### [[4]]## (Intercept) wt## 8.241799e-19 1.293959e-10#### [[5]## (Intercept) qsec## 0.61385436 0.01708199

Чтобы войти в модель, алгоритм сохраняет переменную с наименьшим p-значением. Из вышеприведенного вывода это wt

Шаг 1

На первом этапе алгоритм запускает mpg для wt и других переменных независимо.

## [[1]]## (Intercept) wt disp## 4.910746e-16 7.430725e-03 6.361981e-02#### [[2]]## (Intercept) wt hp## 2.565459e-20 1.119647e-06 1.451229e-03#### [[3]]## (Intercept) wt drat## 2.737824e-04 1.589075e-06 3.308544e-01#### [[4]]## (Intercept) wt qsec## 7.650466e-04 2.518948e-11 1.499883e-03

Каждая переменная является потенциальным кандидатом для включения в окончательную модель. Однако алгоритм сохраняет только переменную с меньшим p-значением. Оказывается, у hp немного ниже p-value, чем у qsec. Таким образом, HP входит в финальную модель.

Шаг 2

Алгоритм повторяет первый шаг, но на этот раз с двумя независимыми переменными в окончательной модели.

## [[1]]## (Intercept) wt hp disp## 1.161936e-16 1.330991e-03 1.097103e-02 9.285070e-01#### [[2]]## (Intercept) wt hp drat## 5.133678e-05 3.642961e-04 1.178415e-03 1.987554e-01#### [[3]]## (Intercept) wt hp qsec## 2.784556e-03 3.217222e-06 2.441762e-01 2.546284e-01

Ни одна из переменных, вошедших в окончательную модель, не имеет достаточно низкого значения p. Алгоритм здесь останавливается; у нас есть финальная модель:

#### Call:## lm(formula = mpg ~ wt + hp, data = df)#### Residuals:## Min 1Q Median 3Q Max## -3.941 -1.600 -0.182 1.050 5.854#### Coefficients:## Estimate Std. Error t value Pr(>|t|)## (Intercept) 37.22727 1.59879 23.285 < 2e-16 ***## wt -3.87783 0.63273 -6.129 1.12e-06 ***## hp -0.03177 0.00903 -3.519 0.00145 **## ---## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1#### Residual standard error: 2.593 on 29 degrees of freedom## Multiple R-squared: 0.8268, Adjusted R-squared: 0.8148## F-statistic: 69.21 on 2 and 29 DF, p-value: 9.109e-12 

Вы можете использовать функцию ols_stepwise () для сравнения результатов.

stp_s <-ols_stepwise(fit, details=TRUE)

Выход:

Алгоритм находит решение после 2 шагов и возвращает тот же результат, что и раньше.

В конце вы можете сказать, что модели объясняются двумя переменными и точкой пересечения. Миля на галлон отрицательно коррелирует с полной мощностью и массой.

## You are selecting variables based on p value… ## 1 variable(s) added… .## Variable Selection Procedure## Dependent Variable: mpg#### Stepwise Selection: Step 1#### Variable wt Entered#### Model Summary## --------------------------------------------------------------## R 0.868 RMSE 3.046## R-Squared 0.753 Coef. Var 15.161## Adj. R-Squared 0.745 MSE 9.277## Pred R-Squared 0.709 MAE 2.341## --------------------------------------------------------------## RMSE: Root Mean Square Error## MSE: Mean Square Error## MAE: Mean Absolute Error## ANOVA## --------------------------------------------------------------------## Sum of## Squares DF Mean Square F Sig.## --------------------------------------------------------------------## Regression 847.725 1 847.725 91.375 0.0000## Residual 278.322 30 9.277## Total 1126.047 31## --------------------------------------------------------------------#### Parameter Estimates## ----------------------------------------------------------------------------------------## model Beta Std. Error Std. Beta t Sig lower upper## ----------------------------------------------------------------------------------------## (Intercept) 37.285 1.878 19.858 0.000 33.450 41.120## wt -5.344 0.559 -0.868 -9.559 0.000 -6.486 -4.203## ----------------------------------------------------------------------------------------## 1 variable(s) added… ## Stepwise Selection: Step 2#### Variable hp Entered#### Model Summary## --------------------------------------------------------------## R 0.909 RMSE 2.593## R-Squared 0.827 Coef. Var 12.909## Adj. R-Squared 0.815 MSE 6.726## Pred R-Squared 0.781 MAE 1.901## --------------------------------------------------------------## RMSE: Root Mean Square Error## MSE: Mean Square Error## MAE: Mean Absolute Error## ANOVA## --------------------------------------------------------------------## Sum of## Squares DF Mean Square F Sig.## --------------------------------------------------------------------## Regression 930.999 2 465.500 69.211 0.0000## Residual 195.048 29 6.726## Total 1126.047 31## --------------------------------------------------------------------#### Parameter Estimates## ----------------------------------------------------------------------------------------## model Beta Std. Error Std. Beta t Sig lower upper## ----------------------------------------------------------------------------------------## (Intercept) 37.227 1.599 23.285 0.000 33.957 40.497## wt -3.878 0.633 -0.630 -6.129 0.000 -5.172 -2.584## hp -0.032 0.009 -0.361 -3.519 0.001 -0.050 -0.013## ----------------------------------------------------------------------------------------## No more variables to be added or removed.

Машинное обучение

Машинное обучение становится широко распространенным среди специалистов по обработке данных и используется в сотнях продуктов, которые вы используете ежедневно. Одним из первых приложений машинного обучения был спам-фильтр .

Ниже приведены другие приложения машинного обучения.

  • Выявление нежелательных спам-сообщений в электронной почте
  • Сегментация поведения клиентов для таргетированной рекламы
  • Уменьшение количества мошеннических операций с кредитными картами
  • Оптимизация использования энергии в доме и офисе
  • Распознавание лиц

Контролируемое обучение

При обучении с учителем обучающие данные, которые вы вводите в алгоритм, включают метку.

Классификация , вероятно, является наиболее часто используемым методом обучения с учителем. Одной из первых задач классификации, которую взяли на себя исследователи, был спам-фильтр. Цель обучения - предсказать, классифицируется ли электронное письмо как спам или «ветчина» (хорошая электронная почта). После этапа обучения машина может определить класс электронной почты.

Регрессии обычно используются в области машинного обучения для прогнозирования непрерывной стоимости. Задача регрессии может предсказать значение зависимой переменной на основе набора независимых переменных (также называемых предикторами или регрессорами). Например, линейная регрессия может предсказывать курс акций, прогноз погоды, продажи и так далее.

Вот список некоторых фундаментальных алгоритмов контролируемого обучения.

  • Линейная регрессия
  • Логистическая регрессия
  • Ближайшие соседи
  • Машина опорных векторов (SVM)
  • Деревья решений и случайный лес
  • Нейронные сети

Обучение без учителя

При обучении без учителя данные обучения не маркируются. Система пытается учиться без ссылки. Ниже приведен список алгоритмов обучения без учителя.

  • K-среднее
  • Иерархический кластерный анализ
  • Максимизация ожиданий
  • Визуализация и уменьшение размерности
  • Анализ главных компонентов
  • Ядро PCA
  • Локально-линейное вложение

Резюме

Обычную регрессию методом наименьших квадратов можно резюмировать в таблице ниже:

Библиотека

Цель

Функция

Аргументы

основание

Вычислить линейную регрессию

lm ()

формула, данные

основание

Обобщить модель

подвести итог()

поместиться

основание

Коэффициенты отчисления

lm () $ коэффициент

основание

Остатки взыскания

lm () $ остатки

основание

Вычитать установленную стоимость

lm () $ installed.values

olsrr

Выполнить пошаговую регрессию

ols_stepwise ()

fit, pent = 0.1, prem = 0.3, details = FALSE

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