logo

Tiesinė regresija mašininiame mokyme

Mašininis mokymasis yra dirbtinio intelekto šaka, kurioje pagrindinis dėmesys skiriamas algoritmų ir statistinių modelių kūrimui, kurie gali mokytis iš duomenų ir daryti prognozes. Tiesinė regresija taip pat yra mašininio mokymosi algoritmo tipas, tiksliau a prižiūrimas mašininio mokymosi algoritmas kuri mokosi iš pažymėtų duomenų rinkinių ir susieja duomenų taškus į labiausiai optimizuotas tiesines funkcijas. kuriuos galima naudoti numatant naujus duomenų rinkinius.

Pirmiausia turėtume žinoti, kas yra prižiūrimi mašininio mokymosi algoritmai. Tai mašininio mokymosi tipas, kai algoritmas mokosi iš pažymėtų duomenų. Pažymėti duomenys reiškia duomenų rinkinį, kurio atitinkama tikslinė vertė jau žinoma. Prižiūrimas mokymasis yra dviejų tipų:

  • klasifikacija : Jis numato duomenų rinkinio klasę pagal nepriklausomą įvesties kintamąjį. Klasė yra kategoriškos arba atskiros vertės. kaip gyvūno vaizdas yra katė ar šuo?
  • Regresija : Jis numato nuolatinius išvesties kintamuosius pagal nepriklausomą įvesties kintamąjį. kaip būsto kainų prognozavimas pagal įvairius parametrus, pvz., namo amžių, atstumą nuo pagrindinio kelio, vietą, plotą ir kt.

Čia aptarsime vieną iš paprasčiausių regresijos tipų t.y. Tiesinė regresija.



Turinys

Kas yra tiesinė regresija?

Tiesinė regresija yra tam tikra rūšis prižiūrimas mašininis mokymasis algoritmas, apskaičiuojantis tiesinį ryšį tarp priklausomo kintamojo ir vieno ar daugiau nepriklausomų požymių, pritaikant tiesinę lygtį prie stebimų duomenų.

Kai yra tik viena nepriklausoma savybė, ji vadinama Paprasta tiesinė regresija , o kai yra daugiau nei viena funkcija, ji vadinama Daugkartinė tiesinė regresija .

usa kiek miestų

Panašiai, kai yra tik vienas priklausomas kintamasis, jis laikomas Vienamatė tiesinė regresija , o kai yra daugiau nei vienas priklausomas kintamasis, jis vadinamas Daugiamatė regresija .

Kodėl tiesinė regresija yra svarbi?

Tiesinės regresijos aiškinamumas yra nepaprasta stiprybė. Modelio lygtis pateikia aiškius koeficientus, kurie išaiškina kiekvieno nepriklausomo kintamojo įtaką priklausomam kintamajam, palengvinančią gilesnį pagrindinės dinamikos supratimą. Jo paprastumas yra privalumas, nes tiesinė regresija yra skaidri, lengvai įgyvendinama ir naudojama kaip pagrindinė sudėtingesnių algoritmų koncepcija.

Tiesinė regresija nėra tik nuspėjamoji priemonė; tai yra įvairių pažangių modelių pagrindas. Tokios technikos kaip reguliavimas ir paramos vektoriaus mašinos semiasi įkvėpimo iš tiesinės regresijos, plečiant jos naudingumą. Be to, tiesinė regresija yra kertinis prielaidų tikrinimo akmuo, leidžiantis tyrėjams patvirtinti pagrindines prielaidas apie duomenis.

Tiesinės regresijos tipai

Yra du pagrindiniai tiesinės regresijos tipai:

Paprasta tiesinė regresija

Tai paprasčiausia tiesinės regresijos forma ir apima tik vieną nepriklausomą kintamąjį ir vieną priklausomą kintamąjį. Paprastos tiesinės regresijos lygtis yra tokia:
y=eta_{0}+eta_{1}X
kur:

  • Y yra priklausomas kintamasis
  • X yra nepriklausomas kintamasis
  • β0 yra sankirta
  • β1 yra nuolydis

Daugkartinė tiesinė regresija

Tai apima daugiau nei vieną nepriklausomą kintamąjį ir vieną priklausomą kintamąjį. Daugialypės tiesinės regresijos lygtis yra tokia:
y=eta_{0}+eta_{1}X+eta_{2}X+………eta_{n}X
kur:

  • Y yra priklausomas kintamasis
  • X1, X2, …, Xp yra nepriklausomi kintamieji
  • β0 yra sankirta
  • β1, β2, …, βn yra nuolydžiai

