Kuinka toteuttaa lineaarinen regressio koneoppimiseen?



Tämä artikkeli käsittelee lineaarisen regressiokonseptin koneoppimisessa erilaisilla terminologioilla ja käyttötapauksen lineaarisen regression toteuttamiseksi.

Painopiste pyörii tulo- ja lähtömuuttujien ympärillä käyttämällä algoritmia tuloksen ennustamiseksi. Jos kuvaan tulee uusi tulomuuttuja. Lineaarinen regressioalgoritmi on valvottu oppimistekniikka kartoitusfunktion arvioimiseksi parhaan ennusteen saamiseksi. Tässä artikkelissa opitaan koneoppimisen lineaarisesta regressiosta. Tässä blogissa käsitellään seuraavia aiheita.

Mikä on regressio?

Regressioiden päätavoitteena on tehokkaan mallin rakentaminen ennustamaan riippuvat attribuutit joukosta attribuuttimuuttujia. Regressio-ongelma on, kun tuotosmuuttuja on joko todellinen tai jatkuva arvo, ts. Palkka, paino, pinta-ala jne.





Voimme myös määritellä regression tilastollisena keinona, jota käytetään sovelluksissa, kuten asumisessa, sijoittamisessa jne. Sitä käytetään ennustamaan riippuvan muuttujan ja joukon riippumattomia muuttujia. Katsotaanpa erilaisia ​​regressiotekniikoita.

esimerkki-lineaarinen regressio koneoppimisessa - edureka

Regressiotyypit

Seuraavat ovat regressiotyyppejä.



  1. Yksinkertainen lineaarinen regressio
  2. Polynomiregressio
  3. Tuki vektoriregressiolle
  4. Päätöspuun regressio
  5. Satunnainen metsän regressio

Yksinkertainen lineaarinen regressio

Yksi mielenkiintoisimmista ja yleisimmistä regressiotekniikoista on yksinkertainen lineaarinen regressio. Tässä ennustamme riippuvan muuttujan tuloksen riippumattomien muuttujien perusteella, muuttujien välinen suhde on lineaarinen. Siksi sana lineaarinen regressio.

Polynomiregressio

Tässä regressiotekniikassa muunnetaan alkuperäiset piirteet tietyn asteen polynomiominaisuuksiksi ja suoritetaan sitten regressio sille.

mvc-sovellusesimerkki jaavassa

Tuki vektoriregressiolle

Sillä regressio tai SVR, tunnistamme hypertason, jolla on suurin marginaali siten, että datapisteiden enimmäismäärä on näiden marginaalien sisällä. Se on melko samanlainen kuin tukivektorikoneen luokittelualgoritmi.



Päätöspuun regressio

TO voidaan käyttää sekä regressioon että . Regressiotapauksessa käytämme ID3-algoritmia (Iterative Dichotomiser 3) halkaisusolmun tunnistamiseksi vähentämällä standardipoikkeamaa.

Satunnainen metsän regressio

Satunnaisessa metsän regressiossa kootaan useiden päätöspuiden regressioiden ennusteet. Nyt kun tiedämme erilaisista regressiotyypeistä, katsotaanpa yksinkertainen lineaarinen regressio yksityiskohtaisesti.

Mikä on lineaarinen regressio?

Yksinkertainen lineaarinen regressio on regressiotekniikka, jossa riippumattomalla muuttujalla on lineaarinen suhde riippuvaan muuttujaan. Kaavion suora viiva on parhaiten sopiva viiva. Yksinkertaisen lineaarisen regressioiden päätavoitteena on tarkastella annettuja datapisteitä ja piirtää paras sovituslinja, joka sopii malliin parhaalla mahdollisella tavalla.

Ennen kuin siirrymme lineaarisen regressioalgoritmin toimintaan, katsotaanpa muutama tärkeä terminologia yksinkertaisessa lineaarisessa regressiossa.

Lineaariset regressioterminologiat

Seuraavat terminologiat ovat tärkeitä, jotta ne tuntevat ennen siirtymistä lineaarisen regressioalgoritmiin.

