Cum se implementează regresia liniară pentru învățarea automată?



Acest articol acoperă conceptul de regresie liniară pentru învățarea automată cu diverse terminologii și un caz de utilizare pentru a implementa regresia liniară.

Centrul de se învârte în jurul variabilelor de intrare și ieșire folosind un algoritm pentru a prezice rezultatul. Dacă intră în imagine o nouă variabilă de intrare. Algoritmul de regresie liniară în este o tehnică de învățare supravegheată pentru a aproxima funcția de cartografiere pentru a obține cele mai bune predicții. În acest articol, vom afla despre regresia liniară pentru învățarea automată. Următoarele subiecte sunt discutate în acest blog.

Ce este Regresia?

Scopul principal al regresiei este construirea unui model eficient pentru a prezice atributele dependente dintr-o grămadă de variabile ale atributelor. O problemă de regresie este atunci când variabila de ieșire este fie reală, fie o valoare continuă, adică salariu, greutate, suprafață etc.





Putem defini, de asemenea, regresia ca un mijloc statistic care este utilizat în aplicații precum locuințe, investiții etc. Este folosit pentru a prezice relația dintre o variabilă dependentă și o grămadă de variabile independente. Să aruncăm o privire asupra diferitelor tipuri de tehnici de regresie.

sortare bibliotecă c ++

exemplu-regresie liniară în învățarea automată - edureka

Tipuri de regresie

Următoarele sunt tipuri de regresie.



  1. Regresie liniară simplă
  2. Regresia polinomială
  3. Suportă regresia vectorială
  4. Regresia arborelui decizional
  5. Regresie forestieră aleatorie

Regresie liniară simplă

Una dintre cele mai interesante și comune tehnici de regresie este regresia liniară simplă. În aceasta, prezicem rezultatul unei variabile dependente pe baza variabilelor independente, relația dintre variabile este liniară. Prin urmare, cuvântul regresie liniară.

Regresia polinomială

În această tehnică de regresie, transformăm trăsăturile originale în trăsături polinomiale de un anumit grad și apoi efectuăm regresie asupra acestuia.

Suportă regresia vectorială

Pentru regresie sau SVR, identificăm un hiperplan cu marjă maximă astfel încât numărul maxim de puncte de date să fie în marjele respective. Este destul de similar cu algoritmul de clasificare a mașinilor vectoriale suport.



Regresia arborelui decizional

LA poate fi folosit atât pentru regresie, cât și . În cazul regresiei, folosim algoritmul ID3 (Dichotomiserul iterativ 3) pentru a identifica nodul de divizare prin reducerea abaterii standard.

Regresie forestieră aleatorie

În regresia aleatorie a pădurilor, adunăm predicțiile mai multor regresii ale arborelui decizional. Acum, că știm despre diferite tipuri de regresie, să aruncăm o privire asupra regresiei liniare simple în detaliu.

Ce este regresia liniară?

Regresia liniară simplă este o tehnică de regresie în care variabila independentă are o relație liniară cu variabila dependentă. Linia dreaptă din diagramă este cea mai potrivită linie. Scopul principal al regresiei liniare simple este de a lua în considerare punctele de date date și de a trasa cea mai bună linie de potrivire pentru a se potrivi modelului în cel mai bun mod posibil.

Înainte de a trece la modul în care funcționează algoritmul de regresie liniară, să aruncăm o privire la câteva terminologii importante în regresie liniară simplă.

Terminologii de regresie liniară

Următoarele terminologii sunt importante pentru a fi familiarizați înainte de a trece la algoritmul de regresie liniară.

Funcția de cost

Cea mai bună linie de potrivire se poate baza pe ecuația liniară dată mai jos.

  • Variabila dependentă care urmează să fie prezisă este notată cu Y.
  • O linie care atinge axa y este notată prin interceptarea b0.
  • bunueste panta liniei, x reprezintă variabilele independente care determină predicția lui Y.
  • Eroarea predicției rezultate este notată prin e.

Funcția de cost oferă cele mai bune valori posibile pentru b0și bunupentru a face cea mai bună linie de potrivire pentru punctele de date. O facem transformând această problemă într-o problemă de minimizare pentru a obține cele mai bune valori pentru b0și bunu. Eroarea este minimizată în această problemă între valoarea reală și valoarea prezisă.

Alegem funcția de mai sus pentru a minimiza eroarea. Pătrăm diferența de eroare și însumăm eroarea pe toate punctele de date, împărțirea între numărul total de puncte de date. Apoi, valoarea produsă furnizează eroarea pătrată medie asupra tuturor punctelor de date.

Este, de asemenea, cunoscut sub numele de MSE (Mean Squared Error) și schimbăm valorile lui b0și bunuastfel încât valoarea MSE să fie decontată la minimum.

Coborâre în gradient

Următoarea terminologie importantă pentru a înțelege regresia liniară este coborâre în gradient. Este o metodă de actualizare b0și bunuvalori pentru a reduce MSE. Ideea din spatele acestui lucru este să iterăm în continuare b0și bunuvalori până când reducem MSE la minim.

Pentru a actualiza b0și bunu, luăm gradienți din funcția de cost. Pentru a găsi acești gradienți, luăm derivate parțiale cu privire la b0și bunu. Aceste derivate parțiale sunt gradienții și sunt utilizate pentru a actualiza valorile lui b0și bunu.