Algoritmo tikslas yra rasti geriausia Fit Line lygtis, kuri gali numatyti reikšmes pagal nepriklausomus kintamuosius.

Regresijos atveju įrašų rinkinys yra su X ir Y reikšmėmis ir šios reikšmės naudojamos funkcijai išmokti, taigi, jei norite numatyti Y iš nežinomo X, šią išmoktą funkciją galima naudoti. Regresijoje turime rasti Y reikšmę, taigi, reikalinga funkcija, kuri numatytų tolydų Y regresijos atveju, kai X yra nepriklausomas požymis.

Kokia yra geriausia Fit Line?

Mūsų pagrindinis tikslas naudojant tiesinę regresiją yra rasti geriausiai tinkančią liniją, o tai reiškia, kad paklaida tarp numatomų ir faktinių verčių turėtų būti kuo mažesnė. Geriausiai tinkančioje eilutėje bus mažiausiai klaidų.

Geriausia Fit Line lygtis pateikia tiesią liniją, kuri parodo priklausomų ir nepriklausomų kintamųjų ryšį. Linijos nuolydis rodo, kiek priklausomasis kintamasis pasikeičia, kai nepriklausomo kintamojo (-ių) vienetas pasikeičia.

Tiesinė regresija mašininiame mokyme

Tiesinė regresija


Čia Y vadinamas priklausomu arba tiksliniu kintamuoju, o X vadinamas nepriklausomu kintamuoju, taip pat žinomu kaip Y prognozės veiksnys. Yra daug funkcijų arba modulių, kuriuos galima naudoti regresijai. Linijinė funkcija yra paprasčiausias funkcijos tipas. Čia X gali būti viena ypatybė arba kelios problemą nurodančios funkcijos.

Tiesinė regresija atlieka užduotį numatyti priklausomo kintamojo reikšmę (y), remiantis duotu nepriklausomu kintamuoju (x)). Taigi pavadinimas yra tiesinė regresija. Aukščiau esančiame paveikslėlyje X (input) yra darbo patirtis, o Y (output) yra asmens atlyginimas. Regresijos linija geriausiai tinka mūsų modeliui.

Mes naudojame sąnaudų funkciją, kad apskaičiuotume geriausias vertes, kad gautume geriausiai tinkančią liniją, nes skirtingos svorių ar linijų koeficiento reikšmės lemia skirtingas regresijos linijas.

Tiesinės regresijos hipotezės funkcija

Kaip manėme anksčiau, mūsų nepriklausomas požymis yra patirtis, ty X, o atitinkamas atlyginimas Y yra priklausomas kintamasis. Tarkime, kad tarp X ir Y yra tiesinis ryšys, tada atlyginimą galima numatyti naudojant:

hat{Y} = heta_1 + heta_2X

ARBA

hat{y}_i = heta_1 + heta_2x_i

Čia

  • y_i epsilon Y ;; (i= 1,2, cdots , n) yra duomenų etiketės (mokymasis prižiūrimas)
  • x_i epsilon X ;; (i= 1,2, cdots , n) yra nepriklausomi įvesties mokymo duomenys (vienamatis – vienas įvesties kintamasis (parametras))
  • hat{y_i} epsilon hat{Y} ;; (i= 1,2, cdots , n) yra numatomos vertės.

Modelis gauna geriausią regresijos liniją, radęs geriausią θ1ir θ2vertybes.

  • i 1 : perimti
  • i 2 : koeficientas x

Kai tik surasime geriausią θ1ir θ2vertes, gauname geriausiai tinkančią liniją. Taigi, kai pagaliau naudosime savo modelį numatymui, jis numatys y reikšmę x įvesties vertei.

Kaip atnaujinti θ 1 ir θ 2 vertes, kad gautumėte geriausiai tinkančią liniją?

Kad būtų pasiekta tinkamiausia regresijos linija, modeliu siekiama numatyti tikslinę vertęhat{Y} kad paklaidos skirtumas tarp numatomos vertėshat{Y} o tikroji vertė Y yra minimali. Taigi, labai svarbu atnaujinti θ1ir θ2reikšmes, kad būtų pasiekta geriausia reikšmė, kuri sumažina numatytos y vertės (pred) ir tikrosios y reikšmės (y) paklaidą.

minimizefrac{1}{n}sum_{i=1}^{n}(hat{y_i}-y_i)^2

Tiesinės regresijos sąnaudų funkcija

The kaštų funkcija arba praradimo funkcija yra ne kas kita, kaip numatomos vertės klaida arba skirtumashat{Y} ir tikroji vertė Y.

