Hvordan implementeres lineær regression til maskinindlæring?



Denne artikel dækker begrebet lineær regression til maskinindlæring med forskellige terminologier og en brugssag til implementering af lineær regression.

Fokus for drejer sig om input- og outputvariablerne ved hjælp af en algoritme til at forudsige resultatet. Hvis en ny inputvariabel kommer ind i billedet. Den lineære regressionsalgoritme i er en overvåget læringsteknik til tilnærmelse til kortlægningsfunktionen for at få de bedste forudsigelser. I denne artikel vil vi lære om lineær regression for maskinlæring. Følgende emner diskuteres i denne blog.

Hvad er regression?

Hovedmålet med regression er opbygningen af ​​en effektiv model til at forudsige de afhængige attributter fra en masse attributvariabler. Et regressionsproblem er, når outputvariablen enten er reel eller en kontinuerlig værdi, dvs. løn, vægt, areal osv.





Vi kan også definere regression som et statistisk middel, der bruges i applikationer som boliger, investeringer osv. Det bruges til at forudsige forholdet mellem en afhængig variabel og en masse uafhængige variabler. Lad os se på forskellige typer regressionsteknikker.

eksempel-lineær regression i maskinindlæring - edureka

Typer af regression

Følgende er typer af regression.



  1. Enkel lineær regression
  2. Polynomisk regression
  3. Støt vektorregression
  4. Beslutningstræets tilbagegang
  5. Tilfældig skovregression

Enkel lineær regression

En af de mest interessante og almindelige regressionsteknikker er simpel lineær regression. I dette forudsiger vi resultatet af en afhængig variabel baseret på de uafhængige variabler, forholdet mellem variablerne er lineært. Derfor ordet lineær regression.

Polynomisk regression

I denne regressionsteknik omdanner vi de originale træk til polynomiske træk af en given grad og udfører derefter regression på den.

Støt vektorregression

Til regression eller SVR, identificerer vi et hyperplan med maksimal margen, således at det maksimale antal datapunkter er inden for disse margener. Det svarer meget til algoritmen til klassificering af understøttende vektormaskine



Beslutningstræets tilbagegang

TIL kan bruges til både regression og . I tilfælde af regression bruger vi ID3-algoritmen (Iterativ dikotomiser 3) til at identificere delingsknudepunktet ved at reducere standardafvigelsen.

Tilfældig skovregression

I tilfældig skovregression samler vi forudsigelserne af adskillige beslutningstræregressioner. Nu hvor vi kender til forskellige former for regression, lad os se på enkel lineær regression i detaljer.

Hvad er lineær regression?

Enkel lineær regression er en regressionsteknik, hvor den uafhængige variabel har et lineært forhold til den afhængige variabel. Den lige linje i diagrammet er den bedst egnede linje. Hovedmålet med den enkle lineære regression er at overveje de givne datapunkter og plotte den bedste pasformslinje, så den passer bedst muligt til modellen.

Før vi går videre til, hvordan den lineære regressionsalgoritme fungerer, skal vi se på et par vigtige terminologier i simpel lineær regression.

java cast streng til dato

Lineære regressionsterminologier

Følgende terminologier er vigtige at være fortrolige med, inden vi går videre til den lineære regressionsalgoritme.

Omkostningsfunktion

Den bedste pasformlinje kan baseres på den lineære ligning nedenfor.

  • Den afhængige variabel, der skal forudsiges, er betegnet med Y.
  • En linje, der berører y-aksen, betegnes med skæringspunktet b0.
  • bener hældningen på linjen, x repræsenterer de uafhængige variabler, der bestemmer forudsigelsen af ​​Y.
  • Fejlen i den resulterende forudsigelse er betegnet med e.

Omkostningsfunktionen giver de bedst mulige værdier for b0og benfor at skabe den bedste pasformslinje til datapunkterne. Vi gør det ved at konvertere dette problem til et minimeringsproblem for at få de bedste værdier for b0og ben. Fejlen minimeres i dette problem mellem den faktiske værdi og den forudsagte værdi.

Vi vælger funktionen ovenfor for at minimere fejlen. Vi kvadrerer fejlforskellen og summerer fejlen over alle datapunkter, fordelingen mellem det samlede antal datapunkter. Derefter giver den producerede værdi den gennemsnitlige kvadratfejl over alle datapunkter.

Det er også kendt som MSE (Mean Squared Error), og vi ændrer værdierne for b0og bensåledes at MSE-værdien afregnes på et minimum.

Gradient Nedstigning

Den næste vigtige terminologi for at forstå lineær regression er gradient nedstigning. Det er en metode til opdatering b0og benværdier for at reducere MSE. Ideen bag dette er at fortsætte med at gentage b0og benværdier, indtil vi reducerer MSE til et minimum.

For at opdatere b0og ben, vi tager gradienter fra omkostningsfunktionen. For at finde disse gradienter tager vi delderivater med hensyn til b0og ben. Disse delderivater er gradienterne og bruges til at opdatere værdierne for b0og ben.

