Kako implementirati linearnu regresiju za strojno učenje?



Ovaj članak pokriva koncept linearne regresije za strojno učenje s različitim terminologijama i slučaj korištenja linearne regresije.

Fokus vrti se oko ulaznih i izlaznih varijabli koristeći algoritam za predviđanje ishoda. Ako nova ulazna varijabla dođe na sliku. Algoritam linearne regresije u je nadzirana tehnika učenja za približavanje funkcije mapiranja radi dobivanja najboljih predviđanja. U ovom ćemo članku naučiti o linearnoj regresiji za strojno učenje. Na ovom blogu raspravlja se o sljedećim temama.

Što je regresija?

Glavni cilj regresije je izgradnja učinkovitog modela za predviđanje ovisnih atributa iz gomile varijabli atributa. Problem regresije je kada je izlazna varijabla stvarna ili kontinuirana vrijednost, tj. Plaća, težina, površina itd.





Regresiju također možemo definirati kao statističko sredstvo koje se koristi u aplikacijama poput stanovanja, investiranja itd. Koristi se za predviđanje odnosa između ovisne varijable i hrpe neovisnih varijabli. Pogledajmo razne vrste regresijskih tehnika.

primjer-linearna regresija u strojnom učenju - edureka

Vrste regresije

Slijede vrste regresije.



  1. Jednostavna linearna regresija
  2. Polinomska regresija
  3. Podrška vektorskoj regresiji
  4. Regresija stabla odlučivanja
  5. Slučajna regresija šume

Jednostavna linearna regresija

Jedna od najzanimljivijih i najčešćih tehnika regresije je jednostavna linearna regresija. U ovome predviđamo ishod ovisne varijable na temelju neovisnih varijabli, odnos između varijabli je linearan. Dakle, riječ linearna regresija.

što je aplet u javi s primjerom

Polinomska regresija

U ovoj tehnici regresije izvorne značajke pretvaramo u polinomske značajke određenog stupnja, a zatim vršimo regresiju na njima.

Podrška vektorskoj regresiji

Za regresije ili SVR, identificiramo hiperplan s maksimalnom marginom tako da je maksimalan broj podatkovnih točaka unutar tih margina. Prilično je sličan algoritmu klasifikacije strojeva vektora potpore.



Regresija stabla odlučivanja

DO može se koristiti i za regresiju i . U slučaju regresije koristimo ID3 algoritam (Iterative Dichotomiser 3) za identifikaciju cijepa za cijepanje smanjenjem standardne devijacije.

Slučajna regresija šume

U slučajnoj regresiji šuma sastavljamo predviđanja nekoliko regresija stabla odlučivanja. Sad kad znamo o različitim vrstama regresije, detaljno ćemo pogledati jednostavnu linearnu regresiju.

Što je linearna regresija?

Jednostavna linearna regresija je tehnika regresije u kojoj neovisna varijabla ima linearni odnos sa zavisnom varijablom. Ravna crta na dijagramu najbolje odgovara liniji. Glavni cilj jednostavne linearne regresije je uzeti u obzir zadane podatkovne točke i ucrtati najprikladniju liniju kako bi se model na najbolji način uklopio.

Prije nego što prijeđemo na način funkcioniranja algoritma linearne regresije, pogledajmo nekoliko važnih terminologija u jednostavnoj linearnoj regresiji.

Terminologije linearne regresije

Sljedeće terminologije važno je upoznati prije prelaska na algoritam linearne regresije.

Funkcija troškova

Linija koja najbolje odgovara može se temeljiti na linearnoj jednadžbi danoj u nastavku.

  • Zavisna varijabla koju treba predvidjeti označena je s Y.
  • Linija koja dodiruje os y označena je presjekom b0.
  • bjedanje nagib crte, x predstavlja neovisne varijable koje određuju predviđanje Y.
  • Pogreška u rezultantnom predviđanju označena je s e.

Funkcija troška pruža najbolje moguće vrijednosti za b0i bjedankako bi se crta podataka najbolje uklopila. To radimo pretvaranjem ovog problema u problem minimizacije kako bismo dobili najbolje vrijednosti za b0i bjedan. Pogreška je u ovom problemu smanjena između stvarne vrijednosti i predviđene vrijednosti.

Odabiremo gornju funkciju kako bismo smanjili pogrešku. Razliku pogreške kvadratujemo i zbrajamo pogrešku po svim podatkovnim točkama, dijeleći ukupni broj podatkovnih točaka. Zatim, proizvedena vrijednost daje prosječnu kvadratnu pogrešku u svim podatkovnim točkama.

Također je poznat kao MSE (srednja kvadratna pogreška), a mijenjamo vrijednosti b0i bjedantako da se MSE vrijednost podmiri na minimumu.

Gradijentni spust

Sljedeća važna terminologija za razumijevanje linearne regresije je gradijentni spust. To je metoda ažuriranja b0i bjedanvrijednosti za smanjenje MSE. Ideja koja stoji iza toga je neprestano ponavljanje b0i bjedanvrijednosti dok MSE ne smanjimo na minimum.

Ažurirati b0i bjedan, uzimamo gradijente iz funkcije troškova. Da bismo pronašli ove gradijente, uzimamo djelomične izvedenice s obzirom na b0i bjedan. Te su djelomične izvedenice gradijenti i koriste se za ažuriranje vrijednosti b0i bjedan.