Taikant tiesinę regresiją, Vidutinė kvadrato klaida (MSE) naudojama kaštų funkcija, kuri apskaičiuoja kvadratinių klaidų vidurkį tarp numatytų verčiųhat{y}_i ir faktines vertes{y}_i . Tikslas yra nustatyti optimalias pertraukos vertes heta_1 ir įvesties požymio koeficientas heta_2 nurodant tinkamiausią liniją nurodytiems duomenų taškams. Šį ryšį išreiškianti tiesinė lygtis yrahat{y}_i = heta_1 + heta_2x_i .

MSE funkciją galima apskaičiuoti taip:

ext{Cost function}(J) = frac{1}{n}sum_{n}^{i}(hat{y_i}-y_i)^2

Naudojant MSE funkciją, iteracinis gradiento nusileidimo procesas taikomas norint atnaujinti reikšmes heta_1 & heta_2 . Tai užtikrina, kad MSE reikšmė susilieja su visuotiniais minimumais, o tai reiškia tiksliausią tiesinės regresijos linijos atitikimą duomenų rinkiniui.

Šis procesas apima nuolatinį parametrų ( heta_1) ir ( heta_2) koregavimą pagal gradientus, apskaičiuotus iš MSE. Galutinis rezultatas yra tiesinė regresijos linija, kuri sumažina bendrus skirtumus tarp numatytų ir faktinių verčių kvadratu ir optimaliai atvaizduoja pagrindinį duomenų ryšį.

Gradiento nusileidimas tiesinei regresijai

Linijinės regresijos modelis gali būti mokomas naudojant optimizavimo algoritmą gradiento nusileidimas iteratyviai modifikuodami modelio parametrus, kad sumažintumėte vidutinė kvadratinė paklaida (MSE) modelio treniruočių duomenų rinkinyje. Norėdami atnaujinti θ1ir θ2reikšmes, kad sumažintų kaštų funkciją (sumažindama RMSE vertę) ir pasiektų geriausiai tinkančią liniją, modelis naudoja gradiento nusileidimą. Idėja yra pradėti nuo atsitiktinio θ1ir θ2vertes, o tada pakartotinai atnaujinkite vertes, pasiekdami minimalias išlaidas.

bourne vėl apvalkalas

Gradientas yra ne kas kita, o išvestinė, kuri apibrėžia funkcijos išvesties poveikį, šiek tiek keičiant įvestis.

Atskirkime sąnaudų funkciją (J) atsižvelgiant į heta_1

egin {aligned} {J}’_{ heta_1} &=frac{partial J( heta_1, heta_2)}{partial heta_1} &= frac{partial}{partial heta_1} left[frac{1}{n} left(sum_{i=1}^{n}(hat{y}_i-y_i)^2 ight ) ight] &= frac{1}{n}left[sum_{i=1}^{n}2(hat{y}_i-y_i) left(frac{partial}{partial heta_1}(hat{y}_i-y_i) ight ) ight] &= frac{1}{n}left[sum_{i=1}^{n}2(hat{y}_i-y_i) left(frac{partial}{partial heta_1}( heta_1 + heta_2x_i-y_i) ight ) ight] &= frac{1}{n}left[sum_{i=1}^{n}2(hat{y}_i-y_i) left(1+0-0 ight ) ight] &= frac{1}{n}left[sum_{i=1}^{n}(hat{y}_i-y_i) left(2 ight ) ight] &= frac{2}{n}sum_{i=1}^{n}(hat{y}_i-y_i) end {aligned}

Atskirkime sąnaudų funkciją (J) atsižvelgiant į heta_2

egin {aligned} {J}’_{ heta_2} &=frac{partial J( heta_1, heta_2)}{partial heta_2} &= frac{partial}{partial heta_2} left[frac{1}{n} left(sum_{i=1}^{n}(hat{y}_i-y_i)^2 ight ) ight] &= frac{1}{n}left[sum_{i=1}^{n}2(hat{y}_i-y_i) left(frac{partial}{partial heta_2}(hat{y}_i-y_i) ight ) ight] &= frac{1}{n}left[sum_{i=1}^{n}2(hat{y}_i-y_i) left(frac{partial}{partial heta_2}( heta_1 + heta_2x_i-y_i) ight ) ight] &= frac{1}{n}left[sum_{i=1}^{n}2(hat{y}_i-y_i) left(0+x_i-0 ight ) ight] &= frac{1}{n}left[sum_{i=1}^{n}(hat{y}_i-y_i) left(2x_i ight ) ight] &= frac{2}{n}sum_{i=1}^{n}(hat{y}_i-y_i)cdot x_i end {aligned}

