Hvordan implementere lineær regresjon for maskinlæring?



Denne artikkelen dekker begrepet lineær regresjon for maskinlæring med forskjellige terminologier og en brukssak for å implementere lineær regresjon.

Fokus for kretser rundt inngangs- og utgangsvariablene ved hjelp av en algoritme for å forutsi resultatet. Hvis en ny inngangsvariabel kommer inn i bildet. Den lineære regresjonsalgoritmen i er en veiledet læringsteknikk for å tilnærme kartfunksjonen for å få de beste spådommene. I denne artikkelen vil vi lære om lineær regresjon for maskinlæring. Følgende emner er diskutert i denne bloggen.

Hva er regresjon?

Hovedmålet med regresjon er konstruksjonen av en effektiv modell for å forutsi de avhengige attributtene fra en haug med attributtvariabler. Et regresjonsproblem er når utgangsvariabelen enten er reell eller en kontinuerlig verdi, dvs. lønn, vekt, areal, etc.





Vi kan også definere regresjon som et statistisk middel som brukes i applikasjoner som bolig, investering osv. Den brukes til å forutsi forholdet mellom en avhengig variabel og en haug med uavhengige variabler. La oss ta en titt på forskjellige typer regresjonsteknikker.

eksempel-lineær regresjon i maskinlæring - edureka

Typer av regresjon

Følgende er typer regresjon.



  1. Enkel lineær regresjon
  2. Polynomisk regresjon
  3. Støtte vektorregresjon
  4. Beslutningstreetregresjon
  5. Tilfeldig skogregresjon

Enkel lineær regresjon

En av de mest interessante og vanlige regresjonsteknikkene er enkel lineær regresjon. I dette forutsier vi utfallet av en avhengig variabel basert på de uavhengige variablene, forholdet mellom variablene er lineært. Derfor ordet lineær regresjon.

Polynomisk regresjon

I denne regresjonsteknikken forvandler vi de opprinnelige funksjonene til polynomiske trekk av en gitt grad og utfører deretter regresjon på den.

Støtte vektorregresjon

Til regresjon eller SVR, identifiserer vi et hyperplan med maksimal margin slik at det maksimale antallet datapunkter er innenfor disse marginene. Det ligner ganske mye på algoritmen for støttevektormaskinklassifisering.



applikasjoner av stor dataanalyse

Beslutningstreetregresjon

TIL kan brukes både til regresjon og . I tilfelle regresjon bruker vi ID3-algoritmen (Iterativ dikotomiser 3) for å identifisere delingsnoden ved å redusere standardavviket.

Tilfeldig skogregresjon

I tilfeldig skogregresjon samler vi spådommene til flere beslutningstreetregresjoner. Nå som vi vet om forskjellige typer regresjon, kan vi se på enkel lineær regresjon i detalj.

Hva er lineær regresjon?

Enkel lineær regresjon er en regresjonsteknikk der den uavhengige variabelen har et lineært forhold til den avhengige variabelen. Den rette linjen i diagrammet er den beste linjen. Hovedmålet med den enkle lineære regresjonen er å vurdere de gitte datapunktene og plotte den beste passformlinjen for å passe modellen best mulig.

Før vi går videre til hvordan den lineære regresjonsalgoritmen fungerer, la oss ta en titt på noen viktige terminologier i enkel lineær regresjon.

Lineære regresjonsterminologier

Følgende terminologier er viktige å være kjent med før du går videre til den lineære regresjonsalgoritmen.

Kostnadsfunksjon

Linjen som passer best kan være basert på den lineære ligningen gitt nedenfor.

  • Den avhengige variabelen som skal forutsies er betegnet med Y.
  • En linje som berører y-aksen er betegnet med skjæringspunktet b0.
  • bener skråningen på linjen, x representerer de uavhengige variablene som bestemmer prediksjonen til Y.
  • Feilen i den resulterende prediksjonen er betegnet med e.

Kostnadsfunksjonen gir best mulige verdier for b0og benfor å få best mulig linje for datapunktene. Vi gjør det ved å konvertere dette problemet til et minimeringsproblem for å få de beste verdiene for b0og ben. Feilen minimeres i dette problemet mellom den faktiske verdien og den forventede verdien.

Vi velger funksjonen ovenfor for å minimere feilen. Vi kvadrerer feilforskjellen og summerer feilen over alle datapunkter, skillet mellom totalt antall datapunkter. Deretter gir den produserte verdien den gjennomsnittlige kvadratfeilen over alle datapunkter.

Det er også kjent som MSE (Mean Squared Error), og vi endrer verdiene til b0og benslik at MSE-verdien blir avgjort på et minimum.

Gradient Nedstigning

Den neste viktige terminologien for å forstå lineær regresjon er gradient nedstigning. Det er en metode for oppdatering b0og benverdier for å redusere MSE. Tanken bak dette er å fortsette å gjenta b0og benverdier til vi reduserer MSE til et minimum.

For å oppdatere b0og ben, tar vi stigninger fra kostnadsfunksjonen. For å finne disse gradientene tar vi delvis derivater med hensyn til b0og ben. Disse delderivatene er gradientene og brukes til å oppdatere verdiene til b0og ben.

