I den här handledningen lär du dig
- Enkel linjär regression
- Multipel linjär regression
- Kontinuerliga variabler
- Faktorer regression
- Stegvis regression
- Maskininlärning
- Övervakat lärande
- Oövervakat lärande
Enkel linjär regression
Linjär regression svarar på en enkel fråga: Kan du mäta en exakt relation mellan en målvariabel och en uppsättning prediktorer?
Den enklaste av probabilistiska modeller är den raklinjiga modellen:
var
- y = Beroende variabel
- x = Oberoende variabel
= slumpmässig felkomponent
= fånga
= Koefficient för x
Tänk på följande plot:
Ekvationen är är avlyssningen. Om x är lika med 0 är y lika med skärningen, 4,77. är linjens lutning. Den berättar i vilken andel y som varierar när x varierar.
För att uppskatta de optimala värdena på använder du en metod som kallas OLS (Ordinary Least Squares) . Denna metod försöker hitta de parametrar som minimerar summan av de kvadrerade felen, det vill säga det vertikala avståndet mellan de förutsagda y-värdena och de faktiska y-värdena. Skillnaden kallas felterm .
Innan du uppskattar modellen kan du avgöra om ett linjärt förhållande mellan y och x är troligt genom att plotta en spridningsdiagram.
Scatterplot
Vi kommer att använda en mycket enkel dataset för att förklara begreppet enkel linjär regression. Vi importerar genomsnittliga höjder och vikter för amerikanska kvinnor. Datauppsättningen innehåller 15 observationer. Du vill mäta om höjder är positivt korrelerade med vikter.
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()
Produktion:
Spridningsdiagrammet antyder en allmän tendens för y att öka när x ökar. I nästa steg kommer du att mäta med hur mycket ökningar för varje ytterligare.
Uppskattningar av minsta kvadrater
I en enkel OLS-regression är beräkningen av enkel. Målet är inte att visa härledningen i denna handledning. Du skriver bara formeln.
Du vill uppskatta:
Målet med OLS-regressionen är att minimera följande ekvation:
var
är det förutsagda värdet.
Lösningen för
Observera att det betyder medelvärdet på x
Lösningen för
I R kan du använda funktionerna cov () och var () för att uppskatta
beta <- cov(df$height, df$weight) / var (df$height)beta
Produktion:
##[1] 3.45
alpha <- mean(df$weight) - beta * mean(df$height)alpha
Produktion:
## [1] -87.51667
Betakoefficienten innebär att vikten för varje ytterligare höjd ökar med 3,45.
Att uppskatta enkel linjär ekvation manuellt är inte perfekt. R ger en lämplig funktion för att uppskatta dessa parametrar. Du kommer snart att se den här funktionen. Innan det kommer vi att presentera hur man beräknar en enkel linjär regressionsmodell för hand. På din datavetenskapliga resa kommer du knappt eller aldrig att uppskatta en enkel linjär modell. I de flesta fall utförs regressionsuppgifter på många uppskattare.
Multipel linjär regression
Mer praktiska tillämpningar av regressionsanalys använder modeller som är mer komplexa än den enkla linjära modellen. Den probabilistiska modellen som innehåller mer än en oberoende variabel kallas multipla regressionsmodeller . Den allmänna formen för denna modell är:
I matrisnotering kan du skriva om modellen:
Den beroende variabeln y är nu en funktion av k oberoende variabler. Koefficientens värde .
Vi presenterar kort antagandet om det slumpmässiga felet i OLS:
- Medel lika med 0
- Varians lika med
- Normal distribution
- Slumpmässiga fel är oberoende (i en sannolik bemärkelse)
Du måste lösa för vektorn för regressionskoefficienter som minimerar summan av de kvadrerade felen mellan de förutsagda och faktiska y-värdena.
Den slutna lösningen är:
med:
- indikerar transponeringen av matrisen X
indikerar den inverterbara matrisen
Vi använder mtcars-datasetet. Du är redan bekant med datasetet. Vårt mål är att förutsäga milen per gallon över en uppsättning funktioner.
Kontinuerliga variabler
För tillfället kommer du bara att använda de kontinuerliga variablerna och lägga undan kategoriska funktioner. Variabeln am är en binär variabel som tar värdet 1 om överföringen är manuell och 0 för automatiska bilar; vs är också en binär variabel.
library(dplyr)df <- mtcars % > %select(-c(am, vs, cyl, gear, carb))glimpse(df)
Produktion:
## Observations: 32## Variables: 6## $ mpg21.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…
Du kan använda lm () -funktionen för att beräkna parametrarna. Den grundläggande syntaxen för denna funktion är:
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
Kom ihåg att en ekvation har följande form
i R
- Symbolen = ersätts med ~
- Varje x ersätts med variabelnamnet
- Om du vill släppa konstanten, lägg till -1 i slutet av formeln
Exempel:
Du vill uppskatta individernas vikt baserat på deras längd och intäkter. Ekvationen är
Ekvationen i R skrivs enligt följande:
y ~ X1 + X2 + ... + Xn # Med avlyssning
Så för vårt exempel:
- Väg ~ höjd + intäkter
Ditt mål är att uppskatta milen per gallon baserat på en uppsättning variabler. Ekvationen att uppskatta är:
Du kommer att uppskatta din första linjära regression och lagra resultatet i passningsobjektet.
model <- mpg~.disp + hp + drat + wtfit <- lm(model, df)fit
Kodförklaring
- modell <- mpg ~ . disp + hp + drat + wt: Lagra modellen för att uppskatta
- lm (modell, df): Uppskatta modellen med dataramen 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
Utgången ger inte tillräckligt med information om passformens kvalitet. Du kan få tillgång till mer information som koefficiensernas betydelse, graden av frihet och formen på resterna med funktionen summar ().
summary(fit)
Produktion:
## 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
Slutsats från ovanstående tabellutdata
- Ovanstående tabell visar att det finns ett starkt negativt samband mellan vikt och körsträcka och positivt förhållande med drat.
- Endast variabeln wt har en statistisk inverkan på mpg. Kom ihåg att för att testa en hypotes i statistik använder vi:
- H0: Ingen statistisk påverkan
- H3: Prediktorn har en meningsfull inverkan på y
- Om p-värdet är lägre än 0,05 anger det att variabeln är statistiskt signifikant
- Justerad R-kvadrat: Varians förklarad av modellen. I din modell förklarade modellen 82 procent av variansen av y. R kvadrat är alltid mellan 0 och 1. Ju högre desto bättre
Du kan köra ANOVA-testet för att uppskatta effekten av varje funktion på avvikelserna med funktionen anova ().
anova(fit)
Produktion:
## 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
Ett mer konventionellt sätt att uppskatta modellens prestanda är att visa resterande mot olika mått.
Du kan använda plot () -funktionen för att visa fyra grafer:
- Residuals vs Fitted värden
- Normal QQ-plot: Teoretisk kvartil vs standardiserade restprodukter
- Scale-Location: Anpassade värden mot kvadratrötter till standardiserade restprodukter
- Rester mot hävstång: Hävstång mot standardiserade rester
Du lägger till koden par (mfrow = c (2,2)) före plot (fit). Om du inte lägger till den här kodraden uppmanar R dig att trycka på Enter-kommandot för att visa nästa graf.
par(mfrow=(2,2))
Kodförklaring
- (mfrow = c (2,2)): returnera ett fönster med de fyra graferna sida vid sida.
- De första 2 lägger till antalet rader
- Den andra 2 lägger till antalet kolumner.
- Om du skriver (mfrow = c (3,2)) skapar du ett fönster med 3 rader och 2 kolumner
plot(fit)
Produktion:
Formeln lm () returnerar en lista som innehåller mycket användbar information. Du kan komma åt dem med det passande objekt du har skapat, följt av $ -tecknet och informationen du vill extrahera.
- koefficienter: "passa $ koefficienter"
- rester: "passar $ rester"
- monterat värde: "fit $ monterad. värden"
Faktorer regression
I den senaste modellberäkningen regresserar du bara mpg på kontinuerliga variabler. Det är enkelt att lägga till faktorvariabler i modellen. Du lägger till variabeln am i din modell. Det är viktigt att vara säker på att variabeln är en faktornivå och inte kontinuerlig.
df <- mtcars % > %mutate(cyl = factor(cyl),vs = factor(vs),am = factor(am),gear = factor(gear),carb = factor(carb))summary(lm(model, df))
Produktion:
#### 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 använder den första faktornivån som en basgrupp. Du måste jämföra koefficienterna för den andra gruppen mot basgruppen.
Stegvis regression
Den sista delen av denna handledning behandlar den stegvisa regressionsalgoritmen . Syftet med denna algoritm är att lägga till och ta bort potentiella kandidater i modellerna och behålla dem som har en betydande inverkan på den beroende variabeln. Denna algoritm är meningsfull när datamängden innehåller en stor lista med prediktorer. Du behöver inte lägga till och ta bort oberoende variabler manuellt. Stegvis regression är byggd för att välja de bästa kandidaterna som passar modellen.
Låt oss se i handling hur det fungerar. Du använder mtcars-datasetet med de kontinuerliga variablerna endast för pedagogisk illustration. Innan du börjar analysen är det bra att skapa variationer mellan data med en korrelationsmatris. GGally-biblioteket är en förlängning av ggplot2.
Biblioteket innehåller olika funktioner för att visa sammanfattningsstatistik som korrelation och fördelning av alla variabler i en matris. Vi kommer att använda funktionen ggscatmat, men du kan hänvisa till vinjetten för mer information om GGally-biblioteket.
Den grundläggande syntaxen för ggscatmat () är:
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
Du visar korrelationen för alla dina variabler och bestämmer vilken som ska vara de bästa kandidaterna för det första steget i stegvis regression. Det finns några starka korrelationer mellan dina variabler och den beroende variabeln, mpg.
library(GGally)df <- mtcars % > %select(-c(am, vs, cyl, gear, carb))ggscatmat(df, columns = 1: ncol(df))
Produktion:
Stegvis regression
Variabelval är en viktig del för att passa en modell. Stegvis regression utför sökningsprocessen automatiskt. För att uppskatta hur många möjliga val det finns i datasetet beräknar du med k är antalet prediktorer. Mängden möjligheter blir större med antalet oberoende variabler. Det är därför du måste göra en automatisk sökning.
Du måste installera olsrr-paketet från CRAN. Paketet är inte tillgängligt ännu i Anaconda. Därför installerar du det direkt från kommandoraden:
install.packages("olsrr")
Du kan plotta alla delmängder av möjligheter med anpassningskriterierna (t.ex. R-kvadrat, Justerat R-kvadrat, Bayesian-kriterier). Modellen med de lägsta AIC-kriterierna blir den slutliga modellen.
library(olsrr)model <- mpg~.fit <- lm(model, df)test <- ols_all_subset(fit)plot(test)
Kodförklaring
- mpg ~ .: Konstruera modellen för att uppskatta
- lm (model, df): Kör OLS-modellen
- ols_all_subset (fit): Konstruera graferna med relevant statistisk information
- plot (test): Plotta graferna
Produktion:
Linjära regressionsmodeller använder t-testet för att uppskatta den statistiska effekten av en oberoende variabel på den beroende variabeln. Forskare sätter det maximala tröskelvärdet till 10 procent, med lägre värden indikerar en starkare statistisk länk. Strategin för stegvis regression är uppbyggd kring detta test för att lägga till och ta bort potentiella kandidater. Algoritmen fungerar enligt följande:
- Steg 1: Regressera varje prediktor på y separat. Regressera nämligen x_1 på y, x_2 på y till x_n. Lagra p-värdet och behåll regressorn med ett p-värde som är lägre än ett definierat tröskelvärde (0,1 som standard). Prediktorerna med en signifikans lägre än tröskeln kommer att läggas till i den slutliga modellen. Om ingen variabel har ett p-värde som är lägre än ingångströskeln, stannar algoritmen och du har din slutliga modell med en konstant.
- Steg 2: Använd prediktorn med det lägsta p-värdet och lägg till en variabel separat. Du går tillbaka en konstant, den bästa förutsägaren för steg ett och en tredje variabel. Du lägger till den stegvisa modellen, de nya prediktorerna med ett värde som är lägre än den inmatade tröskeln. Om ingen variabel har ett p-värde som är lägre än 0,1, slutar algoritmen och du har din slutliga modell med endast en prediktor. Du regresserar den stegvisa modellen för att kontrollera betydelsen av steg 1 bästa prediktorer. Om den är högre än borttagningströskeln, behåller du den i stegvis modell. Annars utesluter du det.
- Steg 3: Du replikerar steg 2 på den nya bästa stegvisa modellen. Algoritmen lägger till prediktorer i den stegvisa modellen baserat på de inmatade värdena och utesluter prediktor från den stegvisa modellen om den inte uppfyller den uteslutande tröskeln.
- Algoritmen fortsätter tills ingen variabel kan läggas till eller uteslutas.
Du kan utföra algoritmen med funktionen ols_stepwise () från olsrr-paketet.
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
Innan dess visar vi dig algoritmens steg. Nedan finns en tabell med beroende och oberoende variabler:
Beroende variabel |
Oberoende variabler |
---|---|
mpg |
disp |
hp |
|
drat |
|
vikt |
|
qsec |
Start
Till att börja med börjar algoritmen med att köra modellen på varje oberoende variabel separat. Tabellen visar p-värdet för varje modell.
## [[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
För att komma in i modellen håller algoritmen variabeln med det lägsta p-värdet. Från ovanstående output är det vikt
Steg 1
I det första steget kör algoritmen mpg på wt och de andra variablerna oberoende.
## [[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
Varje variabel är en potentiell kandidat för att delta i den slutliga modellen. Algoritmen håller dock bara variabeln med det lägre p-värdet. Det visar sig att hp har ett något lägre p-värde än qsec. Därför går hp in i den slutliga modellen
Steg 2
Algoritmen upprepar det första steget men den här gången med två oberoende variabler i den slutliga modellen.
## [[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
Ingen av variablerna som kom in i den slutliga modellen har ett p-värde tillräckligt lågt. Algoritmen stannar här; vi har den slutliga modellen:
#### 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
Du kan använda funktionen ols_stepwise () för att jämföra resultaten.
stp_s <-ols_stepwise(fit, details=TRUE)
Produktion:
Algoritmen hittar en lösning efter två steg och returnerar samma utdata som vi hade tidigare.
I slutet kan du säga att modellerna förklaras av två variabler och en avlyssning. Mil per gallon är negativt korrelerad med bruttohästkrafter och vikt
## 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.
Maskininlärning
Maskininlärning har blivit utbredd bland datavetare och distribueras i hundratals produkter som du använder dagligen. En av de första ML-ansökningarna var skräppostfilter .
Följande är annan tillämpning av maskininlärning-
- Identifiering av oönskade skräppostmeddelanden i e-post
- Segmentering av kundbeteende för riktad reklam
- Minskning av bedrägliga kreditkortstransaktioner
- Optimering av energianvändningen i hemmet och kontorsbyggnaden
- Ansiktsigenkänning
Övervakat lärande
I övervakat lärande innehåller träningsdata du matar till algoritmen en etikett.
Klassificering är förmodligen den mest använda övervakade inlärningstekniken. En av de första klassificeringsuppgifter som forskare tacklade var skräppostfiltret. Målet med inlärningen är att förutsäga om ett e-postmeddelande klassificeras som skräppost eller skinka (bra e-post). Maskinen kan efter träningssteget upptäcka e-postklassen.
Regressioner används ofta i maskininlärningsfältet för att förutsäga kontinuerligt värde. Regressionsuppgift kan förutsäga värdet på en beroende variabel baserat på en uppsättning oberoende variabler (även kallad prediktorer eller regressorer). Till exempel kan linjära regressioner förutsäga ett aktiekurs, väderprognos, försäljning och så vidare.
Här är listan med några grundläggande övervakade inlärningsalgoritmer.
- Linjär regression
- Logistisk återgång
- Närmaste grannar
- Support Vector Machine (SVM)
- Beslutsträd och slumpmässig skog
- Neurala nätverk
Oövervakat lärande
I icke-övervakat lärande är träningsdata omärkt. Systemet försöker lära sig utan referens. Nedan följer en lista med inlärningsalgoritmer utan tillsyn.
- K-medel
- Hierarkisk klusteranalys
- Förväntningsmaximering
- Visualisering och dimensioneringsreduktion
- Huvudsaklig komponentanalys
- Kärnan PCA
- Lokalt linjär inbäddning
Sammanfattning
Vanlig minst kvadratisk regression kan sammanfattas i tabellen nedan:
Bibliotek |
Mål |
Fungera |
Argument |
---|---|---|---|
bas |
Beräkna en linjär regression |
lm () |
formel, data |
bas |
Sammanfatta modellen |
sammanfatta () |
passa |
bas |
Extrahera koefficienter |
lm () $ koefficient | |
bas |
Extrahera rester |
lm () $ rester | |
bas |
Extrahera monterat värde |
lm () $ monterad. värden | |
olsrr |
Kör stegvis regression |
ols_stepwise () |
passform, pent = 0,1, prem = 0,3, detaljer = FALSKT |
Obs! Kom ihåg att transformera kategorisk variabel i faktor innan den passar modellen.