Manja stopa učenja približava se minimumu, ali potrebno je više vremena i u slučaju veće stope učenja. Potrebno je vrijeme prije, ali postoji šansa za prekoračenje minimalne vrijednosti. Sad kad smo završili s terminologijama linearne regresije, pogledajmo nekoliko prednosti i nedostataka linearne regresije za strojno učenje.

Prednosti i nedostatci

Prednosti Mane
Linearna regresija izvrsno se izvodi za linearno odvojive podatkePretpostavka linearnosti između ovisnih i neovisnih varijabli
Jednostavnije za primjenu, tumačenje i učinkovitije za treniranjeČesto je prilično sklon buci i prekomjernoj opremi
Prilično dobro podnosi prekomjernu opremu koristeći tehnike redukcije dimenzija, regularizaciju i unakrsnu provjeru valjanostiLinearna regresija prilično je osjetljiva na izvanredne vrijednosti
Još jedna prednost je ekstrapolacija izvan određenog skupa podatakaSklona je multikolinearnosti

Slučajevi korištenja linearne regresije

  • Predviđanje prodaje

  • Analiza rizika

  • Stambene aplikacije za predviđanje cijena i ostale čimbenike

  • Primjene za financije za predviđanje cijena dionica, procjenu ulaganja itd.

Osnovna ideja linearne regresije jest pronaći vezu između ovisnih i neovisnih varijabli. Koristi se za dobivanje najbolje prikladne crte koja bi s najmanje pogreške predvidjela ishod. Linearnu regresiju možemo koristiti u jednostavnim stvarnim životnim situacijama, poput predviđanja SAT rezultata s obzirom na broj sati učenja i druge odlučujuće čimbenike.

Imajući ovo na umu, pogledajmo slučaj upotrebe.

Slučaj upotrebe - Implementacija linearne regresije

Proces se odvija u sljedećim koracima:

  1. Učitavanje podataka
  2. Istraživanje podataka
  3. Rezanje podataka
  4. Podaci o vlaku i Splitu
  5. Generiraj model
  6. Procijenite točnost

Uđimo u detalje svakog od koraka za provedbu linearne regresije.

1. Učitavanje podataka

Možemo započeti s osnovnim nizom podataka o dijabetesu koji je već prisutan u modulu skulara podataka sklearn (scikit-learn) da bismo započeli svoje putovanje linearnom regresijom.

iz sklearn uvoza skupova podataka bolest = skupovi podataka.load_diabetes () ispis (bolest)

Izlaz:

2. Istraživanje podataka

Nakon što završimo s učitavanjem podataka, možemo započeti istraživanje jednostavnim provjeravanjem naljepnica pomoću sljedećeg koda.

ispis (disease.keys ())

Izlaz:

Gornji kôd daje sve oznake iz skupa podataka, nakon toga možemo podatke razrezati tako da na kraju možemo ucrtati liniju. Također ćemo upotrijebiti sve podatkovne točke, za sada ćemo izrezati stupac 2 iz podataka.

algoritmi i strukture podataka u javi
uvoz numpy kao np bolest_X = bolest.data [:, np.newaxis, 2] ispis (bolest_X)

Izlaz:

Nakon ovog koraka podijelit ćemo podatke u vlak i testni set.

3. Dijeljenje podataka

bolest_X_train = bolest_X [: - 30] bolest_X_test = bolest_X [-20:] bolest_Y_train = bolest.cilj [: - 30] bolest_Y_test = bolest.cilj [-20:]

Sljedeći dio uključuje generiranje modela, koji će uključivati ​​uvoz linear_model iz sklearn.

4. Generiranje modela

iz sklearn import linear_model reg = linear_model.LinearRegression () reg.fit (bolest_X_train, bolest_Y_train) y_predict = reg.predict (bolest_X_test)

Za procjenu točnosti modela upotrijebit ćemo srednju kvadratnu pogrešku iz scikit-learn.

5. Procjena

točnost = prosječna_kredirana_pogreška (bolest_Y_test, y_predict,) ispis (točnost) težine = reg.coef_ presretanje = reg.intercept_ print (težine, presretanje)

Izlaz:

Da bismo bili jasniji kako podatkovne točke izgledaju na grafikonu, nacrtajmo i grafikone.

uvoz matplotlib.pyplot kao plt plt.scatter (bolest_X_test, bolest_Y_test) plt.plot (bolest_X_test, y_predict) plt.show ()

Izlaz:

Da bismo dobili precizniji model u ovom scenariju, možemo koristiti cijele podatke umjesto samo stupca 2. To bi dalo točnost kao što je prikazano u nastavku:

#izvedite malu promjenu u kodu iznad i uklonite kôd za crtanje kako biste izbjegli pogreške disease_X = disease.data

Izlaz:

To nas dovodi do kraja ovog članka gdje smo saznali o Linearnoj regresiji za strojno učenje. Nadam se da vam je jasno sve što je s vama podijeljeno u ovom vodiču.

Ako smatrate da je ovaj članak o „Linearnoj regresiji za strojno učenje“ relevantan, pogledajte pouzdana tvrtka za internetsko učenje s mrežom od više od 250 000 zadovoljnih učenika raširenih širom svijeta.

Ako naiđete na neko pitanje, slobodno postavite sva svoja pitanja u odjeljku za komentare 'Linearna regresija za strojno učenje' i naš će tim rado odgovoriti.