Tiesinės regresijos tikslas yra rasti tiesinės lygties, kuri geriausiai atitinka mokymo duomenis, koeficientus. Judant vidutinės kvadratinės klaidos neigiamo gradiento kryptimi koeficientų atžvilgiu, koeficientus galima keisti. O atitinkama X pertrauka ir koeficientas bus jeialpha yra mokymosi greitis.

Gradiento nusileidimas

egin{aligned} heta_1 &= heta_1 – alpha left( {J}’_{ heta_1} ight) &= heta_1 -alpha left( frac{2}{n}sum_{i=1}^{n}(hat{y}_i-y_i) ight) end{aligned} egin{aligned} heta_2 &= heta_2 – alpha left({J}’_{ heta_2} ight) &= heta_2 – alpha left(frac{2}{n}sum_{i=1}^{n}(hat{y}_i-y_i)cdot x_i ight) end{aligned}

Paprastosios tiesinės regresijos prielaidos

Tiesinė regresija yra galinga priemonė suprasti ir numatyti kintamojo elgesį, tačiau ji turi atitikti keletą sąlygų, kad būtų tikslūs ir patikimi sprendimai.

  1. Tiesiškumas : nepriklausomi ir priklausomi kintamieji turi tiesinį ryšį vienas su kitu. Tai reiškia, kad priklausomo kintamojo pokyčiai linijiniu būdu seka nepriklausomo (-ių) kintamojo (-ų) pokyčius. Tai reiškia, kad turi būti tiesi linija, kurią būtų galima nubrėžti per duomenų taškus. Jei ryšys nėra tiesinis, tai tiesinė regresija nebus tikslus modelis.
  2. Nepriklausomybė : duomenų rinkinio stebėjimai nepriklauso vienas nuo kito. Tai reiškia, kad vieno stebėjimo priklausomo kintamojo reikšmė nepriklauso nuo kito stebėjimo priklausomo kintamojo reikšmės. Jei stebėjimai nėra nepriklausomi, tiesinė regresija nebus tikslus modelis.
  3. Homoscedastiškumas : Visuose nepriklausomo kintamojo (-ių) lygiuose klaidų dispersija yra pastovi. Tai rodo, kad nepriklausomo (-ių) kintamojo (-ų) dydis neturi įtakos klaidų dispersijai. Jei likučių dispersija nėra pastovi, tai tiesinė regresija nebus tikslus modelis.

    Homoscedastiškumas tiesine regresija

  4. Normalumas : Likučiai turi būti pasiskirstę normaliai. Tai reiškia, kad likučiai turi atitikti varpo formos kreivę. Jei likučiai nėra normaliai pasiskirstę, tiesinė regresija nebus tikslus modelis.

Daugialypės tiesinės regresijos prielaidos

Daugiatiesinei regresijai taikomos visos keturios paprastosios tiesinės regresijos prielaidos. Be to, žemiau yra keletas kitų:

  1. Nėra daugiakolineariškumo : Nėra didelės koreliacijos tarp nepriklausomų kintamųjų. Tai rodo, kad tarp nepriklausomų kintamųjų yra mažai arba visai nėra koreliacijos. Daugiakolinisiškumas atsiranda, kai du ar daugiau nepriklausomų kintamųjų yra labai koreliuojami vienas su kitu, todėl gali būti sunku nustatyti individualų kiekvieno kintamojo poveikį priklausomam kintamajam. Jei yra daugiakolineariškumas, tai daugkartinė tiesinė regresija nebus tikslus modelis.
  2. Papildomumas: Modelyje daroma prielaida, kad prognozuojamojo kintamojo pokyčių poveikis atsako kintamajam yra nuoseklus, nepaisant kitų kintamųjų reikšmių. Ši prielaida reiškia, kad nėra sąveikos tarp kintamųjų jų poveikio priklausomam kintamajam.
  3. Funkcijos pasirinkimas: Taikant daugialypę tiesinę regresiją, būtina atidžiai pasirinkti nepriklausomus kintamuosius, kurie bus įtraukti į modelį. Įtraukus nesvarbius arba perteklinius kintamuosius, modelis gali būti per daug pritaikytas ir apsunkinti modelio aiškinimą.
  4. Per didelis pritaikymas: Per didelis pritaikymas įvyksta, kai modelis per daug pritaiko mokymo duomenis, užfiksuodamas triukšmą arba atsitiktinius svyravimus, kurie neatspindi tikrojo pagrindinio kintamųjų ryšio. Dėl to gali prastai apibendrinti nauji, nematyti duomenys.

