Šioje pamokoje sužinosite
- Paprasta tiesinė regresija
- Daugybinė tiesinė regresija
- Nuolatiniai kintamieji
- Veiksnių regresija
- Pakopinė regresija
- Mašininis mokymasis
- Vadovaujamasi mokymuisi
- Neprižiūrimas mokymasis
Paprasta tiesinė regresija
Tiesinė regresija atsako į paprastą klausimą: ar galite išmatuoti tikslų ryšį tarp vieno tikslinio kintamojo ir nuspėjamųjų rinkinio?
Paprasčiausias tikimybinis modelis yra tiesios linijos modelis:
kur
- y = priklausomas kintamasis
- x = nepriklausomas kintamasis
- = atsitiktinės klaidos komponentas
- = perimti
- = X koeficientas
Apsvarstykite šį planą:
Lygtis yra perėmimas. Jei x yra lygus 0, y bus lygus perėmimui, 4,77. yra linijos nuolydis. Jis nurodo, kokia proporcija y skiriasi, kai kinta x.
Norėdami apskaičiuoti optimalias reikšmes Jums naudoti metodą, vadinamą Paprastosios mažiausių kvadratų (BŽBS) . Šiuo metodu bandoma surasti parametrus, kurie sumažina klaidų sumą kvadratu, tai yra vertikalus atstumas tarp numatomų y reikšmių ir faktinių y reikšmių. Skirtumas žinomas kaip klaidos terminas .
Prieš įvertindami modelį, galite nustatyti, ar linijinis ryšys tarp y ir x yra tikėtinas, braižydami sklaidos diagramą.
Scatterplot
Norėdami paaiškinti paprastos tiesinės regresijos sampratą, naudosime labai paprastą duomenų rinkinį. Importuosime Amerikos moterų vidutinį aukštį ir svorį. Duomenų rinkinyje yra 15 stebėjimų. Norite įvertinti, ar aukštis yra teigiamai susijęs su svoriais.
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()
Išvestis:
Sklaidos diagrama rodo bendrą y tendenciją didėti, kai x didėja. Kitame etape pamatuosite, kiek padidės už kiekvieną papildomą.
Mažiausiai kvadratų sąmatos
Paprastoje OLS regresijoje apskaičiuoti yra paprasta. Tikslas nėra parodyti darinį šioje pamokoje. Parašysite tik formulę.
Norite įvertinti:
OLS regresijos tikslas yra sumažinti šią lygtį:
kur
numatoma vertė.
Sprendimas
Atkreipkite dėmesį, kad tai reiškia vidutinę x vertę
Sprendimas
R, norėdami įvertinti
beta <- cov(df$height, df$weight) / var (df$height)beta
Išvestis:
##[1] 3.45
alpha <- mean(df$weight) - beta * mean(df$height)alpha
Išvestis:
## [1] -87.51667
Beta koeficientas reiškia, kad kiekvieno papildomo ūgio svoris padidėja 3,45.
Įvertinti paprastą tiesinę lygtį rankiniu būdu nėra idealu. R suteikia tinkamą funkciją šiems parametrams įvertinti. Netrukus pamatysite šią funkciją. Prieš tai mes supažindinsime, kaip rankomis apskaičiuoti paprastą tiesinės regresijos modelį. Keliaudami duomenų mokslininku, jūs beveik arba niekada neįvertinsite paprasto tiesinio modelio. Daugeliu atvejų regresijos užduotys atliekamos daugybei vertintojų.
Daugybinė tiesinė regresija
Praktiškesnėms regresijos analizės taikymui naudojami sudėtingesni modeliai nei paprastas tiesės modelis. Tikimybinis modelis, apimantis daugiau nei vieną nepriklausomą kintamąjį, vadinamas kelių regresijos modeliais . Bendra šio modelio forma yra:
Matricos žymėjime galite perrašyti modelį:
Priklausomas kintamasis y dabar yra k nepriklausomų kintamųjų funkcija. Koeficiento vertė .
Trumpai pristatome prielaidą, kurią padarėme dėl atsitiktinės OLS klaidos :
- Vidutinis lygus 0
- Dispersija lygi
- Normalus skirstinys
- Atsitiktinės klaidos yra nepriklausomos (tikimybine prasme)
Turite išspręsti regresijos koeficientų vektorių, kurie sumažina klaidų, numatytų ir faktinių y, kvadrato sumą.
Uždaros formos tirpalas yra:
su:
- rodo matricos X transponavimą
- nurodo invertuojamą matricą
Mes naudojame „mtcars“ duomenų rinkinį. Jūs jau esate susipažinę su duomenų rinkiniu. Mūsų tikslas yra numatyti mylių vienam galonui per daugybę funkcijų.
Nuolatiniai kintamieji
Kol kas naudosite tik tęstinius kintamuosius ir atidedate kategorines ypatybes. Kintamasis am yra dvejetainis kintamasis, gaunantis vertę 1, jei pavarų dėžė yra rankinė, ir 0 - automatiniams automobiliams; vs taip pat yra dvejetainis kintamasis.
library(dplyr)df <- mtcars % > %select(-c(am, vs, cyl, gear, carb))glimpse(df)
Išvestis:
## 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…
Parametrams apskaičiuoti galite naudoti funkciją lm (). Pagrindinė šios funkcijos sintaksė yra:
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
Atminkite, kad lygtis yra tokios formos
R
- Simbolis = pakeičiamas ~
- Kiekvienas x pakeičiamas kintamojo pavadinimu
- Jei norite mesti konstantą, formulės pabaigoje pridėkite -1
Pavyzdys:
Norite įvertinti asmenų svorį pagal jų ūgį ir pajamas. Lygtis yra
R lygtis rašoma taip:
y ~ X1 + X2 +… + Xn # Su perėmimu
Taigi, mūsų pavyzdys:
- Pasverkite ~ aukštis + pajamos
Jūsų tikslas yra įvertinti mylią vienam galonui, remiantis kintamųjų rinkiniu. Įvertinti lygybė yra:
Jūs įvertinsite savo pirmąją tiesinę regresiją ir išsaugosite rezultatą tinkamame objekte.
model <- mpg~.disp + hp + drat + wtfit <- lm(model, df)fit
Kodo paaiškinimas
- modelis <- mpg ~ . disp + hp + drat + wt: laikykite modelį, kad įvertintumėte
- lm (modelis, df): įvertinkite modelį duomenų rėmeliu 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
Išvestyje nėra pakankamai informacijos apie tinkamumo kokybę. Su santraukos () funkcija galite gauti daugiau informacijos, pvz., Koeficientų reikšmę, laisvumo laipsnį ir liekanų formą.
summary(fit)
Išvestis:
## 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
Išvada iš aukščiau pateiktos lentelės išvesties
- Aukščiau pateikta lentelė įrodo, kad yra stiprus neigiamas ryšys tarp svorio ir ridos bei teigiamas santykis su drat.
- Tik kintamasis wt turi statistinį poveikį mpg. Atminkite, kad norint patikrinti hipotezę statistikoje, mes naudojame:
- H0: Statistinio poveikio nėra
- H3: Prognozė turi reikšmingą poveikį y
- Jei p reikšmė yra mažesnė nei 0,05, tai rodo, kad kintamasis yra statistiškai reikšmingas
- Koreguotas R kvadratas: dispersija paaiškinta modeliu. Jūsų modelyje modelis paaiškino 82 procentus y dispersijos. R kvadratas visada yra nuo 0 iki 1. Kuo didesnis, tuo geriau
Galite atlikti ANOVA testą, kad įvertintumėte kiekvienos funkcijos poveikį dispersijoms su funkcija anova ().
anova(fit)
Išvestis:
## 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
Labiau įprastas būdas įvertinti modelio našumą yra rodyti likutį pagal skirtingas priemones.
Funkciją plot () galite naudoti norėdami parodyti keturis grafikus:
- Likučiai ir sumontuotos vertės
- Normalus QQ grafikas: teorinė kvartilis ir standartizuoti liekanos
- „Scale-Location“: standartinių liekanų pritaikytos vertės ir kvadratinės šaknys
- Likučiai prieš svertą: Sverto ir standartizuoto liekanos
Pridedate kodą par (mfrow = c (2,2)) prieš plotą (tinka). Jei nepridėsite šios kodo eilutės, R paragins paspausti komandą Enter, kad būtų rodomas kitas grafikas.
par(mfrow=(2,2))
Kodo paaiškinimas
- (mfrow = c (2,2)): grąžinkite langą su keturiais grafikais greta.
- Pirmieji 2 prideda eilučių skaičių
- Antrame 2 pridedamas stulpelių skaičius.
- Jei rašote (mfrow = c (3,2)): sukursite 3 eilučių 2 stulpelių langą
plot(fit)
Išvestis:
Formulė lm () pateikia sąrašą, kuriame yra daug naudingos informacijos. Prie jų galite prisijungti naudodami sukurtą objektą „fit“, po kurio yra $ ženklas ir informacija, kurią norite išgauti.
- koeficientai: „tinka $ koeficientai“
- liekanos: `tinka $ liekanos`
- pritaikyta reikšmė: „fit $ fit.values“
Veiksnių regresija
Paskutiniame modelio įvertinime jūs regresuojate mpg tik ištisiniams kintamiesiems. Paprasta modeliui pridėti veiksnių kintamuosius. Prie savo modelio pridedate kintamąjį am. Svarbu įsitikinti, ar kintamasis yra veiksnio lygis, o ne ištisinis.
df <- mtcars % > %mutate(cyl = factor(cyl),vs = factor(vs),am = factor(am),gear = factor(gear),carb = factor(carb))summary(lm(model, df))
Išvestis:
#### 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 naudoja pirmąjį faktoriaus lygį kaip bazinę grupę. Turite palyginti kitos grupės koeficientus su bazine grupe.
Pakopinė regresija
Paskutinėje šios pamokos dalyje kalbama apie laipsniško regresijos algoritmą. Šio algoritmo tikslas - įtraukti ir pašalinti potencialius kandidatus į modelius ir išlaikyti tuos, kurie daro didelę įtaką priklausomam kintamajam. Šis algoritmas yra prasmingas, kai duomenų rinkinyje yra didelis numatančiųjų sąrašas. Jums nereikia rankiniu būdu pridėti ir pašalinti nepriklausomų kintamųjų. Pakopinė regresija yra sukurta tam, kad būtų atrinkti geriausi kandidatai, atitinkantys modelį.
Pažiūrėkime, kaip tai veikia. „Mtcars“ duomenų rinkinį su nuolatiniais kintamaisiais naudojate tik pedagoginei iliustracijai. Prieš pradedant analizę, naudinga nustatyti duomenų variacijas su koreliacijos matrica. „GGally“ biblioteka yra „ggplot2“ pratęsimas.
Bibliotekoje yra skirtingos funkcijos, rodančios suvestinę statistiką, pvz., Koreliacija ir visų matricos kintamųjų pasiskirstymas. Mes naudosime funkciją „ggscatmat“, tačiau jei norite gauti daugiau informacijos apie „GGally“ biblioteką, galite kreiptis į vinjetę.
Pagrindinė ggscatmat () sintaksė yra:
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
Parodysite visų kintamųjų koreliaciją ir nuspręsite, kuris bus geriausias kandidatas pirmajam laipsniškos regresijos žingsniui. Yra keletas stiprių koreliacijų tarp jūsų kintamųjų ir priklausomo kintamojo, mpg.
library(GGally)df <- mtcars % > %select(-c(am, vs, cyl, gear, carb))ggscatmat(df, columns = 1: ncol(df))
Išvestis:
Pakopinė regresija
Kintamųjų pasirinkimas yra svarbi dalis, kad atitiktų modelį. Pakopinė regresija paieškos procesą atliks automatiškai. Norėdami įvertinti, kiek galimų pasirinkimų yra duomenų rinkinyje, apskaičiuokite naudodami k yra nuspėjamųjų skaičius. Galimybių skaičius didėja priklausomai nuo kintamųjų skaičiaus. Štai kodėl jums reikia atlikti automatinę paiešką.
Turite įdiegti olsrr paketą iš CRAN. Paketo „Anaconda“ kol kas nėra. Taigi, jūs įdiegiate jį tiesiai iš komandinės eilutės:
install.packages("olsrr")
Galite suskaičiuoti visus galimybių pogrupius pagal tinkamumo kriterijus (ty R kvadratas, pakoreguotas R kvadratas, Bajeso kriterijai). Mažiausias AIC kriterijus turintis modelis bus galutinis.
library(olsrr)model <- mpg~.fit <- lm(model, df)test <- ols_all_subset(fit)plot(test)
Kodo paaiškinimas
- mpg ~ .: Sukurkite modelį įvertinti
- lm (modelis, df): paleiskite OLS modelį
- ols_all_subset (fit): Sukurkite grafikus su atitinkama statistine informacija
- diagrama (testas): braižykite grafikus
Išvestis:
Linijinės regresijos modeliuose naudojamas t testas, siekiant įvertinti nepriklausomo kintamojo statistinį poveikį priklausomam kintamajam. Tyrėjai nustatė maksimalią 10 procentų ribą, o mažesnės vertės rodo stipresnį statistinį ryšį. Pakopinės regresijos strategija yra sukonstruota aplink šį testą, siekiant įtraukti ir pašalinti potencialius kandidatus. Algoritmas veikia taip:
- 1 žingsnis: Regresuokite kiekvieną prediktorių y atskirai. Būtent, regresuokite x_1 y, x_2 - y iki x_n. Saugokite p reikšmę ir regresorių, kurio p reikšmė yra mažesnė už apibrėžtą ribą (pagal numatytuosius nustatymus - 0,1). Prognozės, kurių reikšmingumas yra mažesnis už slenkstį, bus įtrauktos į galutinį modelį. Jei nė vieno kintamojo p reikšmė nėra mažesnė už įvedimo slenkstį, algoritmas sustoja ir jūs turite savo galutinį modelį tik su konstanta.
- 2 žingsnis: naudokite numatomąją priemonę su mažiausia p verte ir pridėkite atskirai vieną kintamąjį. Regresuoji pastovią, geriausią pirmojo ir trečiojo kintamojo prognozę. Prie laipsniško modelio pridedate naujus nuspėjamuosius, kurių vertė yra mažesnė nei įvedimo riba. Jei nė vieno kintamojo p reikšmė nėra mažesnė nei 0,1, algoritmas sustoja ir jūs turite savo galutinį modelį tik su vienu nuspėjamuoju. Regresuodami laipsnišką modelį patikrinsite 1 žingsnio geriausių prognozių reikšmę. Jei jis yra didesnis už pašalinimo slenkstį, jūs jį laikysite laipsnišku modeliu. Priešingu atveju jūs jį išskiriate.
- 3 žingsnis: pakartokite 2 žingsnį naujame geriausiame laipsniškame modelyje. Algoritmas prideda nuspėjamuosius modelius pagal laipsnišką modelį, pagrįstą įvedamomis reikšmėmis, ir neįtraukia numatytojo iš laipsniško modelio, jei jis neatitinka pašalinimo ribos.
- Algoritmas tęsiasi tol, kol negalima pridėti ar neįtraukti jokio kintamojo.
Algoritmą galite atlikti naudodami ols_stepwise () funkciją iš paketo 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
Prieš tai mes jums parodysime algoritmo veiksmus. Žemiau yra lentelė su priklausomais ir nepriklausomais kintamaisiais:
Priklausomas kintamasis |
Nepriklausomi kintamieji |
---|---|
mpg |
disp |
AG |
|
dratas |
|
wt |
|
qsek |
Pradėti
Pirmiausia, algoritmas pradedamas paleidžiant modelį kiekviename nepriklausomame kintamajame atskirai. Lentelėje pateikiama kiekvieno modelio p reikšmė.
## [[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
Norint įvesti modelį, algoritmas laiko kintamąjį, kurio p reikšmė yra mažiausia. Iš minėto išėjimo jis yra masės
1 žingsnis
Pirmajame etape algoritmas mpg paleidžia wt ir kitus kintamuosius nepriklausomai.
## [[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
Kiekvienas kintamasis yra potencialus kandidatas patekti į galutinį modelį. Tačiau algoritmas išlaiko tik kintamąjį, kurio p reikšmė yra mažesnė. Pasirodo, „HP“ p vertė yra šiek tiek mažesnė nei „qsec“. Todėl hp patenka į galutinį modelį
2 žingsnis
Algoritmas pakartoja pirmąjį žingsnį, tačiau šį kartą su dviem nepriklausomais kintamaisiais galutiniame modelyje.
## [[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
Nei vieno iš kintamųjų, patekusių į galutinį modelį, p vertė nėra pakankamai maža. Čia sustoja algoritmas; mes turime galutinį 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
Norėdami palyginti rezultatus, galite naudoti funkciją ols_stepwise ().
stp_s <-ols_stepwise(fit, details=TRUE)
Išvestis:
Algoritmas suranda sprendimą po 2 žingsnių ir grąžina tą patį išvestį, kokį turėjome anksčiau.
Pabaigoje galite pasakyti, kad modeliai paaiškinami dviem kintamaisiais ir perėmimu. Mile už galoną neigiamai koreliuoja su bendrosiomis arklio galiomis ir svoriu
## 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.
Mašininis mokymasis
Mašininis mokymasis tampa plačiai paplitęs tarp duomenų mokslininkų ir yra naudojamas šimtuose produktų, kuriuos naudojate kasdien. Viena pirmųjų ML programų buvo šlamšto filtras .
Toliau pateikiama kita mašininio mokymosi programa
- Nepageidaujamų šlamšto pranešimų identifikavimas el. Paštu
- Tikslinės reklamos klientų elgsenos segmentavimas
- Apgaulingų kreditinių kortelių operacijų sumažinimas
- Energijos vartojimo namuose ir biuruose optimizavimas
- Veido atpažinimas
Vadovaujamasi mokymuisi
Be prižiūrimos mokymosi , mokymo duomenys, kuriuos maitinti į algoritmas apima etiketę.
Klasifikacija yra bene dažniausiai naudojama prižiūrimo mokymosi technika. Viena pirmųjų mokslininkų atliktų klasifikavimo užduočių buvo šlamšto filtras. Mokymosi tikslas yra numatyti, ar el. Paštas priskiriamas šlamštui ar kumpiui (geras el. Paštas). Aparatas, atlikęs mokymo žingsnį, gali aptikti el. Pašto klasę.
Mažinant mašinoje srityje nuolat naudojamos regresijos, siekiant nuspėti nuolatinę vertę. Regresinė užduotis gali prognozuoti vertės priklausomo kintamojo remiantis iš rinkinio nepriklausomų kintamųjų (taip pat vadinamų prognostinius ar regresorių). Pavyzdžiui, tiesinė regresija gali numatyti akcijų kainą, orų prognozes, pardavimus ir pan.
Štai keletas pagrindinių prižiūrimų mokymosi algoritmų sąrašas.
- Tiesinė regresija
- Logistinė regresija
- Artimiausi kaimynai
- Palaikykite „Vector Machine“ (SVM)
- Sprendimų medžiai ir atsitiktinis miškas
- Neuroniniai tinklai
Neprižiūrimas mokymasis
Be neprižiūrimą mokymosi , mokymo duomenys nežymėti. Sistema bando mokytis be nuorodos. Žemiau pateikiamas neprižiūrimų mokymosi algoritmų sąrašas.
- K-vidurkis
- Hierarchinė klasterių analizė
- Lūkesčių maksimizavimas
- Vizualizacija ir matmenų mažinimas
- Pagrindinių komponentų analizė
- Branduolio PBS
- Vietinis-tiesinis įterpimas
Santrauka
Įprastą mažiausios kvadrato formos regresiją galima apibendrinti toliau pateiktoje lentelėje:
Biblioteka |
Tikslas |
Funkcija |
Argumentai |
---|---|---|---|
bazė |
Apskaičiuokite tiesinę regresiją |
lm () |
formulė, duomenys |
bazė |
Apibendrinkite modelį |
apibendrinti () |
tinka |
bazė |
Exactract koeficientai |
lm () $ koeficientas | |
bazė |
Ištraukite liekanas |
lm () $ liekanų | |
bazė |
Išskirti pritaikytą vertę |
lm () $ pritaikyta.vertės | |
olsrr |
Vykdykite laipsnišką regresiją |
ols_stepwise () |
tinka, pent = 0,1, prem = 0,3, detalės = NETIESA |
Pastaba : Prieš pritaikydami modelį, nepamirškite transformuoti kategorinio kintamojo.