Kako izvesti linearno regresijo za strojno učenje?



Ta članek zajema koncept linearne regresije za strojno učenje z različnimi terminologijami in primer uporabe za izvedbo linearne regresije.

Poudarek vrti se okoli vhodnih in izhodnih spremenljivk z uporabo algoritma za napovedovanje izida. Če se prikaže nova vhodna spremenljivka. Algoritem linearne regresije v je nadzorovana učna tehnika za približevanje funkcije kartiranja, da dobimo najboljše napovedi. V tem članku bomo spoznali linearno regresijo za strojno učenje. V tem blogu so obravnavane naslednje teme.

Kaj je regresija?

Glavni cilj regresije je izdelava učinkovitega modela za napovedovanje odvisnih atributov iz kopice spremenljivk atributov. Problem regresije je, kadar je izhodna spremenljivka realna ali stalna vrednost, tj. Plača, teža, površina itd.





Regresijo lahko definiramo tudi kot statistično sredstvo, ki se uporablja v aplikacijah, kot so stanovanja, naložbe itd. Uporablja se za napovedovanje razmerja med odvisno spremenljivko in kopico neodvisnih spremenljivk. Oglejmo si različne vrste regresijskih tehnik.

primer-linearna regresija v strojnem učenju - edureka

Vrste regresije

Sledijo vrste regresije.



  1. Preprosta linearna regresija
  2. Polinomska regresija
  3. Podprite vektorsko regresijo
  4. Regresija drevesa odločitev
  5. Naključna regresija gozda

Preprosta linearna regresija

Ena najbolj zanimivih in najpogostejših tehnik regresije je preprosta linearna regresija. Pri tem predvidevamo izid odvisne spremenljivke na podlagi neodvisnih spremenljivk, razmerje med spremenljivkami je linearno. Zato beseda linearna regresija.

Polinomska regresija

Pri tej regresijski tehniki izvirne lastnosti pretvorimo v polinomske značilnosti dane stopnje in nato na njih izvedemo regresijo.

Podprite vektorsko regresijo

Za regresije ali SVR, identificiramo hiperravnino z največjim robom, tako da je največje število podatkovnih točk znotraj teh robov. Popolnoma je podoben algoritmu klasifikacije strojev za podporni vektor.



Regresija drevesa odločitev

TO se lahko uporablja za regresijo in . V primeru regresije uporabimo ID3 algoritem (Iterative Dichotomiser 3) za identifikacijo cepilnega vozlišča z zmanjšanjem standardnega odklona.

Naključna regresija gozda

V naključni regresiji gozdov združujemo napovedi več regresij dreves odločanja. Zdaj, ko poznamo različne vrste regresije, si oglejmo podrobno preprosto linearno regresijo.

Kaj je linearna regresija?

Preprosta linearna regresija je regresijska tehnika, pri kateri ima neodvisna spremenljivka linearno razmerje z odvisno spremenljivko. Ravna črta na diagramu je najbolj primerna črta. Glavni cilj preproste linearne regresije je upoštevanje danih podatkovnih točk in načrtovanje najboljše črte, ki najbolje ustreza modelu na najboljši možni način.

spajanje razvrsti psevdokod c ++

Preden nadaljujemo z delovanjem algoritma linearne regresije, si oglejmo nekaj pomembnih terminologij v preprosti linearni regresiji.

Terminologije linearne regresije

Naslednje terminologije je pomembno poznati, preden preidemo na algoritem linearne regresije.

Funkcija stroškov

Najprimernejša črta lahko temelji na spodnji linearni enačbi.

  • Odvisna spremenljivka, ki jo je treba predvideti, je označena z Y.
  • Črta, ki se dotika osi y, je označena z odsekom b0.
  • benoje naklon premice, x predstavlja neodvisne spremenljivke, ki določajo napoved Y.
  • Napaka v rezultatu napovedi je označena z e.

Funkcija stroškov zagotavlja najboljše možne vrednosti za b0in benoda se najbolje prilega črta za podatkovne točke. To naredimo tako, da pretvorimo to težavo v minimalizacijo, da dobimo najboljše vrednosti za b0in beno. V tej težavi je napaka zmanjšana med dejansko vrednostjo in predvideno vrednostjo.

Za zmanjšanje napake izberemo zgornjo funkcijo. Razliko napak kvadratimo in napako seštejemo med vse podatkovne točke, delimo med skupnim številom podatkovnih točk. Nato dobljena vrednost zagotavlja povprečno kvadratno napako v vseh podatkovnih točkah.

Znan je tudi kot MSE (napaka povprečnega kvadrata) in spremenimo vrednosti b0in benotako da je vrednost MSE poravnana najmanj.

Gradient spust

Naslednja pomembna terminologija za razumevanje linearne regresije je gradientni spust. Gre za način posodabljanja b0in benovrednosti za zmanjšanje MSE. Ideja tega je, da se ponavljanje b0in benovrednosti, dokler MSE ne zmanjšamo na minimum.

Posodobitev b0in beno, vzamemo gradiente iz funkcije stroškov. Za iskanje teh gradientov vzamemo delne derivate glede na b0in beno. Ti delni derivati ​​so gradienti in se uporabljajo za posodobitev vrednosti b0in beno.

