Hogyan lehet megvalósítani a lineáris regressziót a gépi tanuláshoz?



Ez a cikk a lineáris regresszió fogalmát tárgyalja a gépi tanuláshoz különféle terminológiákkal és a lineáris regresszió megvalósításának felhasználási esetét.

A hangsúly a bemeneti és a kimeneti változók körül forog, algoritmus segítségével megjósolják az eredményt. Ha egy új bemeneti változó kerül a képbe. A lineáris regressziós algoritmus egy felügyelt tanulási technika a térképészeti függvény közelítésére a legjobb előrejelzések érdekében. Ebben a cikkben megismerjük a gépi tanulás lineáris regresszióját. A blog a következő témákat tárgyalja.

Mi a regresszió?

A regresszió fő célja egy hatékony modell felépítése, amely egy függvényváltozó halmazából jósolja meg a függő tulajdonságokat. Regressziós probléma az, amikor a kimeneti változó valós vagy folyamatos érték, azaz fizetés, súly, terület stb.





A regressziót statisztikai eszközként is meghatározhatjuk, amelyet olyan alkalmazásokban használnak, mint például a lakhatás, a befektetés stb. Ezt használják egy függő változó és egy halom független változó közötti kapcsolat előrejelzésére. Vessünk egy pillantást a regressziós technikák különféle típusaira.

példa-lineáris regresszió a gépi tanulásban - edureka

A regresszió típusai

A következők a regresszió típusai.



  1. Egyszerű lineáris regresszió
  2. Polinomiális regresszió
  3. Támogatja a vektor regressziót
  4. Döntésfa regresszió
  5. Véletlen erdő regresszió

Egyszerű lineáris regresszió

Az egyik legérdekesebb és legelterjedtebb regressziós technika az egyszerű lineáris regresszió. Ebben egy független változó kimenetelét jósoljuk meg a független változók alapján, a változók közötti kapcsolat lineáris. Ezért a lineáris regresszió szó.

Polinomiális regresszió

Ebben a regressziós technikában az eredeti jellemzőket átalakítjuk egy adott fokú polinom jellemzőkké, majd regressziót hajtunk végre rajta.

Támogatja a vektor regressziót

Mert regresszió vagy SVR esetén egy olyan hipersíkot azonosítunk maximális margóval, hogy az adatpontok maximális száma ezeken a margókon belül legyen. Egészen hasonlít a támogató vektor géposztályozási algoritmusához.



Döntésfa regresszió

NAK NEK regresszióra és . Regresszió esetén az ID3 algoritmust (Iterative Dichotomiser 3) használjuk a hasító csomópont azonosítására a szórás csökkentésével.

java mit csinál a függelék

Véletlen erdő regresszió

Véletlenszerű erdőregresszióban összesítjük több döntésfa regresszió előrejelzését. Most, hogy tudunk a regresszió különféle típusairól, vessünk egy pillantást az egyszerű lineáris regresszióra.

Mi a lineáris regresszió?

Az egyszerű lineáris regresszió olyan regressziós technika, amelyben a független változó lineáris kapcsolatban áll a függő változóval. Az ábrán látható egyenes a legjobban illeszkedő vonal. Az egyszerű lineáris regresszió fő célja az adott adatpontok figyelembe vétele és a legjobban illeszkedő vonal ábrázolása a modellhez a lehető legjobb módon.

Mielőtt továbblépnénk a lineáris regressziós algoritmus működésére, vessünk egy pillantást néhány egyszerű terminusra az egyszerű lineáris regresszióban.

Lineáris regressziós terminológiák

A következő terminológiákat fontos ismerni, mielőtt továbblépnénk a lineáris regressziós algoritmusra.

Költségfunkció

A legjobban illeszkedő vonal az alább megadott lineáris egyenleten alapulhat.

  • A megjósolni kívánt függő változót Y jelöli.
  • Az y tengelyt érintő vonalat a b metszéspont jelöli0.
  • begya vonal meredeksége, x az Y predikcióját meghatározó független változókat jelöli.
  • A kapott predikció hibáját e-vel jelöljük.

A költségfüggvény a lehető legjobb értékeket adja b-hez0és begyhogy a legjobban illeszkedjen az adatpontok vonalához. Úgy tesszük, hogy ezt a problémát minimalizálási problémává alakítjuk, hogy a b legjobb értékeit kapjuk0és begy. A hiba minimálisra csökken ebben a problémában a tényleges és az előrejelzett érték között.

A fenti funkciót választjuk a hiba minimalizálása érdekében. Négyzetbe vesszük a hibakülönbséget, és összesítjük a hibát az összes adatpontra, az összes adatpont elosztására. Ezután az előállított érték adja az összes adatpont átlagolt négyzet hibáját.

MSE (Mean Squared Error) néven is ismert, és megváltoztatjuk b értékeit0és begyhogy az MSE értéke a minimumon legyen elszámolva.

Színátmenet süllyedés

A következő fontos terminológia a lineáris regresszió megértéséhez az gradiens ereszkedés. Ez egy módszer a b frissítésére0és begyértékek az MSE csökkentésére. Ennek az az ötlete, hogy folyamatosan ismételjük a b-t0és begyértékeket, amíg az MSE-t a minimumra nem csökkentjük.

Frissítés b0és begy, gradienseket veszünk a költségfüggvényből. Ezen gradiensek megtalálásához részleges deriváltakat veszünk a b vonatkozásában0és begy. Ezek a parciális derivátumok a gradiensek, és a b értékeinek frissítésére szolgálnak0és begy.