Daugiakolinisiškumas

Daugiakolinisiškumas yra statistinis reiškinys, atsirandantis, kai du ar daugiau nepriklausomų kintamųjų daugialypės regresijos modelyje labai koreliuoja, todėl sunku įvertinti individualų kiekvieno kintamojo poveikį priklausomam kintamajam.

Daugiakolineariškumo aptikimas apima du būdus:

  • Koreliacijos matrica: Nepriklausomų kintamųjų koreliacijos matricos tyrimas yra įprastas būdas nustatyti daugiakolineariškumą. Didelės koreliacijos (arti 1 arba -1) rodo galimą daugiakolineariškumą.
  • VIF (dispersinės infliacijos koeficientas): VIF yra matas, kiekybiškai įvertinantis, kiek padidėja apskaičiuoto regresijos koeficiento dispersija, jei jūsų prognozės yra koreliuojamos. Aukštas VIF (paprastai didesnis nei 10) rodo daugiakolineariškumą.

Tiesinės regresijos vertinimo metrika

Įvairių vertinimo priemones gali būti naudojamas bet kurio tiesinės regresijos modelio stiprumui nustatyti. Šios vertinimo metrikos dažnai parodo, kaip gerai modelis sukuria stebimus rezultatus.

Dažniausi matavimai yra šie:

Vidutinė kvadratinė klaida (MSE)

Vidutinė kvadrato klaida (MSE) yra vertinimo metrika, apskaičiuojanti visų duomenų taškų faktinių ir numatomų verčių skirtumų kvadratu vidurkį. Skirtumas padalytas į kvadratą, siekiant užtikrinti, kad neigiami ir teigiami skirtumai nepanaikintų vienas kito.

MSE = frac{1}{n}sum_{i=1}^{n}left ( y_i – widehat{y_{i}} ight )^2

Čia

  • n yra duomenų taškų skaičius.
  • iriyra faktinė arba stebima i vertėthduomenų taškas.
  • widehat{y_{i}} yra numatoma i reikšmėthduomenų taškas.

MSE yra būdas kiekybiškai įvertinti modelio prognozių tikslumą. MSE yra jautrus nuokrypiams, nes didelės klaidos labai prisideda prie bendro balo.

Vidutinė absoliuti klaida (MAE)

Vidutinė absoliuti klaida yra vertinimo metrika, naudojama regresijos modelio tikslumui apskaičiuoti. MAE matuoja vidutinį absoliutų skirtumą tarp numatomų ir faktinių verčių.

Matematiškai MAE išreiškiamas taip:

MAE =frac{1}{n} sum_{i=1}^{n}|Y_i – widehat{Y_i}|

Čia

  • n yra stebėjimų skaičius
  • IRiparodo tikrąsias vertes.
  • widehat{Y_i} reiškia numatomas vertes

Mažesnė MAE reikšmė rodo geresnį modelio veikimą. Jis nėra jautrus nuokrypiams, nes atsižvelgiame į absoliučius skirtumus.

Šaknies vidurkio kvadrato klaida (RMSE)

Likučių dispersijos kvadratinė šaknis yra Šaknies vidurkio kvadrato klaida . Jame aprašoma, kaip stebimi duomenų taškai atitinka numatomas vertes arba modelio absoliučią atitiktį duomenims.


Matematiniu žymėjimu jis gali būti išreikštas taip:
RMSE=sqrt{frac{RSS}{n}}=sqrtfrac{{{sum_{i=2}^{n}(y^{actual}_{i}}- y_{i}^{predicted})^2}}{n}
Užuot padalinus visą modelio duomenų taškų skaičių iš laisvės laipsnių skaičiaus, reikia padalyti likučių kvadratu sumą, kad gautume nešališką įvertinimą. Tada šis skaičius vadinamas likutine standartine klaida (RSE).

Matematiniu žymėjimu jis gali būti išreikštas taip:
RMSE=sqrt{frac{RSS}{n}}=sqrtfrac{{{sum_{i=2}^{n}(y^{actual}_{i}}- y_{i}^{predicted})^2}}{(n-2)}

RSME nėra tokia gera metrika kaip R kvadratas. Vidutinio kvadratinio dydžio klaida gali svyruoti, kai kintamųjų vienetai skiriasi, nes jos reikšmė priklauso nuo kintamųjų vienetų (tai nėra normalizuotas matas).

kaip iškviesti metodą java

