R Kroková a vícenásobná lineární regrese [Příklad krok za krokem]
Jednoduchá lineární regrese v R
Lineární regrese odpovídá na jednoduchou otázku: Dokážete změřit přesný vztah mezi jednou cílovou proměnnou a sadou prediktorů?
Nejjednodušší z pravděpodobnostních modelů je přímkový model:
kde
- y = závislá proměnná
- x = Nezávislá proměnná
-
= náhodná chybová složka
-
= zachytit
-
= Koeficient x
Zvažte následující spiknutí:
Rovnice je je odposlech. Pokud se x rovná 0, y se bude rovnat průsečíku, 4.77. je sklon čáry. Říká, v jakém poměru se mění y, když se mění x.
Pro odhad optimálních hodnot si
, použijete metodu s názvem Obyčejné nejmenší čtverce (OLS). Tato metoda se snaží najít parametry, které minimalizují součet kvadrátů chyb, tj. vertikální vzdálenost mezi předpokládanými hodnotami y a skutečnými hodnotami y. Rozdíl je známý jako chybový termín.
Než odhadnete model, můžete určit, zda je lineární vztah mezi y a x věrohodný, vynesením bodového grafu.
Bodový diagram
K vysvětlení konceptu jednoduché lineární regrese použijeme velmi jednoduchý soubor dat. Budeme importovat průměrné výšky a váhy pro americké ženy. Soubor dat obsahuje 15 pozorování. Chcete změřit, zda jsou výšky pozitivně korelovány s váhami.
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()
Výstup:
Bodový graf naznačuje obecnou tendenci pro y se zvětšovat se zvyšujícím se x. V dalším kroku budete měřit, o kolik se zvýší za každý další .
Odhady nejmenších čtverců
V jednoduché regresi OLS, výpočet si
je přímočarý. Cílem není v tomto tutoriálu ukázat odvození. Napíšete pouze vzorec.
Chcete odhadnout:
Cílem regrese OLS je minimalizovat následující rovnici:
kde
je skutečná hodnota a
je předpokládaná hodnota.
Řešení pro is
Všimněte si, že znamená průměrnou hodnotu x
Řešení pro is
V R můžete k odhadu použít funkce cov() a var(). a k odhadu můžete použít funkci mean().
beta <- cov(df$height, df$weight) / var (df$height) beta
Výstup:
##[1] 3.45
alpha <- mean(df$weight) - beta * mean(df$height) alpha
Výstup:
## [1] -87.51667
Koeficient beta znamená, že s každou další výškou se hmotnost zvýší o 3.45.
Ruční odhad jednoduché lineární rovnice není ideální. R poskytuje vhodnou funkci pro odhad těchto parametrů. Tuto funkci brzy uvidíte. Předtím si představíme, jak ručně vypočítat jednoduchý lineární regresní model. Na své cestě datového vědce jen stěží nebo nikdy neodhadnete jednoduchý lineární model. Ve většině situací jsou regresní úlohy prováděny na mnoha odhadech.
Vícenásobná lineární regrese v R
Praktičtější aplikace regresní analýzy využívají modely, které jsou složitější než jednoduchý lineární model. Pravděpodobnostní model, který zahrnuje více než jednu nezávislou proměnnou, se nazývá vícenásobné regresní modely. Obecná forma tohoto modelu je:
V maticovém zápisu můžete model přepsat:
Závisle proměnná y je nyní funkcí k nezávislých proměnných. Hodnota koeficientu určuje příspěvek nezávisle proměnné
si
.
Stručně představíme předpoklad, který jsme učinili o náhodné chybě z OLS:
- Průměr rovný 0
- Rozptyl rovný
- Normální distribuce
- Náhodné chyby jsou nezávislé (v pravděpodobnostním smyslu)
Potřebujete vyřešit , vektor regresních koeficientů, které minimalizují součet druhých mocnin chyb mezi předpokládanými a skutečnými hodnotami y.
Uzavřené řešení je:
s:
- označuje transponovat matice X
označuje invertibilní matice
Používáme datovou sadu mtcars. S datovou sadou jste již obeznámeni. Naším cílem je předpovídat míli na galon přes sadu funkcí.
Spojité proměnné v R
Prozatím budete používat pouze spojité proměnné a odložit kategorické prvky. Proměnná am je binární proměnná nabývající hodnoty 1, pokud je převodovka manuální, a 0 pro vozy s automatickou převodovkou; vs je také binární proměnná.
library(dplyr) df <- mtcars % > % select(-c(am, vs, cyl, gear, carb)) glimpse(df)
Výstup:
## Observations: 32 ## Variables: 6 ## $ mpg <dbl> 21.0, 21.0, 22.8, 21.4, 18.7, 18.1, 14.3, 24.4, 22.8, 19.... ## $ disp <dbl> 160.0, 160.0, 108.0, 258.0, 360.0, 225.0, 360.0, 146.7, 1... ## $ hp <dbl> 110, 110, 93, 110, 175, 105, 245, 62, 95, 123, 123, 180, ... ## $ drat <dbl> 3.90, 3.90, 3.85, 3.08, 3.15, 2.76, 3.21, 3.69, 3.92, 3.9... ## $ wt <dbl> 2.620, 2.875, 2.320, 3.215, 3.440, 3.460, 3.570, 3.190, 3... ## $ qsec <dbl> 16.46, 17.02, 18.61, 19.44, 17.02, 20.22, 15.84, 20.00, 2...
K výpočtu parametrů můžete použít funkci lm(). Základní syntaxe této funkce je:
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
Pamatujte, že rovnice má následující tvar
v R.
- Symbol = je nahrazen znakem ~
- Každé x je nahrazeno názvem proměnné
- Pokud chcete konstantu vypustit, přidejte na konec vzorce -1
Příklad:
Chcete odhadnout váhu jednotlivců na základě jejich výšky a příjmů. Rovnice je
Rovnice v R je napsána takto:
y ~ X1+ X2+…+Xn # Se zachycením
Takže pro náš příklad:
- Zvažte ~ výšku + výnos
Vaším cílem je odhadnout míli na galon na základě souboru proměnných. Rovnice k odhadu je:
Odhadnete svou první lineární regresi a uložíte výsledek do proloženého objektu.
model <- mpg~.disp + hp + drat + wt fit <- lm(model, df) fit
Vysvětlení kódu
- model <- mpg ~. disp + hp + drat+ wt: Uložte model pro odhad
- lm(model, df): Odhadněte model s datovým rámcem 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
Výstup neposkytuje dostatek informací o kvalitě lícování. K dalším podrobnostem, jako je význam koeficientů, stupeň volnosti a tvar reziduí, můžete přistupovat pomocí funkce Summary().
summary(fit)
Výstup:
## 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
Odvození z výše uvedené tabulky
- Výše uvedená tabulka dokazuje, že existuje silný negativní vztah mezi hmotností a počtem najetých kilometrů a pozitivní vztah k drat.
- Statistický dopad na mpg má pouze proměnná wt. Pamatujte, že k testování hypotézy ve statistice používáme:
- H0: Žádný statistický dopad
- H3: Prediktor má významný dopad na y
- Pokud je hodnota p nižší než 0.05, znamená to, že proměnná je statisticky významná
- Upravený R-squared: Rozptyl vysvětlený modelem. Ve vašem modelu model vysvětlil 82 procent rozptylu y. R na druhou je vždy mezi 0 a 1. Čím vyšší, tím lepší
Můžete spustit ANOVA test k odhadu účinku každého prvku na odchylky s funkcí anova().
anova(fit)
Výstup:
## 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
Běžnějším způsobem odhadu výkonnosti modelu je zobrazení rezidua proti různým měřením.
Pomocí funkce plot() můžete zobrazit čtyři grafy:
– Zbytkové hodnoty vs
– Normální graf QQ: Teoretický kvartil vs. standardizované rezidua
– Umístění měřítka: Proložené hodnoty vs. odmocniny standardizovaných reziduí
– Zbytky vs. Pákový efekt: Pákový efekt vs. Standardizované zbytky
Před plot(fit) přidáte kód par(mfrow=c(2,2)). Pokud tento řádek kódu nepřidáte, R vás vyzve ke stisknutí příkazu enter a zobrazí se další graf.
par(mfrow=(2,2))
Vysvětlení kódu
- (mfrow=c(2,2)): vrátí okno se čtyřmi grafy vedle sebe.
- První 2 přidávají počet řádků
- Druhá 2 přidá počet sloupců.
- Pokud napíšete (mfrow=c(3,2)): vytvoříte okno 3 řádky 2 sloupce
plot(fit)
Výstup:
Vzorec lm() vrací seznam obsahující mnoho užitečných informací. Můžete k nim přistupovat pomocí přizpůsobeného objektu, který jste vytvořili, následovaný znakem $ a informacemi, které chcete extrahovat.
– koeficienty: `fit$coefficients`
– zbytky: `fit$residuals`
– přizpůsobená hodnota: `fit$fitted.values`
Regrese faktorů v R
V posledním odhadu modelu regresujete mpg pouze na spojité proměnné. Přidání faktorových proměnných do modelu je jednoduché. Do svého modelu přidáte proměnnou am. Je důležité se ujistit, že proměnná je na úrovni faktoru a není spojitá.
df <- mtcars % > % mutate(cyl = factor(cyl), vs = factor(vs), am = factor(am), gear = factor(gear), carb = factor(carb)) summary(lm(model, df))
Výstup:
## ## 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 používá úroveň prvního faktoru jako základní skupinu. Musíte porovnat koeficienty druhé skupiny se základní skupinou.
Kroková lineární regrese v R
Poslední část tohoto tutoriálu se zabývá postupná regrese algoritmus. Účelem tohoto algoritmu je přidat a odebrat potenciální kandidáty v modelech a ponechat ty, kteří mají významný vliv na závislou proměnnou. Tento algoritmus má smysl, když datová sada obsahuje velký seznam prediktorů. Nezávislé proměnné nemusíte ručně přidávat a odebírat. Postupná regrese je navržena tak, aby vybrala nejlepší kandidáty, kteří budou odpovídat modelu.
Podívejme se v akci, jak to funguje. Datovou sadu mtcars se spojitými proměnnými používáte pouze pro pedagogickou ilustraci. Než začnete s analýzou, je dobré stanovit rozdíly mezi daty pomocí korelační matice. Knihovna GGally je rozšířením ggplot2.
Knihovna obsahuje různé funkce pro zobrazení souhrnných statistik, jako je korelace a distribuce všech proměnných v matici. Použijeme funkci ggscatmat, ale můžete se podívat na viněta pro více informací o knihovně GGally.
Základní syntaxe pro ggscatmat() je:
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
Zobrazíte korelaci pro všechny své proměnné a rozhodnete, která z nich bude nejlepšími kandidáty pro první krok postupné regrese. Mezi vašimi proměnnými a závislou proměnnou, mpg, existují určité silné korelace.
library(GGally) df <- mtcars % > % select(-c(am, vs, cyl, gear, carb)) ggscatmat(df, columns = 1: ncol(df))
Výstup:
Kroková regrese Příklad krok za krokem
Výběr proměnných je důležitou součástí pro přizpůsobení modelu. Postupná regrese provede proces vyhledávání automaticky. Chcete-li odhadnout, kolik možných možností je v datové sadě, vypočítejte kde k je počet prediktorů. Množství možností roste s počtem nezávislých proměnných. Proto je potřeba mít automatické vyhledávání.
Musíte nainstalovat balíček olsrr z CRAN. Balíček zatím není k dispozici v Anaconda. Proto jej nainstalujete přímo z příkazového řádku:
install.packages("olsrr")
Můžete vykreslit všechny podmnožiny možností pomocí kritérií shody (tj. R-kvadrát, Upravený R-kvadrát, Bayesovská kritéria). Konečným modelem bude model s nejnižšími kritérii AIC.
library(olsrr) model <- mpg~. fit <- lm(model, df) test <- ols_all_subset(fit) plot(test)
Vysvětlení kódu
- mpg ~.: Sestrojte model pro odhad
- lm(model, df): Spusťte model OLS
- ols_all_subset(fit): Sestavte grafy s relevantními statistickými informacemi
- zápletka (test): Nakreslete grafy
Výstup:
Lineární regresní modely využívají t-test odhadnout statistický dopad nezávislé proměnné na závisle proměnnou. Výzkumníci stanovili maximální práh na 10 procent, přičemž nižší hodnoty znamenají silnější statistickou vazbu. Strategie postupné regrese je postavena kolem tohoto testu pro přidání a odstranění potenciálních kandidátů. Algoritmus funguje následovně:
- Krok 1: Regrese každého prediktoru na y samostatně. Konkrétně regrese x_1 na y, x_2 na y na x_n. Uložte p-hodnota a udržujte regresor s hodnotou p nižší než definovaná prahová hodnota (výchozí 0.1). Do výsledného modelu budou přidány prediktory s významností nižší než prahová. Pokud žádná proměnná nemá p-hodnotu nižší než vstupní práh, pak se algoritmus zastaví a máte konečný model pouze s konstantou.
- Krok 2: Použijte prediktor s nejnižší p-hodnotou a přidejte samostatně jednu proměnnou. Regresujete konstantu, nejlepší prediktor prvního kroku a třetí proměnné. Do krokového modelu přidáte nové prediktory s hodnotou nižší, než je vstupní práh. Pokud žádná proměnná nemá p-hodnotu nižší než 0.1, pak se algoritmus zastaví a máte svůj konečný model pouze s jedním prediktorem. Regresujete krokový model, abyste zkontrolovali významnost nejlepších prediktorů kroku 1. Pokud je vyšší než práh odstranění, ponecháte jej v krokovém modelu. Jinak to vyloučíte.
- Krok 3: Krok 2 replikujete na nový nejlepší krokový model. Algoritmus přidává prediktory do krokového modelu na základě zadaných hodnot a vylučuje prediktor z postupného modelu, pokud nesplňuje vylučovací práh.
- Algoritmus pokračuje, dokud nelze přidat nebo vyloučit žádnou proměnnou.
Algoritmus můžete provést pomocí funkce ols_stepwise() z balíčku 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
Předtím vám ukážeme kroky algoritmu. Níže je tabulka se závislými a nezávislými proměnnými:
Závislá proměnná | Nezávislé proměnné |
---|---|
mpg | dostupný |
hp | |
krysa | |
wt | |
qsec |
Home
Algoritmus začíná spuštěním modelu na každé nezávislé proměnné samostatně. Tabulka ukazuje p-hodnotu pro každý model.
## [[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
Pro vstup do modelu algoritmus udržuje proměnnou s nejnižší p-hodnotou. Z výše uvedeného výkonu je hm
Krok 1
V prvním kroku algoritmus běží mpg na wt a ostatních proměnných nezávisle.
## [[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
Každá proměnná je potenciálním kandidátem na vstup do finálního modelu. Algoritmus však zachovává pouze proměnnou s nižší p-hodnotou. Ukázalo se, že hp má o něco nižší p-hodnotu než qsec. Proto hp vstupuje do finálního modelu
Krok 2
Algoritmus opakuje první krok, ale tentokrát se dvěma nezávislými proměnnými v konečném modelu.
## [[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
Žádná z proměnných, která vstoupila do finálního modelu, nemá dostatečně nízkou p-hodnotu. Algoritmus se zde zastaví; máme finální model:
## ## 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
K porovnání výsledků můžete použít funkci ols_stepwise().
stp_s <-ols_stepwise(fit, details=TRUE)
Výstup:
Algoritmus najde řešení po 2 krocích a vrátí stejný výstup jako předtím.
Na konci můžete říci, že modely jsou vysvětleny dvěma proměnnými a průsečíkem. Míle na galon negativně korelují s hrubou koňskou silou a hmotností
## 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.
Strojové učení
Strojové učení se stává rozšířeným mezi datovými vědci a je nasazen ve stovkách produktů, které denně používáte. Jedna z prvních aplikací ML byla spamový filtr.
Následují další aplikace strojového učení –
- Identifikace nevyžádaných spamových zpráv v e-mailu
- Segmentace chování zákazníků pro cílenou reklamu
- Snížení počtu podvodných transakcí kreditními kartami
- Optimalizace využití energie v domácí a kancelářské budově
- rozpoznávání obličejů se
Dozorované učení
In Dozorované učení, tréninková data, která předáváte algoritmu, obsahují štítek.
Klasifikace je pravděpodobně nejpoužívanější technika učení pod dohledem. Jedním z prvních klasifikačních úkolů, které výzkumníci řešili, byl spamový filtr. Cílem učení je předpovědět, zda je e-mail klasifikován jako spam nebo ham (dobrý e-mail). Stroj po tréninkovém kroku dokáže rozpoznat třídu e-mailu.
Regrese se běžně používají v oblasti strojového učení k predikci spojité hodnoty. Regresní úloha může předpovědět hodnotu a závislá proměnná na základě souboru nezávislé proměnné (také nazývané prediktory nebo regresory). Například lineární regrese mohou předpovídat cenu akcií, předpověď počasí, prodeje a tak dále.
Zde je seznam některých základních algoritmů učení pod dohledem.
- Lineární regrese
- Logistická regrese
- Nejbližší sousedé
- Support Vector Machine (SVM)
- Rozhodovací stromy a náhodný les
- Neuronové sítě
Učení bez dozoru
In Učení bez dozoru, tréninková data nejsou označena. Systém se snaží učit bez reference. Níže je uveden seznam algoritmů učení bez dozoru.
- K-střední
- Hierarchický Cluster Analýza
- Maximalizace očekávání
- Vizualizace a redukce rozměrů
- Analýza hlavních komponent
- Kernel PCA
- Lokálně-lineární vkládání
Shrnutí
- Lineární regrese odpovídá na jednoduchou otázku: Dokážete změřit přesný vztah mezi jednou cílovou proměnnou a sadou prediktorů?
- Obyčejná metoda nejmenších čtverců se snaží najít parametry, které minimalizují součet umocněných chyb, tedy vertikální vzdálenost mezi předpokládanými hodnotami y a skutečnými hodnotami y.
- Pravděpodobnostní model, který zahrnuje více než jednu nezávislou proměnnou, se nazývá vícenásobné regresní modely.
- Účelem algoritmu postupné lineární regrese je přidat a odebrat potenciální kandidáty v modelech a ponechat ty, kteří mají významný vliv na závislou proměnnou.
- Výběr proměnných je důležitou součástí pro přizpůsobení modelu. Postupná regrese provádí proces vyhledávání automaticky.
Obyčejnou regresi nejmenších čtverců lze shrnout v tabulce níže:
Knihovna | Objektivní | funkce | Argumenty |
---|---|---|---|
základna | Vypočítejte lineární regresi | lm() | vzorec, data |
základna | Shrňte model | shrnout() | fit |
základna | Extraktové koeficienty | lm()$ koeficient | |
základna | Extrahujte zbytky | lm()$zbytky | |
základna | Extrahujte přizpůsobenou hodnotu | lm()$fitted.values | |
olsrr | Spusťte postupnou regresi | ols_stepwise() | fit, pent = 0.1, prem = 0.3, detaily = FALSE |
Hodnocení: Nezapomeňte předtím transformovat kategorickou proměnnou faktorem, aby odpovídala modelu.