A kisebb tanulási arány közelebb kerül a minimumhoz, de több időbe telik, és nagyobb tanulási arány esetén. Az idő hamarabb megtörténik, de van esély a minimális érték túllépésére. Most, hogy átértünk a lineáris regresszió terminológiáival, vessünk egy pillantást a lineáris regresszió néhány előnyére és hátrányára a gépi tanulás szempontjából.

Előnyök és hátrányok

Előnyök Hátrányok
A lineáris regresszió kivételesen jól teljesít lineárisan elválasztható adatoknálA függőségi és független változók közötti linearitás feltételezése
Könnyebb megvalósítani, értelmezni és hatékonyan képezniGyakran meglehetősen hajlamos a zajra és a túlfeszültségre
Dimenzionális csökkentési technikákkal, szabályozással és keresztellenőrzéssel elég jól kezeli az illesztéstA lineáris regresszió meglehetősen érzékeny a kiugró értékekre
További előny az extrapoláció egy adott adathalmazon túlHajlamos a multikollinearitásra

Lineáris regressziós felhasználási esetek

  • Értékesítés előrejelzése

  • Kockázatelemzés

  • Lakásalkalmazások az árak és egyéb tényezők kiszámításához

    c ++ tömbök rendezése
  • Pénzügyi alkalmazások tőzsdei árfolyamok, befektetési értékelések stb.

A lineáris regresszió alapgondolata a függő és a független változók közötti kapcsolat megtalálása. A legjobb illeszkedési vonal megszerzésére szolgál, amely a legkevesebb hibával jósolja az eredményt. Lineáris regressziót használhatunk egyszerű valós élethelyzetekben, például a SAT-pontszámok előrejelzésére a tanulmányi órák számára és más döntő tényezőkre tekintettel.

Ezt szem előtt tartva vessünk egy pillantást egy használati esetre.

Felhasználási eset - Lineáris regresszió megvalósítása

A folyamat a következő lépésekben zajlik:

  1. Az adatok betöltése
  2. Az adatok feltárása
  3. Az adatok szeletelése
  4. Vonat és megosztott adatok
  5. Generálja a modellt
  6. Értékelje a pontosságot

Vizsgáljuk meg a lineáris regresszió megvalósításának egyes lépéseit.

1. Az adatok betöltése

Kezdhetjük az alap cukorbetegség adatsorral, amely már szerepel a sklearn (scikit-learn) adatkészlet modulban, hogy lineáris regresszióval kezdjük az utunkat.

a sklearn import adatkészleteiből betegség = datasets.load_diabetes () print (betegség)

Kimenet:

2. Az adatok feltárása

Miután befejeztük az adatok betöltését, elkezdhetjük a feltárást a címkék egyszerű ellenőrzésével a következő kód használatával.

hogyan kell telepíteni a napfogyatkozást ide
nyomtatás (betegség.kulcsok ())

Kimenet:

A fenti kód megadja az adatsor összes címkéjét, ezt követően szeletelhetjük az adatokat úgy, hogy végül a vonalat ábrázolhassuk. Az összes adatpontot is felhasználjuk, egyelőre a 2. oszlopot szeleteljük az adatokból.

importálja a számot, mint np betegség_X = betegség.adatok [:, np.newaxis, 2] nyomtatás (betegség_X)

Kimenet:

Ezt a lépést követően felosztjuk az adatokat vonatra és tesztkészletre.

3. Az adatok felosztása

betegség_X_train = betegség_X [: - 30] betegség_X_teszt = betegség_X [-20:] betegség_Y_vonat = betegség.cél [: - 30] betegség_Y_teszt = betegség.cél [-20:]

A következő rész a modell előállítását foglalja magában, amely magában foglalja a linear_model importálását a sklearn-ből.

4. A modell generálása

a sklearn importból line_model reg = linear_model.LinearRegression () reg.fit (betegség_X_train, betegség_Y_vonat) y_predict = reg.predict (betegség_X_teszt)

A modell pontosságának értékeléséhez a scikit-learn átlag négyzethibáját használjuk.

5. Értékelés

pontosság = átlagos_négyzet_hiba (betegség_Y_teszt, y_predict,) nyomtatás (pontosság) súlyok = reg.coef_ intercept = reg.intercept_ print (súlyok, intercept)

Kimenet:

Annak tisztázása érdekében, hogy az adatpontok hogyan néznek ki a grafikonon, ábrázoljuk a grafikonokat is.

import matplotlib.pyplot plt plt.scatter (betegség_X_teszt, betegség_Y_teszt) plt.plot (betegség_X_teszt, y_predict) plt.show ()

Kimenet:

Pontosabb modell megszerzéséhez ebben a forgatókönyvben a teljes adatot felhasználhatjuk a 2. oszlop helyett. Ez pontosságot adna az alábbiak szerint:

#csináljon egy kis változtatást a fenti kódban, és távolítsa el az ábrázolási kódot, hogy elkerülje a betegség_X = betegség.adatok hibákat

Kimenet:

Ezzel eljutottunk a cikk végéhez, ahol megismertük a gépi tanulás lineáris regresszióját. Remélem, tisztában van azzal, amit megosztott veled ebben az oktatóanyagban.

Ha relevánsnak találta ezt a cikket a „Lineáris regresszió a gépi tanuláshoz” témában, nézze meg a egy megbízható online tanulási vállalat, amelynek több mint 250 000 elégedett tanulóból álló hálózata van az egész világon.

Ha bármilyen kérdése merülne fel, nyugodtan tegye fel minden kérdését a „Lineáris regresszió a gépi tanuláshoz” megjegyzés rovatban, és csapatunk örömmel válaszol.