Nustatymo koeficientas (R kvadratas)

R kvadratas yra statistika, rodanti, kiek variacijų sukurtas modelis gali paaiškinti ar užfiksuoti. Jis visada yra intervale nuo 0 iki 1. Apskritai, kuo geriau modelis atitinka duomenis, tuo didesnis R kvadrato skaičius.
Matematiniu žymėjimu jis gali būti išreikštas taip:
R^{2}=1-(^{frac{RSS}{TSS}})

  • Likutinė kvadratų suma (RSS): The kiekvieno sklypo ar duomenų taško likutinės kvadratų suma yra žinoma kaip likutinė kvadratų suma arba RSS. Tai skirtumo tarp pastebėtos ir numatytos produkcijos matavimas.
    RSS=sum_{i=2}^{n}(y_{i}-b_{0}-b_{1}x_{i})^{2}
  • Bendra kvadratų suma (TSS): Duomenų taškų klaidų suma iš atsakymo kintamojo vidurkio yra žinoma kaip bendra kvadratų suma arba TSS.
    TSS= sum_{}^{}(y-overline{y_{i}})^2

R kvadratinė metrika yra priklausomo kintamojo dispersijos proporcijos matas, paaiškinamas nepriklausomiems kintamiesiems modelyje.

Pakoreguota R kvadrato klaida

Patikslintas R2matuoja priklausomo kintamojo dispersijos proporciją, kuri regresijos modelyje paaiškinama nepriklausomais kintamaisiais. Sureguliuotas R kvadratas atsižvelgia į modelio prognozių skaičių ir bausti modelį už nesvarbius prognozuotojus, kurie reikšmingai nepadeda paaiškinti priklausomų kintamųjų dispersijos.

Matematiškai pakoreguota R2išreiškiamas taip:

Adjusted , R^2 = 1 – (frac{(1-R^2).(n-1)}{n-k-1})

Čia

  • n yra stebėjimų skaičius
  • k – prognozių skaičius modelyje
  • R2yra ryžto koeficientas

Sureguliuotas R kvadratas padeda išvengti per didelio pritaikymo. Tai nubausti modelį su papildomais prognozatoriais, kurie reikšmingai nepadeda paaiškinti priklausomo kintamojo dispersijos.

Python tiesinės regresijos įgyvendinimas

Importuokite reikalingas bibliotekas:

Python3 import pandas as pd import numpy as np import matplotlib.pyplot as plt import matplotlib.axes as ax from matplotlib.animation import FuncAnimation>

Įkelkite duomenų rinkinį ir atskirkite įvesties bei tikslinius kintamuosius

Čia yra duomenų rinkinio nuoroda: Duomenų rinkinio nuoroda

Python3 url = 'https://media.techcodeview.com data = pd.read_csv(url) data # Drop the missing values data = data.dropna() # training dataset and labels train_input = np.array(data.x[0:500]).reshape(500, 1) train_output = np.array(data.y[0:500]).reshape(500, 1) # valid dataset and labels test_input = np.array(data.x[500:700]).reshape(199, 1) test_output = np.array(data.y[500:700]).reshape(199, 1)>

Sukurkite tiesinės regresijos modelį ir nubrėžkite regresijos liniją

Žingsniai:

  • Sklindant pirmyn, taikoma tiesinės regresijos funkcija Y=mx+c, iš pradžių priskiriant atsitiktinę parametro reikšmę (m & c).
  • Mes parašėme funkciją, kad surastume išlaidų funkciją, ty vidurkį