Kustannustoiminto

Paras sovituslinja voi perustua alla annettuun lineaariseen yhtälöön.

  • Ennustettava riippuvainen muuttuja on merkitty Y: llä.
  • Y-akselia koskettava viiva on merkitty leikkauspisteellä b0.
  • byksion suoran kaltevuus, x edustaa riippumattomia muuttujia, jotka määrittävät Y: n ennusteen.
  • Tuloksena olevan ennusteen virhe on merkitty e: llä.

Kustannustoiminto tarjoaa parhaat mahdolliset arvot b: lle0ja byksijotta datapisteille sopisi parhaiten viiva. Teemme sen muuttamalla tämän ongelman minimointiongelmaksi saadaksemme parhaat arvot b: lle0ja byksi. Virhe minimoidaan tässä tehtävässä todellisen arvon ja ennustetun arvon välillä.

Valitsemme yllä olevan toiminnon virheen minimoimiseksi. Neliövirheero ja summataan virhe kaikkien datapisteiden välillä, jako datapisteiden kokonaismäärän välillä. Sitten tuotettu arvo antaa kaikkien datapisteiden keskimääräisen neliövirheen.

Se tunnetaan myös nimellä MSE (Mean Squared Error), ja muutamme b: n arvoja0ja byksiniin, että MSE-arvo lasketaan minimiin.

Liukuvärjäys

Seuraava tärkeä terminologia ymmärtää lineaarista regressiota on kaltevuuslasku. Se on menetelmä päivittää b0ja byksiarvot MSE: n vähentämiseksi. Ajatuksena on jatkaa iterointia b0ja byksiarvoja, kunnes pienennämme MSE: n minimiin.

Päivittää b0ja byksi, otamme kaltevuudet kustannustoiminnosta. Näiden gradienttien löytämiseksi otamme osittaiset johdannaiset b: n suhteen0ja byksi. Nämä osittaiset johdannaiset ovat gradientteja ja niitä käytetään b: n arvojen päivittämiseen0ja byksi.

Pienempi oppimisnopeus vie lähemmäksi vähimmäismäärää, mutta se vie enemmän aikaa ja jos oppimisnopeus on suurempi. Käytetty aika on nopeampi, mutta on mahdollisuus ylittää vähimmäisarvo. Nyt kun olemme käyneet läpi terminologiat lineaarisessa regressiossa, katsokaamme muutamia lineaarisen regressioiden etuja ja haittoja koneoppimisessa.

Hyödyt ja haitat

Edut Haitat
Lineaarinen regressio toimii poikkeuksellisen hyvin lineaarisesti erotettavissa oleville tiedoilleOletus lineaarisuudesta riippuvien ja riippumattomien muuttujien välillä
Helpompi toteuttaa, tulkita ja kouluttaa tehokkaastiSe on usein melko altis melulle ja ylikuormitukselle
Se käsittelee ylivarustusta melko hyvin käyttämällä mittasuhteiden pienennystekniikoita, laillistamista ja ristivalidointiaLineaarinen regressio on varsin herkkä poikkeamille
Vielä yksi etu on ekstrapolointi tietyn tietojoukon ulkopuolelleSe on altis monikollineaarisuudelle

Lineaarisen regressiokäytön tapaukset

  • Myynnin ennustaminen

  • Riskianalyysi

  • Asuntosovellukset hintojen ja muiden tekijöiden ennustamiseksi

    oletusarvo char java
  • Rahoitussovellukset osakkeiden hintojen, sijoitusten arvioinnin jne. Ennustamiseksi

Lineaarisen regression perusajatuksena on löytää suhde riippuvien ja riippumattomien muuttujien välille. Sitä käytetään parhaan sovituslinjan saamiseksi, joka ennustaa tuloksen pienimmällä virheellä. Voimme käyttää lineaarista regressiota yksinkertaisissa tosielämän tilanteissa, kuten ennustaa SAT-pisteet tutkimustuntien lukumäärän ja muiden ratkaisevien tekijöiden perusteella.

