În regresia liniară, încercați să construiți un model care vă permite să preziceți valoarea unor date noi, având în vedere datele de antrenament utilizate pentru a vă antrena modelul. Acest lucru va deveni clar pe măsură ce lucrăm prin această postare.

Mai sus, putem vedea ecuația de regresie liniară simplă. Variabila y este considerată răspunsul nostru sau variabila dependentă. Acesta este ceea ce intenționăm să prezicem, de exemplu, Vânzări este o alegere populară.

B0 este intersecția cu y, adică) Unde X=0 și linia se întâlnește cu axa y. B1X este, în esență, B1 (cantitatea de impact pe care X-ul nostru îl are asupra y) și X, care este caracteristica/variabila noastră independentă. Spre deosebire de variabila noastră y, mai multe X pot fi utilizate cu o beta corespunzătoare (coeficient pentru fiecare). Acest lucru ne permite să creăm un model cu multe variabile caracteristice (X) pentru a prezice valorile în y. Componenta de eroare aleatorie este o eroare ireductibilă.

Primul pas: vizualizare

Folosind vizualizarea, ar trebui să puteți judeca care variabile au o relație liniară cu y. Începeți prin a utiliza perechile lui Seaborn.

În acest caz, am folosit „Vânzări” ca răspuns/a. Înlocuiți lista de variabile a beta-urilor cu lista de caracteristici anticipată

Parametri suplimentari de utilizat:

size= : Vă permite să manipulați dimensiunea perechilor randate

kind= ‘reg’ : va încerca să adauge o linie de cea mai bună potrivire și o bandă de încredere de 95%. Va viza minimizarea sumei erorii pătrate.

Al doilea pas: SK Learn — Setarea variabilelor

Scikit-Learn se așteaptă ca X să fie o matrice de caracteristici (Pandas Dataframe) și y să fie un vector de răspuns (Seria Pandas). Să începem prin a ne separa variabilele ca mai jos.

Gestionarea caracteristicilor dvs. (X):

În acest exemplu, folosim coloanele TV, Radio și Social ca variabile predictoare.

Gestionarea răspunsului dvs. (y):

Dacă vă întrebați de ce este folosit un X majuscul pentru caracteristici și y minuscul pentru răspuns, se datorează în principal convenției.

Al treilea pas: SK Learn — Împărțirea datelor noastre

Împărțirea X și y în seturi de antrenament și testare:

Prin trecerea variabilelor noastre X și y în metoda train_test_split, suntem capabili să captăm împărțirile în date prin alocarea a 4 variabile rezultatului.

Al patrulea pas: SK Learn — Pregătirea modelului nostru

În primul rând, importarea sklearn.linear_model este necesară pentru a accesa LinearRegression. Apoi trebuie să fie instanțiat și să se potrivească modelul cu datele noastre de antrenament. Acest lucru se vede mai jos.

Al cincilea pas: interpretarea coeficienților

Coeficienții ne vor permite să modelăm ecuația noastră cu valori pentru beta-urile noastre. Variabila linreg (alocată unui obiect LinearRegression), poate avea interceptarea și coeficienții extrași, folosind codul de mai jos.

Interceptarea va fi valoarea dvs. B0; și fiecare coeficient va fi beta corespunzătoare pentru X-urile promovate (în ordinea lor).

Al șaselea pas: faceți predicții pe baza modelului dvs.

Efectuarea de predicții pe baza modelului dvs. este la fel de simplă ca și utilizarea codului de mai jos: trecerea metodei de predicție a datelor dvs. de testare. Aceasta va returna valorile prezise ale lui y având în vedere noile date de test X.

Al șaptelea pas: evaluarea modelului

Există trei metrici principale utilizate pentru a evalua modelele liniare. Acestea sunt: ​​Eroarea medie absolută (MAE), Eroarea medie pătratică (MSE) sau Eroarea medie pătratică (RMSE).

MAE: Cel mai ușor de înțeles. Reprezintă o eroare medie

MSE: Similar cu MAE, dar zgomotul este exagerat și erorile mai mari sunt „pedepsite”. Este mai greu de interpretat decât MAE, deoarece nu este în unitățile de bază, cu toate acestea, este în general mai popular.

RMSE: Cea mai populară măsurătoare, similară cu MSE, totuși, rezultatul are rădăcini pătrate pentru a-l face mai interpretabil, deoarece este în unități de bază. Se recomandă ca RMSE să fie utilizat ca măsură principală pentru a interpreta modelul dvs.

Mai jos, puteți vedea cum să calculați fiecare valoare. Toate necesită două liste ca parametri, una fiind valorile prezise și cealaltă fiind valorile adevărate

Al optulea pas: Selectarea caracteristicilor

Odată ce ați obținut valorile dvs. de eroare, rețineți care X au un impact minim asupra y. Eliminarea unora dintre aceste caracteristici poate duce la o precizie crescută a modelului dvs.

Deci, începem un proces de încercare și eroare, în care procesul este pornit din nou, până când este produs un model satisfăcător. Pașii de mai jos pot fi utili pentru această parte anume.

  1. Înlocuiește feature_cols și X
  2. Train_test_split datele dvs
  3. Potriviți din nou modelul pe linreg folosind linreg.fit
  4. Faceți predicții folosind (y_pred = linreg.predict(X_test))
  5. Calculați RMSE
  6. Repetați până când RMSE este satisfăcător