Manjša stopnja učenja se približuje najnižji stopnji, vendar traja več časa in v primeru večje stopnje učenja. Potrebni čas je prej, vendar obstaja možnost, da se preseže najnižja vrednost. Zdaj, ko smo končali s terminologijami linearne regresije, si oglejmo nekaj prednosti in slabosti linearne regresije za strojno učenje.

Prednosti in slabosti

Prednosti Slabosti
Linearna regresija deluje izjemno dobro za linearno ločljive podatkePredpostavka linearnosti med odvisnimi in neodvisnimi spremenljivkami
Lažje izvajati, razlagati in učinkovito treniratiPogosto je zelo nagnjen k hrupu in prekomerni opremi
Precej dobro se ukvarja s tehnikami dimenzijske redukcije, regularizacijo in navzkrižno validacijoLinearna regresija je precej občutljiva na odstopanja
Še ena prednost je ekstrapolacija preko določenega nabora podatkovNagnjen je k multikolinearnosti

Primeri uporabe linearne regresije

  • Napoved prodaje

  • Analiza tveganja

  • Stanovanjske aplikacije za napovedovanje cen in drugih dejavnikov

  • Vloge za finance za napovedovanje cen delnic, oceno naložb itd.

Osnovna ideja linearne regresije je najti razmerje med odvisnimi in neodvisnimi spremenljivkami. Uporablja se za pridobitev najbolj primerne črte, ki bi napovedala izid z najmanj napake. Linearno regresijo lahko uporabimo v preprostih resničnih situacijah, na primer pri napovedovanju rezultatov SAT glede na število ur študija in drugih odločilnih dejavnikov.

S tem v mislih si oglejmo primer uporabe.

Primer uporabe - izvedba linearne regresije

Postopek poteka v naslednjih korakih:

  1. Nalaganje podatkov
  2. Raziskovanje podatkov
  3. Rezanje podatkov
  4. Podatki o vlakih in delih
  5. Ustvari model
  6. Ocenite natančnost

Pojdimo v podrobnosti vsakega koraka za izvedbo linearne regresije.

1. Nalaganje podatkov

Začnemo lahko z osnovnim naborom podatkov o diabetesu, ki je že prisoten v modulu podatkovnih nizov sklearn (scikit-learn), da začnemo pot z linearno regresijo.

iz sklearn uvoz naborov podatkov bolezen = nabori podatkov.load_diabetes () tisk (bolezen)

Izhod:

2. Raziskovanje podatkov

Ko končamo z nalaganjem podatkov, lahko začnemo raziskovati s preprostim preverjanjem nalepk z uporabo naslednje kode.

tisk (bolezen.ključi ())

Izhod:

Zgornja koda daje vse oznake iz nabora podatkov, po tem pa lahko podatke narežemo tako, da lahko na koncu narišemo vrstico. Uporabili bomo tudi vse podatkovne točke, za zdaj bomo iz podatkov izrezali stolpec 2.

uvoz numpy kot np bolezen_X = bolezen.data [:, np.newaxis, 2] tiskanje (bolezen_X)

Izhod:

Po tem koraku bomo podatke razdelili na vlak in testni niz.

3. Razdelitev podatkov

bolezen_X_train = bolezen_X [: - 30] bolezen_X_test = bolezen_X [-20:] bolezen_Y_train = bolezen.cilj [: - 30] bolezen_Y_test = bolezen.cilj [-20:]

Naslednji del vključuje izdelavo modela, ki bo vključeval uvoz linear_model iz sklearn.

4. Ustvarjanje modela

iz sklearn import linear_model reg = linear_model.LinearRegression () reg.fit (bolezen_X_train, bolezen_Y_train) y_predict = reg.predict (bolezen_X_test)

Za oceno natančnosti modela bomo uporabili povprečno kvadratno napako iz scikit-learn.

5. Vrednotenje

natančnost = povprečna_kredna napaka (bolezen_Y_test, y_predict,) print (natančnost) uteži = reg.coef_ intercept = reg.intercept_ print (uteži, prestrezanje)

Izhod:

Da bomo bolj jasni, kako so podatkovne točke na grafu, si narišimo tudi grafe.

uvoz matplotlib.pyplot kot plt plt.scatter (bolezen_X_test, bolezen_Y_test) plt.plot (bolezen_X_test, y_predict) plt.show ()

Izhod:

Za natančnejši model v tem scenariju lahko uporabimo celotne podatke namesto samo stolpca 2. Tako dobimo natančnost, kot je prikazano spodaj:

# malo spremenite zgornjo kodo in odstranite kodo za risanje, da se izognete napakam bolezen_X = bolezen.data

Izhod:

S tem smo prišli do konca tega članka, kjer smo spoznali Linearno regresijo za strojno učenje. Upam, da vam je jasno vse, kar je bilo v tej vadnici z vami deljeno.

Če se vam zdi članek o »Linearni regresiji za strojno učenje« ustrezen, si oglejte zaupanja vredno podjetje za spletno učenje z mrežo več kot 250.000 zadovoljnih učencev, razširjenih po vsem svetu.

Če naletite na kakršna koli vprašanja, vas prosimo, da vsa vprašanja postavite v oddelku za komentarje »Linearna regresija za strojno učenje« in naša ekipa vam bo z veseljem odgovorila.