Tarkastellaan tätä mielessä käyttötapaus.

Käyttötapaus - Lineaarisen regression toteuttaminen

Prosessi tapahtuu seuraavissa vaiheissa:

  1. Tietojen lataaminen
  2. Tietojen tutkiminen
  3. Tietojen viipalointi
  4. Juna- ja jaetut tiedot
  5. Luo malli
  6. Arvioi tarkkuus

Mennään yksityiskohtiin jokaisesta vaiheesta lineaarisen regression toteuttamiseksi.

1. Tietojen lataaminen

Voimme aloittaa diabeteksen perustietojoukosta, joka on jo sklearn (scikit-learn) -datasarjamoduulissa, jotta voimme aloittaa matkamme lineaarisella regressiolla.

sklearn-tuontiaineistosta tauti = datasets.load_diabetes () tulosta (tauti)

Tuotos:

2. Tietojen tutkiminen

Kun olet ladannut tiedot, voimme aloittaa tutkimisen yksinkertaisesti tarkistamalla tarrat seuraavalla koodilla.

tulosta (tauti.näppäimet ())

Tuotos:

c ++ virtuaalitoiminto = 0

Yllä oleva koodi antaa kaikki tietojoukon tarrat, tämän jälkeen voimme leikata tiedot siten, että voimme piirtää viivan lopulta. Käytämme myös kaikkia datapisteitä, toistaiseksi leikkaamme sarakkeen 2 tiedoista.

tuo numerotiedot nimellä np disease_X = disease.data [:, np.newaxis, 2] print (disease_X)

Tuotos:

Tämän vaiheen jälkeen jaamme tiedot junaksi ja testisarjaksi.

3. Tietojen jakaminen

taudin_X_treeni = taudin_X [: - 30] taudin_X_testi = taudin_X [-20:] taudin_Y_junan = taudin kohde [: - 30] taudin_Y_testi = taudin kohde [-20:]

Seuraava osa käsittää mallin luomisen, joka sisältää lineaarisen_mallin tuomisen sklearnista.

4. Mallin luominen

sklearn-tuonnista lineaarinen_malli reg = lineaarinen_malli.LinearRegression () reg.fit (tauti_X_train, tauti_Y_juna) y_ennuste = reg.ennuste (tauti_X_testi)

Mallin tarkkuuden arvioimiseksi käytämme keskimääräistä neliövirhettä scikit-learnista.

5. Arviointi

tarkkuus = keskimääräinen_neliövirhe (sairaus_Y_testi, y_ennuste,) tulos (tarkkuus) painot = reg.coef_ sieppaus = reg.interercept_ tulosta (painot, sieppaus)

Tuotos:

Piirrä myös kaaviot, jotta saat selvemmän kuvan siitä, miltä datapisteet näyttävät kaaviosta.

tuo matplotlib.pyplot plt plt.scatteriksi (taudin_X_testi, taudin_Y_testi) plt.plot (taudin_X_testi, y_ennuste) plt.show ()

Tuotos:

Saadaksemme tarkemman mallin tässä skenaariossa voimme käyttää kaikkia tietoja vain sarakkeen 2 sijasta. Se antaisi tarkkuuden, kuten alla on esitetty:

# tee pieni muutos yllä olevaan koodiin ja poista piirtokoodi virheiden välttämiseksi disease_X = disease.data

Tuotos:

Tämä tuo meidät tämän artikkelin loppuun, jossa olemme oppineet koneoppimisen lineaarisesta regressiosta. Toivon, että olet selvillä kaikesta, mitä sinulle on jaettu tässä opetusohjelmassa.

Jos löysit tämän artikkelin aiheesta 'Lineaarinen regressio koneoppimiseen', tutustu artikkeliin luotettava verkko-oppimisyritys, jolla on yli 250 000 tyytyväisen oppijan verkosto, levinneenä ympäri maailmaa.

Jos kohtaat kysymyksiä, kysy rohkeasti 'Lineaarinen regressio koneoppimiseen' -kommenttiosassa, ja tiimimme vastaa mielellään.