Python3Python3 #Pavyzdys naudojimo linijinis_reg = LinearRegression() parametrai, loss = linear_reg.train(traukinio_įvestis, traukinio_išvestis, 0,0001, 20) Išvestis : iteracija = 1, nuostoliai = 9130.407560462196 Iteracija = 11,9 Iteracija = 911,9 Iteracija = 9 8 pokytis = 1, nuostoliai = 140,31580932842422 Iteracija = 1, nuostoliai = 23,795780526084116 Iteracija = 2, nuostoliai = 9,753848205147605 Iteracija = 3, nuostoliai = 8,061641745006835 Iteracija = 4, nuostoliai = Iteracija = 4, nuostoliai = 7,86 = 79118,5 8331350515579015 Iteracija = 6, nuostoliai = 7,830172502503967 Iteracija = 7, nuostoliai = 7,829814681591015 Iteracija = 8 , nuostoliai = 7,829770758846183 Iteracija = 9, nuostoliai = 7,829764664327399 Iteracija = 10, nuostoliai = 7,829763128602258 Iteracija = 11, nuostoliai = 7,81 8 = 262,8 829761222379141 Iteracija = 13, nuostoliai = 7,829760310486438 Iteracija = 14, nuostoliai = 7,829759399646989 Iteracija = 15, Nuostoliai = 7,829758489015161 Iteracija = 16, nuostoliai = 7,829757578489033 Iteracija = 17, nuostoliai = 7,829756668056319 Iteracija = 18, nuostoliai = 7,827 = 57,1,8 =575,9 29754847466484 Iteracija = 20, nuostoliai = 7,829753937309139 Tiesinės regresijos linija Tiesinės regresijos linija suteikia vertingų įžvalgų apie ryšį tarp dviejų kintamųjų. Tai geriausiai tinkanti linija, fiksuojanti bendrą tendenciją, kaip priklausomas kintamasis (Y) keičiasi reaguojant į nepriklausomo kintamojo (X) pokyčius. Teigiama tiesinės regresijos linija : teigiama tiesinės regresijos linija rodo tiesioginį ryšį tarp nepriklausomo kintamojo (X) ir priklausomo kintamojo (Y). Tai reiškia, kad didėjant X reikšmei, didėja ir Y reikšmė. Teigiamos tiesinės regresijos linijos nuolydis yra teigiamas, tai reiškia, kad linija pasvirusi aukštyn iš kairės į dešinę. Neigiama tiesinės regresijos linija : neigiama tiesinės regresijos linija rodo atvirkštinį ryšį tarp nepriklausomo kintamojo (X) ir priklausomo kintamojo (Y). Tai reiškia, kad didėjant X reikšmei, Y reikšmė mažėja. Neigiamos tiesinės regresijos linijos nuolydis yra neigiamas, o tai reiškia, kad linija pasvirusi žemyn iš kairės į dešinę.Tiesinių modelių reguliavimo metodai Laso regresija (L1 reguliavimas) Laso regresija yra metodas, naudojamas tiesinės regresijos modeliui sureguliuoti, ji prideda baudą. terminas tiesinės regresijos tikslo funkcija, kad būtų išvengta permontavimo. Tikslinė funkcija, pritaikius laso regresiją, yra tokia: pirmasis narys yra mažiausių kvadratų nuostolis, reiškiantis skirtumą tarp prognozuojamų ir faktinių verčių kvadratu. antrasis narys yra L1 reguliavimo narys, jis baudžia regresijos koeficiento θj absoliučiųjų reikšmių sumą. Ridge regresija (L2 reguliavimas) Ridge regresija yra tiesinės regresijos metodas, kuris prideda normalizacijos terminą prie standartinio tiesinio tikslo. Vėlgi, tikslas yra užkirsti kelią permontavimui, nubausiant didelius koeficientus tiesinės regresijos lygtyje. Tai naudinga, kai duomenų rinkinys turi daugiakolineariškumą, kai prognozuojamieji kintamieji yra labai koreliuojami. Tikslinė funkcija pritaikius keteros regresiją yra tokia: pirmasis narys yra mažiausių kvadratų nuostolis, reiškiantis skirtumą tarp prognozuojamų ir faktinių verčių kvadratu. antrasis narys yra L1 reguliavimo narys, jis baudžia už regresijos koeficiento θj reikšmių kvadratų sumą. Elastinė grynoji regresija Elastinė grynoji regresija yra hibridinė reguliavimo technika, sujungianti tiek L1, tiek L2 reguliarumo galią tiesinės regresijos tikslu. pirmasis terminas yra mažiausias kvadratas. antrasis terminas yra L1 reguliavimas, o trečias - keteros regresija.???? yra bendras reguliarumo stiprumas. α kontroliuoja mišinį tarp L1 ir L2 reguliarumo. Tiesinės regresijos taikymai Tiesinė regresija naudojama daugelyje skirtingų sričių, įskaitant finansus, ekonomiką ir psichologiją, siekiant suprasti ir numatyti konkretaus kintamojo elgesį. Pavyzdžiui, finansų srityje linijinė regresija gali būti naudojama norint suprasti ryšį tarp bendrovės akcijų kainos ir jos pajamų arba numatyti būsimą valiutos vertę, remiantis jos ankstesniais rezultatais. Tiesinės regresijos privalumai ir trūkumai Tiesinės regresijos pranašumai Tiesinė regresija yra gana paprastas algoritmas, todėl jį lengva suprasti ir įgyvendinti. Tiesinės regresijos modelio koeficientai gali būti interpretuojami kaip priklausomo kintamojo pokytis, kai nepriklausomas kintamasis pasikeičia vienu vienetu, suteikiant įžvalgų apie ryšius tarp kintamųjų. Tiesinė regresija yra efektyvi skaičiavimo požiūriu ir gali efektyviai apdoroti didelius duomenų rinkinius. Jis gali būti greitai apmokytas naudojant didelius duomenų rinkinius, todėl jis tinkamas realiojo laiko programoms. Tiesinė regresija yra gana patikima ir skiriasi nuo kitų mašininio mokymosi algoritmų. Nukrypimai gali turėti mažesnį poveikį bendram modelio našumui.Tiesinė regresija dažnai yra geras bazinis modelis palyginimui su sudėtingesniais mašininio mokymosi algoritmais.Tiesinė regresija yra nusistovėjęs algoritmas, turintis turtingą istoriją ir plačiai prieinamas įvairiose mašininio mokymosi srityse. bibliotekos ir programinės įrangos paketai.Tiesinės regresijos trūkumai Tiesinė regresija prisiima tiesinį ryšį tarp priklausomų ir nepriklausomų kintamųjų. Jei ryšys nėra tiesinis, modelis gali neveikti gerai.Tiesinė regresija yra jautri daugiakolineariškumui, kuris atsiranda, kai yra didelė nepriklausomų kintamųjų koreliacija. Daugiakolinisiškumas gali išpūsti koeficientų dispersiją ir lemti nestabilias modelio prognozes. Tiesinė regresija daro prielaidą, kad požymiai jau yra modeliui tinkamos formos. Gali prireikti funkcijų inžinerijos, kad ypatybės būtų transformuojamos į formatą, kurį modelis galėtų efektyviai naudoti. Tiesinė regresija gali būti per daug pritaikyta ir per maža. Per didelis pritaikymas įvyksta, kai modelis per gerai išmoksta mokymo duomenis ir nesugeba apibendrinti iki nematomų duomenų. Nepakankamas pritaikymas atsiranda, kai modelis yra per paprastas, kad užfiksuotų pagrindinius duomenų ryšius. Tiesinė regresija suteikia ribotą aiškinamąją galią sudėtingiems kintamųjų ryšiams. Norint gauti gilesnių įžvalgų, gali prireikti pažangesnių mašininio mokymosi metodų. Išvada Tiesinė regresija yra pagrindinis mašininio mokymosi algoritmas, kuris dėl savo paprastumo, aiškinamumo ir efektyvumo buvo plačiai naudojamas daugelį metų. Tai vertinga priemonė norint suprasti ryšius tarp kintamųjų ir daryti prognozes įvairiose programose. Tačiau svarbu žinoti jo apribojimus, tokius kaip tiesiškumo ir jautrumo daugiakolineariškumui prielaida. Kruopščiai įvertinus šiuos apribojimus, tiesinė regresija gali būti galinga duomenų analizės ir prognozavimo priemonė. Tiesinė regresija – dažnai užduodami klausimai (DUK) Ką paprastai reiškia tiesinė regresija? Tiesinė regresija yra prižiūrimas mašininio mokymosi algoritmas, kuris numato nuolatinį tikslinį kintamąjį, pagrįstą vienu ar daugiau nepriklausomų kintamųjų. Jame daroma prielaida, kad priklausomų ir nepriklausomų kintamųjų yra tiesinis ryšys, o šiam ryšiui modeliuoti naudojama tiesinė lygtis. Kodėl naudojame tiesinę regresiją? Tiesinė regresija dažniausiai naudojama: Numatyti skaitines reikšmes pagal įvesties ypatybes; prognozuoti ateities tendencijas remiantis istoriniais duomenimis; nustatyti koreliacijas tarp kintamųjų; suprasti skirtingų veiksnių įtaką konkrečiam rezultatui; ​​kaip naudoti tiesinę regresiją? , suprasti koeficientus ir daryti prognozes, pagrįstas įvesties reikšmėmis, kad būtų galima priimti pagrįstus sprendimus. Kodėl ji vadinama tiesine regresija? Tiesinė regresija pavadinta dėl linijinės lygties, skirtos modeliuoti ryšį tarp kintamųjų, vaizduojančią tiesę, tinkančią duomenų taškams. Kas yra tiesinės regresijos pavyzdžiai? Linijinės regresijos programų pavyzdžiai yra namų kainų numatymas pagal kvadratinį metrą, egzaminų balų įvertinimas pagal studijų valandas ir pardavimų prognozavimas naudojant reklamos išlaidas.>>