O rată de învățare mai mică se apropie de minim, dar este nevoie de mai mult timp și în cazul unei rate de învățare mai mari. Timpul luat este mai devreme, dar există șansa de a depăși valoarea minimă. Acum, că am terminat cu terminologiile în regresie liniară, să aruncăm o privire asupra câtorva avantaje și dezavantaje ale regresiei liniare pentru învățarea automată.

Avantaje și dezavantaje

Avantaje Dezavantaje
Regresia liniară funcționează excepțional de bine pentru datele separabile liniarPresupunerea liniarității între variabile dependente și independente
Mai ușor de implementat, interpretat și eficient de instruitEste adesea destul de predispus la zgomot și supra-montare
Se ocupă destul de bine de supra-echipare folosind tehnici de reducere dimensională, regularizare și validare încrucișatăRegresia liniară este destul de sensibilă la valori aberante
Un alt avantaj este extrapolarea dincolo de un anumit set de dateEste predispus la multicoliniaritate

Regresie liniară cazuri de utilizare

  • Prognozarea vânzărilor

  • Analiza de risc

  • Aplicații de locuințe Pentru a prezice prețurile și alți factori

  • Aplicații financiare pentru a prezice prețurile acțiunilor, evaluarea investițiilor etc.

Ideea de bază din spatele regresiei liniare este de a găsi relația dintre variabilele dependente și independente. Este folosit pentru a obține cea mai bună linie de potrivire care ar prezice rezultatul cu cea mai mică eroare. Putem folosi regresia liniară în situații simple din viața reală, cum ar fi prezicerea scorurilor SAT în ceea ce privește numărul de ore de studiu și alți factori decisivi.

Având în vedere acest lucru, să aruncăm o privire la un caz de utilizare.

Caz de utilizare - Implementarea regresiei liniare

Procesul are loc în următorii pași:

  1. Încărcarea datelor
  2. Explorarea datelor
  3. Felierea datelor
  4. Antrenează și împarte datele
  5. Generați modelul
  6. Evaluează acuratețea

Să intrăm în detaliile fiecăruia dintre pașii de implementare a regresiei liniare.

1. Încărcarea datelor

Putem începe cu setul de date de bază despre diabet care este deja prezent în modulul de seturi de date sklearn (scikit-learn) pentru a ne începe călătoria cu regresie liniară.

din sklearn import seturi de date boală = datasets.load_diabetes () print (boală)

Ieșire:

2. Explorarea datelor

După ce am terminat încărcarea datelor, putem începe explorarea prin simpla verificare a etichetelor folosind următorul cod.

print (disease.keys ())

Ieșire:

Codul de mai sus oferă toate etichetele din setul de date, după aceasta, putem tăia datele astfel încât să putem trasa linia în cele din urmă. De asemenea, vom folosi toate punctele de date, deocamdată vom tăia coloana 2 din date.

valoarea implicită a caracterului în java
import numpy ca np disease_X = disease.data [:, np.newaxis, 2] print (disease_X)

Ieșire:

După acest pas, vom împărți datele în tren și set de testare.

3. Împărțirea datelor

maladie_X_train = boală_X [: - 30] boală_X_test = boală_X [-20:] boală_Y_train = boală.target [: - 30] boală_Y_test = boală.target [-20:]

Următoarea parte implică generarea modelului, care va include importul linear_model din sklearn.

4. Generarea modelului

din import sklearn linear_model reg = linear_model.LinearRegression () reg.fit (boală_X_train, boală_Y_train) y_predict = reg.predict (boală_X_test)

Pentru a evalua acuratețea modelului, vom utiliza eroarea pătrată medie din scikit-learn.

5. Evaluare

precizie = mean_squared_error (disease_Y_test, y_predict,) print (accuracy) greutăți = reg.coef_ intercept = reg.intercept_ print (greutăți, intercept)

Ieșire:

Pentru a fi mai clari cu privire la aspectul punctelor de date în grafic, haideți să trasăm și graficele.

import matplotlib.pyplot ca plt plt.scatter (maladie_X_test, boală_Y_test) plt.plot (boală_X_test, y_predict) plt.show ()

Ieșire:

Pentru a obține un model mai precis în acest scenariu, putem utiliza toate datele în loc doar de coloana 2. Acest lucru ar da o precizie așa cum se arată mai jos:

# faceți o mică modificare în codul de mai sus și eliminați codul de reprezentare pentru a evita erorile maladie_X = boală.data

Ieșire:

Acest lucru ne duce la sfârșitul acestui articol, unde am aflat despre regresia liniară pentru învățarea automată. Sper că ești clar cu tot ce ți-a fost împărtășit în acest tutorial.

Dacă ați găsit relevant acest articol despre „Regresia liniară pentru învățarea automată”, consultați o companie de învățare online de încredere, cu o rețea de peste 250.000 de elevi mulțumiți răspândiți pe tot globul.

Dacă întâmpinați întrebări, nu ezitați să vă adresați toate întrebările în secțiunea de comentarii din „Regresie liniară pentru învățarea automată”, iar echipa noastră va fi bucuroasă să vă răspundă.