En mindre læringsrate tager tættere på minimumet, men det tager mere tid og i tilfælde af en større læringsrate. Det tager hurtigere tid, men der er en chance for at overskride minimumsværdien. Nu hvor vi er færdige med terminologierne inden for lineær regression, lad os se på et par fordele og ulemper ved lineær regression til maskinindlæring.

Fordele og ulemper

Fordele Ulemper
Lineær regression fungerer exceptionelt godt for lineært adskillelige dataAntagelsen om linearitet mellem afhængige og uafhængige variabler
Lettere at implementere, fortolke og effektivt at træneDet er ofte ret udsat for støj og overmontering
Det håndterer overfitting temmelig godt ved hjælp af dimensionelle reduktionsteknikker, regularisering og krydsvalideringLineær regression er ret følsom over for outliers
En yderligere fordel er ekstrapolering ud over et specifikt datasætDet er tilbøjeligt til multikollinearitet

Anvendelsestilfælde for lineær regression

  • Salgsprognoser

  • Risikoanalyse

  • Boligansøgninger til forudsigelse af priser og andre faktorer

  • Finansansøgninger til forudsigelse af aktiekurser, investeringsevaluering osv.

Den grundlæggende idé bag lineær regression er at finde forholdet mellem de afhængige og uafhængige variabler. Det bruges til at få den bedst passende linje, der forudsiger resultatet med den mindste fejl. Vi kan bruge lineær regression i enkle virkelige situationer, som at forudsige SAT-score med hensyn til antallet af studietimer og andre afgørende faktorer.

Med dette i tankerne, lad os se på en brugssag.

Brugssag - Implementering af lineær regression

Processen finder sted i følgende trin:

  1. Indlæser data
  2. Udforskning af dataene
  3. Udskæring af dataene
  4. Træn og del data
  5. Generer modellen
  6. Evaluer nøjagtigheden

Lad os komme ind i detaljerne i hvert af trinene til implementering af lineær regression.

1. Indlæsning af data

Vi kan starte med det grundlæggende diabetes datasæt, der allerede findes i sklearn (scikit-lær) datasættmodulet for at begynde vores rejse med lineær regression.

fra sklearn importer datasæt sygdom = datasæt.load_diabetes () print (sygdom)

Produktion:

2. Udforskning af dataene

Når vi er færdige med at indlæse dataene, kan vi begynde at udforske ved blot at kontrollere etiketterne ved hjælp af følgende kode.

print (sygdom.taster ())

Produktion:

Ovenstående kode giver alle etiketter fra datasættet, efter dette kan vi skære dataene, så vi kan plotte linjen til sidst. Vi bruger også alle datapunkterne, for nu vil vi skære kolonne 2 ud af dataene.

importer numpy som np disease_X = sygdom.data [:, np.newaxis, 2] print (sygdom_X)

Produktion:

Efter dette trin vil vi opdele dataene i tog og testsæt.

3. Opdeling af data

sygdom_X_train = sygdom_X [: - 30] sygdom_X_test = sygdom_X [-20:] sygdom_Y_train = sygdom.target [: - 30] sygdom_Y_test = sygdom.mål [-20:]

Den næste del involverer generering af modellen, som inkluderer import af linear_model fra sklearn.

4. Generering af modellen

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

For at evaluere nøjagtigheden af ​​modellen bruger vi den gennemsnitlige kvadrerede fejl fra scikit-learning.

5. Evaluering

nøjagtighed = middel_squared_error (sygdom_Y_test, y_forudsigelse,) print (nøjagtighed) vægte = reg.coef_ aflytning = reg.intercept_ udskrivning (vægte, aflytning)

Produktion:

For at være mere klar over, hvordan datapunkterne ser ud på grafen, lad os også plotte graferne.

importer matplotlib.pyplot som plt plt.scatter (sygdom_X_test, sygdom_Y_test) plt.plot (sygdom_X_test, y_forudsig) plt.show ()

Produktion:

For at få en mere nøjagtig model i dette scenarie kan vi bruge hele data i stedet for kun kolonne 2. Det ville give en nøjagtighed som vist nedenfor:

# Foretag en lille ændring i koden ovenfor, og fjern plottekoden for at undgå fejl sygdomme_X = sygdomsdata

Produktion:

Dette bringer os til slutningen af ​​denne artikel, hvor vi har lært om lineær regression til maskinlæring. Jeg håber, du er klar med alt, hvad der er delt med dig i denne vejledning.

Hvis du fandt denne artikel om “Lineær regression til maskinlæring” relevant, skal du tjekke et betroet online læringsfirma med et netværk på mere end 250.000 tilfredse elever spredt over hele kloden.

Hvis du støder på spørgsmål, er du velkommen til at stille alle dine spørgsmål i kommentarfeltet i “Lineær regression til maskinlæring”, og vores team vil med glæde svare.