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?
- Vrste regresije
- Kaj je linearna regresija?
- Terminologije linearne regresije
- Prednosti in slabosti linearne regresije
- Primeri uporabe linearne regresije
- Primer uporabe - Implementacija linearne regresije
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.
Vrste regresije
Sledijo vrste regresije.
- Preprosta linearna regresija
- Polinomska regresija
- Podprite vektorsko regresijo
- Regresija drevesa odločitev
- 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 podatke | Predpostavka linearnosti med odvisnimi in neodvisnimi spremenljivkami |
Lažje izvajati, razlagati in učinkovito trenirati | Pogosto je zelo nagnjen k hrupu in prekomerni opremi |
Precej dobro se ukvarja s tehnikami dimenzijske redukcije, regularizacijo in navzkrižno validacijo | Linearna regresija je precej občutljiva na odstopanja |
Še ena prednost je ekstrapolacija preko določenega nabora podatkov | Nagnjen 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:
- Nalaganje podatkov
- Raziskovanje podatkov
- Rezanje podatkov
- Podatki o vlakih in delih
- Ustvari model
- 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.