En mindre læringsrate tar nærmere minimum, men det tar mer tid og i tilfelle en større læringsrate. Tiden det tar er raskere, men det er en sjanse til å overskride minimumsverdien. Nå som vi er ferdig med terminologiene innen lineær regresjon, la oss se på noen fordeler og ulemper ved lineær regresjon for maskinlæring.

Fordeler og ulemper

Fordeler Ulemper
Lineær regresjon fungerer eksepsjonelt godt for data som kan skilles lineærtAntagelsen om linearitet mellom avhengige og uavhengige variabler
Enklere å implementere, tolke og effektivt å treneDet er ofte ganske utsatt for støy og overmontering
Den håndterer overfitting ganske bra ved hjelp av dimensjonale reduksjonsteknikker, regularisering og kryssvalideringLineær regresjon er ganske følsom for avvikere
En annen fordel er ekstrapolering utover et bestemt datasettDet er utsatt for multikollinearitet

Brukstilfeller for lineær regresjon

  • Salgsprognoser

  • Risikoanalyse

  • Husapplikasjoner for å forutsi priser og andre faktorer

    angi Java-bane i Windows
  • Finansapplikasjoner for å forutsi aksjekurser, investeringsevaluering osv.

Den grunnleggende ideen bak lineær regresjon er å finne forholdet mellom de avhengige og uavhengige variablene. Den brukes til å få den best passende linjen som vil forutsi resultatet med minst feil. Vi kan bruke lineær regresjon i enkle virkelige situasjoner, som å forutsi SAT-poeng med hensyn til antall studietimer og andre avgjørende faktorer.

Med dette i tankene, la oss ta en titt på en brukssak.

Bruk sak - Implementering av lineær regresjon

Prosessen skjer i følgende trinn:

  1. Laster inn dataene
  2. Utforske dataene
  3. Slicing The Data
  4. Tog og del data
  5. Generer modellen
  6. Evaluere nøyaktigheten

La oss komme inn i detaljene i hvert av trinnene for å implementere lineær regresjon.

1. Laste inn dataene

Vi kan starte med det grunnleggende datasettet for diabetes som allerede er tilstede i sklearn (scikit-learning) datasettmodulen for å starte reisen med lineær regresjon.

fra sklearn importer datasett sykdom = datasett.load_diabetes () utskrift (sykdom)

Produksjon:

2. Utforske dataene

Når vi er ferdig med å laste inn dataene, kan vi begynne å utforske ved å bare sjekke etikettene ved å bruke følgende kode.

skriv ut (sykdom.taster ())

Produksjon:

Ovennevnte kode gir alle etikettene fra datasettet, etter dette kan vi skjære dataene slik at vi kan plotte linjen til slutt. Vi vil også bruke alle datapunktene, for nå vil vi kutte kolonne 2 fra dataene.

importer nummen som np disease_X = sykdom.data [:, np.newaxis, 2] utskrift (sykdom_X)

Produksjon:

Etter dette trinnet vil vi dele dataene i tog og testsett.

3. Splitte dataene

sykdom_X_train = sykdom_X [: - 30] sykdom_X_test = sykdom_X [-20:] sykdom_Y_train = sykdom.mål [: - 30] sykdom_Y_test = sykdom.mål [-20:]

Den neste delen innebærer å generere modellen, som inkluderer import av linear_model fra sklearn.

er en mastergrad en høyere grad

4. Generere modellen

fra sklearn import linear_model reg = linear_model.LinearRegression () reg.fit (disease_X_train, disease_Y_train) y_predict = reg.predict (disease_X_test)

For å evaluere nøyaktigheten til modellen, vil vi bruke den gjennomsnittlige kvadrerte feilen fra scikit-learning.

5. Evaluering

nøyaktighet = middel_squared_error (sykdom_Y_test, y_forutsi,) utskrift (nøyaktighet) vekter = reg.coef_ avskjær = reg.avskjær_ utskrift (vekter, avskjærer)

Produksjon:

For å være mer tydelig på hvordan datapunktene ser ut på grafen, la oss også plotte grafene.

importer matplotlib.pyplot som plt plt.scatter (sykdom_X_test, sykdom_Y_test) plt.plot (sykdom_X_test, y_forutsi) plt.show ()

Produksjon:

For å få en mer nøyaktig modell i dette scenariet, kan vi bruke hele dataene i stedet for bare kolonne 2. Det vil gi en nøyaktighet som vist nedenfor:

# Gjør en liten endring i koden ovenfor, og fjern plottkoden for å unngå feil sykdom_X = sykdomsdata

Produksjon:

Dette fører oss til slutten av denne artikkelen der vi har lært om lineær regresjon for maskinlæring. Jeg håper du er klar med alt som har blitt delt med deg i denne opplæringen.

Hvis du fant denne artikkelen om “Lineær regresjon for maskinlæring” relevant, kan du sjekke ut et pålitelig online læringsfirma med et nettverk av mer enn 250 000 fornøyde elever spredt over hele verden.

Hvis du kommer over noen spørsmål, er du velkommen til å stille alle spørsmålene dine i kommentarfeltet i 'Lineær regresjon for maskinlæring', og teamet vårt svarer gjerne.