In deze tutorial leer je
- Eenvoudige lineaire regressie
- Meerdere lineaire regressie
- Continue variabelen
- Factoren regressie
- Stapsgewijze regressie
- Machine leren
- Leren onder toezicht
- Ongecontroleerd leren
Eenvoudige lineaire regressie
Lineaire regressie beantwoordt een eenvoudige vraag: kunt u een exacte relatie meten tussen één doelvariabelen en een reeks voorspellers?
De eenvoudigste probabilistische modellen zijn het rechtlijnige model:
waar
- y = afhankelijke variabele
- x = onafhankelijke variabele
- = willekeurige foutcomponent
- = onderscheppen
- = Coëfficiënt van x
Beschouw de volgende plot:
De vergelijking is het snijpunt. Als x gelijk is aan 0, is y gelijk aan het snijpunt, 4,77. is de helling van de lijn. Het vertelt in welke verhouding y varieert wanneer x varieert.
Om de optimale waarden van , gebruikt u een methode genaamd Ordinary Least Squares (OLS) . Deze methode probeert de parameters te vinden die de som van de gekwadrateerde fouten minimaliseren, dat wil zeggen de verticale afstand tussen de voorspelde y-waarden en de werkelijke y-waarden. Het verschil staat bekend als de foutterm .
Voordat u een schatting maakt van het model, kunt u bepalen of een lineaire relatie tussen y en x aannemelijk is door een scatterplot uit te zetten.
Scatterplot
We zullen een zeer eenvoudige dataset gebruiken om het concept van eenvoudige lineaire regressie uit te leggen. We importeren de gemiddelde hoogtes en gewichten voor Amerikaanse vrouwen. De dataset bevat 15 observaties. U wilt meten of hoogten positief gecorreleerd zijn met gewichten.
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()
Uitgang:
De scatterplot suggereert een algemene neiging van y om toe te nemen als x toeneemt. In de volgende stap meet u met hoeveel verhogingen voor elke extra.
Schattingen van de kleinste kwadraten
In een eenvoudige OLS-regressie is de berekening van eenvoudig. Het doel is niet om de afleiding in deze tutorial te laten zien. U schrijft alleen de formule.
U wilt schatten:
Het doel van de OLS-regressie is om de volgende vergelijking te minimaliseren:
waar
is de voorspelde waarde.
De oplossing voor
Merk op dat dit de gemiddelde waarde van x betekent
De oplossing voor
In R kun je de functie cov () en var () gebruiken om te schatten
beta <- cov(df$height, df$weight) / var (df$height)beta
Uitgang:
##[1] 3.45
alpha <- mean(df$weight) - beta * mean(df$height)alpha
Uitgang:
## [1] -87.51667
De bèta-coëfficiënt houdt in dat voor elke extra lengte het gewicht met 3,45 toeneemt.
Het handmatig schatten van eenvoudige lineaire vergelijkingen is niet ideaal. R biedt een geschikte functie om deze parameters te schatten. U zult deze functie binnenkort zien. Voordien zullen we introduceren hoe met de hand een eenvoudig lineair regressiemodel kan worden berekend. Tijdens je reis als datawetenschapper zul je nauwelijks of nooit een eenvoudig lineair model schatten. In de meeste situaties worden regressietaken op veel schatters uitgevoerd.
Meerdere lineaire regressie
Meer praktische toepassingen van regressieanalyse maken gebruik van modellen die complexer zijn dan het eenvoudige lineaire model. Het probabilistische model dat meer dan één onafhankelijke variabele bevat, wordt meervoudige regressiemodellen genoemd . De algemene vorm van dit model is:
In matrixnotatie kunt u het model herschrijven:
De afhankelijke variabele y is nu een functie van k onafhankelijke variabelen. De waarde van de coëfficiënt .
We introduceren kort de aanname die we hebben gemaakt over de willekeurige fout van de OLS:
- Gemiddelde gelijk aan 0
- Variantie gelijk aan
- Normale verdeling
- Willekeurige fouten zijn onafhankelijk (in probabilistische zin)
U moet de vector van regressiecoëfficiënten oplossen die de som van de gekwadrateerde fouten tussen de voorspelde en werkelijke y-waarden minimaliseren.
De oplossing in gesloten vorm is:
met:
- geeft de transponering van de matrix X aan
- geeft de inverteerbare matrix aan
We gebruiken de dataset van mtcars. U bent al bekend met de dataset. Ons doel is om de mijl per gallon te voorspellen over een reeks functies.
Continue variabelen
Voorlopig gebruik je alleen de continue variabelen en zet je categorische kenmerken opzij. De variabele am is een binaire variabele met de waarde 1 als de transmissie handmatig is en 0 voor automatische auto's; vs is ook een binaire variabele.
library(dplyr)df <- mtcars % > %select(-c(am, vs, cyl, gear, carb))glimpse(df)
Uitgang:
## 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…
U kunt de functie lm () gebruiken om de parameters te berekenen. De basissyntaxis van deze functie is:
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
Onthoud dat een vergelijking de volgende vorm heeft
in R
- Het symbool = wordt vervangen door ~
- Elke x wordt vervangen door de variabelenaam
- Als u de constante wilt laten vallen, voegt u -1 toe aan het einde van de formule
Voorbeeld:
U wilt het gewicht van individuen schatten op basis van hun lengte en omzet. De vergelijking is
De vergelijking in R is als volgt geschreven:
y ~ X1 + X2 +… + Xn # Met onderschepping
Dus voor ons voorbeeld:
- Weeg ~ hoogte + omzet
Uw doel is om de mijl per gallon te schatten op basis van een reeks variabelen. De te schatten vergelijking is:
U maakt een schatting van uw eerste lineaire regressie en slaat het resultaat op in het passende object.
model <- mpg~.disp + hp + drat + wtfit <- lm(model, df)fit
Code Verklaring
- model <- mpg ~ . disp + hp + drat + wt: Bewaar het model om te schatten
- lm (model, df): Schat het model met het dataframe 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
De output geeft onvoldoende informatie over de kwaliteit van de pasvorm. Meer details zoals de significantie van de coëfficiënten, de vrijheidsgraad en de vorm van de residuen krijg je met de functie summary ().
summary(fit)
Uitgang:
## 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
Inferentie van de bovenstaande tabeluitvoer
- Uit bovenstaande tabel blijkt dat er een sterk negatief verband bestaat tussen gewicht en kilometerstand en een positief verband met drat.
- Alleen de variabele wt heeft een statistische impact op mpg. Onthoud, om een hypothese in statistiek te testen, gebruiken we:
- H0: Geen statistische impact
- H3: De voorspeller heeft een betekenisvolle impact op y
- Als de p-waarde lager is dan 0,05, geeft dit aan dat de variabele statistisch significant is
- Aangepaste R-kwadraat: variantie verklaard door het model. In uw model verklaarde het model 82 procent van de variantie van y. R-kwadraat ligt altijd tussen 0 en 1. Hoe hoger hoe beter
U kunt de ANOVA-test uitvoeren om het effect van elk kenmerk op de varianties te schatten met de functie anova ().
anova(fit)
Uitgang:
## 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
Een meer conventionele manier om de modelprestaties te schatten, is door het residu tegen verschillende metingen weer te geven.
U kunt de functie plot () gebruiken om vier grafieken weer te geven:
- Residuen versus paswaarden
- Normale QQ-plot: theoretisch kwartiel versus gestandaardiseerde residuen
- Schaallocatie: aangepaste waarden versus vierkantswortels van de gestandaardiseerde residuen
- Residuen versus hefboomwerking: hefboomwerking versus gestandaardiseerde residuen
U voegt de code par (mfrow = c (2,2)) toe vóór plot (fit). Als u deze regel code niet toevoegt, vraagt R u om op de enter-opdracht te drukken om de volgende grafiek weer te geven.
par(mfrow=(2,2))
Code Verklaring
- (mfrow = c (2,2)): geef een venster terug met de vier grafieken naast elkaar.
- De eerste 2 telt het aantal rijen op
- De tweede 2 telt het aantal kolommen op.
- Als je schrijft (mfrow = c (3,2)): je maakt een venster met 3 rijen en 2 kolommen
plot(fit)
Uitgang:
De formule lm () retourneert een lijst met veel nuttige informatie. U kunt ze openen met het fit-object dat u hebt gemaakt, gevolgd door het $ -teken en de informatie die u wilt extraheren.
- coëfficiënten: `fit $ coëfficiënten`
- residuals: `fit $ residuals`
- aangepaste waarde: `fit $ fitted.values`
Factoren regressie
In de laatste modelschatting regressie je mpg alleen op continue variabelen. Het is eenvoudig om factorvariabelen aan het model toe te voegen. Je voegt de variabele am toe aan je model. Het is belangrijk om er zeker van te zijn dat de variabele een factorniveau is en niet continu.
df <- mtcars % > %mutate(cyl = factor(cyl),vs = factor(vs),am = factor(am),gear = factor(gear),carb = factor(carb))summary(lm(model, df))
Uitgang:
#### 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 gebruikt het eerste factorniveau als een basisgroep. U moet de coëfficiënten van de andere groep vergelijken met de basisgroep.
Stapsgewijze regressie
Het laatste deel van deze tutorial behandelt het stapsgewijze regressie- algoritme. Het doel van dit algoritme is om potentiële kandidaten in de modellen toe te voegen en te verwijderen en degenen te behouden die een significante impact hebben op de afhankelijke variabele. Dit algoritme is zinvol wanneer de dataset een grote lijst met voorspellers bevat. U hoeft de onafhankelijke variabelen niet handmatig toe te voegen en te verwijderen. De stapsgewijze regressie is gebouwd om de beste kandidaten te selecteren die bij het model passen.
Laten we eens kijken hoe het werkt. Je gebruikt de mtcars-dataset met de continue variabelen alleen voor pedagogische illustratie. Voordat u met de analyse begint, is het goed om variaties tussen de gegevens vast te stellen met een correlatiematrix. De GGally-bibliotheek is een uitbreiding van ggplot2.
De bibliotheek bevat verschillende functies om samenvattende statistieken weer te geven, zoals correlatie en distributie van alle variabelen in een matrix. We zullen de ggscatmat-functie gebruiken, maar je kunt het vignet raadplegen voor meer informatie over de GGally-bibliotheek.
De basissyntaxis voor ggscatmat () is:
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
U toont de correlatie voor al uw variabelen en beslist welke de beste kandidaten zijn voor de eerste stap van de stapsgewijze regressie. Er zijn enkele sterke correlaties tussen uw variabelen en de afhankelijke variabele mpg.
library(GGally)df <- mtcars % > %select(-c(am, vs, cyl, gear, carb))ggscatmat(df, columns = 1: ncol(df))
Uitgang:
Stapsgewijze regressie
Variabelen selecteren is een belangrijk onderdeel om in een model te passen. De stapsgewijze regressie voert het zoekproces automatisch uit. Om in te schatten hoeveel mogelijke keuzes er in de dataset zijn, bereken je met k het aantal voorspellers. Het aantal mogelijkheden wordt groter met het aantal onafhankelijke variabelen. Daarom moet u automatisch zoeken.
U moet het olsrr-pakket installeren vanuit CRAN. Het pakket is nog niet beschikbaar in Anaconda. Daarom installeert u het rechtstreeks vanaf de opdrachtregel:
install.packages("olsrr")
U kunt alle subsets van mogelijkheden plotten met de fitcriteria (dwz R-kwadraat, Aangepaste R-kwadraat, Bayesiaanse criteria). Het model met de laagste AIC-criteria zal het uiteindelijke model zijn.
library(olsrr)model <- mpg~.fit <- lm(model, df)test <- ols_all_subset(fit)plot(test)
Code Verklaring
- mpg ~ .: Construeer het model om te schatten
- lm (model, df): voer het OLS-model uit
- ols_all_subset (fit): Construeer de grafieken met de relevante statistische informatie
- plot (test): Plot de grafieken
Uitgang:
Lineaire regressiemodellen gebruiken de t-toets om de statistische impact van een onafhankelijke variabele op de afhankelijke variabele te schatten. Onderzoekers stellen de maximale drempelwaarde in op 10 procent, waarbij lagere waarden duiden op een sterkere statistische link. De strategie van de stapsgewijze regressie is opgebouwd rond deze test om potentiële kandidaten toe te voegen en te verwijderen. Het algoritme werkt als volgt:
- Stap 1: Verander elke voorspeller afzonderlijk op y. Namelijk, regressie x_1 op y, x_2 op y naar x_n. Sla de p-waarde op en houd de regressor met een p-waarde lager dan een gedefinieerde drempelwaarde (standaard 0,1). De voorspellers met een significantie lager dan de drempel worden toegevoegd aan het uiteindelijke model. Als geen enkele variabele een p-waarde heeft die lager is dan de ingevoerde drempel, stopt het algoritme en hebt u uw uiteindelijke model met alleen een constante.
- Stap 2: Gebruik de voorspeller met de laagste p-waarde en voeg afzonderlijk één variabele toe. U regresseert een constante, de beste voorspeller van stap één en een derde variabele. Je voegt aan het stapsgewijze model de nieuwe voorspellers toe met een waarde die lager is dan de instapdrempel. Als geen enkele variabele een p-waarde heeft die lager is dan 0,1, dan stopt het algoritme en heb je je uiteindelijke model met slechts één voorspeller. U regresseert het stapsgewijze model om de significantie van de beste voorspellers van stap 1 te controleren. Als deze hoger is dan de verwijderingsdrempel, houdt u deze in het stapsgewijze model. Anders sluit u het uit.
- Stap 3: U repliceert stap 2 op het nieuwe beste stapsgewijze model. Het algoritme voegt voorspellers toe aan het stapsgewijze model op basis van de ingevoerde waarden en sluit de voorspeller uit het stapsgewijze model als deze niet voldoet aan de uitsluitingsdrempel.
- Het algoritme gaat door totdat er geen variabele kan worden toegevoegd of uitgesloten.
U kunt het algoritme uitvoeren met de functie ols_stepwise () uit het olsrr-pakket.
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
Daarvoor laten we u de stappen van het algoritme zien. Hieronder staat een tabel met de afhankelijke en onafhankelijke variabelen:
Afhankelijke variabele |
Onafhankelijke variabelen |
---|---|
mpg |
disp |
hp |
|
drat |
|
gew |
|
qsec |
Begin
Om te beginnen begint het algoritme door het model op elke onafhankelijke variabele afzonderlijk uit te voeren. De tabel toont de p-waarde voor elk 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
Om het model binnen te gaan, behoudt het algoritme de variabele met de laagste p-waarde. Van de bovenstaande uitvoer is het gew
Stap 1
In de eerste stap voert het algoritme mpg op wt en de andere variabelen onafhankelijk uit.
## [[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
Elke variabele is een potentiële kandidaat om het uiteindelijke model binnen te gaan. Het algoritme behoudt echter alleen de variabele met de lagere p-waarde. Het blijkt dat hp een iets lagere p-waarde heeft dan qsec. Daarom komt hp in het definitieve model
Stap 2
Het algoritme herhaalt de eerste stap maar deze keer met twee onafhankelijke variabelen in het uiteindelijke model.
## [[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
Geen van de variabelen die in het uiteindelijke model zijn binnengekomen, heeft een p-waarde die voldoende laag is. Het algoritme stopt hier; we hebben het uiteindelijke 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
U kunt de functie ols_stepwise () gebruiken om de resultaten te vergelijken.
stp_s <-ols_stepwise(fit, details=TRUE)
Uitgang:
Het algoritme vindt een oplossing na 2 stappen en retourneert dezelfde uitvoer als voorheen.
Aan het einde kun je zeggen dat de modellen worden verklaard door twee variabelen en een intercept. Mijl per gallon is negatief gecorreleerd met bruto pk en gewicht
## 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.
Machine leren
Machine learning wordt wijdverspreid onder datawetenschappers en wordt toegepast in honderden producten die u dagelijks gebruikt. Een van de eerste ML-toepassingen was spamfilter .
Hieronder volgen andere toepassingen van Machine Learning-
- Identificatie van ongewenste spamberichten in e-mail
- Segmentering van klantgedrag voor gerichte advertenties
- Vermindering van frauduleuze creditcardtransacties
- Optimalisatie van het energieverbruik in woning- en kantoorpanden
- Gezichtsherkenning
Leren onder toezicht
Bij begeleid leren bevatten de trainingsgegevens die u aan het algoritme toevoegt een label.
Classificatie is waarschijnlijk de meest gebruikte leertechniek onder supervisie. Een van de eerste classificatietaken die onderzoekers aanpakken, was de spamfilter. Het doel van het leren is om te voorspellen of een e-mail als spam of ham (goede e-mail) wordt geclassificeerd. De machine kan na de trainingsstap de klasse van e-mail detecteren.
Regressies worden vaak gebruikt op het gebied van machine learning om continue waarde te voorspellen. Regressietaak kan de waarde van een afhankelijke variabele voorspellen op basis van een reeks onafhankelijke variabelen (ook wel voorspellers of regressoren genoemd). Lineaire regressies kunnen bijvoorbeeld een aandelenkoers, weersvoorspelling, verkopen enzovoort voorspellen.
Hier is de lijst met enkele fundamentele leeralgoritmen onder supervisie.
- Lineaire regressie
- Logistieke regressie
- Dichtstbijzijnde buren
- Ondersteuning Vector Machine (SVM)
- Beslissingsbomen en Random Forest
- Neurale netwerken
Ongecontroleerd leren
Bij leren zonder toezicht zijn de trainingsgegevens niet gelabeld. Het systeem probeert te leren zonder referentie. Hieronder vindt u een lijst met leeralgoritmen zonder toezicht.
- K-bedoel
- Hiërarchische clusteranalyse
- Verwachtingsmaximalisatie
- Visualisatie en dimensionaliteitsreductie
- Analyse van hoofdcomponenten
- Kernel PCA
- Lokaal lineaire inbedding
Overzicht
Gewone kleinste-kwadratische regressie kan worden samengevat in de onderstaande tabel:
Bibliotheek |
Objectief |
Functie |
Argumenten |
---|---|---|---|
baseren |
Bereken een lineaire regressie |
lm () |
formule, gegevens |
baseren |
Vat het model samen |
samenvatten() |
passen |
baseren |
Trek coëfficiënten uit |
lm () $ coëfficiënt | |
baseren |
Trek residuen af |
lm () $ residuen | |
baseren |
Trek de gepaste waarde uit |
lm () $ ingerichte waarden | |
olsrr |
Voer stapsgewijze regressie uit |
ols_stepwise () |
fit, pent = 0,1, prem = 0,3, details = FALSE |
Opmerking : vergeet niet om de categorische variabele eerder in factor te transformeren om in het model te passen.