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?
- Regressiotyypit
- Mikä on lineaarinen regressio?
- Lineaariset regressioterminologiat
- Lineaarisen regression edut ja haitat
- Lineaarisen regressiokäytön tapaukset
- Käyttötapa - Lineaarisen regressiototeutus
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.
Regressiotyypit
Seuraavat ovat regressiotyyppejä.
- Yksinkertainen lineaarinen regressio
- Polynomiregressio
- Tuki vektoriregressiolle
- Päätöspuun regressio
- 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 tiedoille | Oletus lineaarisuudesta riippuvien ja riippumattomien muuttujien välillä |
Helpompi toteuttaa, tulkita ja kouluttaa tehokkaasti | Se on usein melko altis melulle ja ylikuormitukselle |
Se käsittelee ylivarustusta melko hyvin käyttämällä mittasuhteiden pienennystekniikoita, laillistamista ja ristivalidointia | Lineaarinen regressio on varsin herkkä poikkeamille |
Vielä yksi etu on ekstrapolointi tietyn tietojoukon ulkopuolelle | Se 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:
- Tietojen lataaminen
- Tietojen tutkiminen
- Tietojen viipalointi
- Juna- ja jaetut tiedot
- Luo malli
- 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.