Hur implementerar man linjär regression för maskininlärning?



Denna artikel täcker begreppet linjär regression för maskininlärning med olika terminologier och ett användningsfall för att implementera linjär regression.

Fokus för kretsar kring input- och output-variablerna med hjälp av en algoritm för att förutsäga resultatet. Om en ny inmatningsvariabel kommer in i bilden. Den linjära regressionsalgoritmen i är en övervakad inlärningsteknik för att approximera kartfunktionen för att få bästa förutsägelser. I den här artikeln lär vi oss om linjär regression för maskininlärning. Följande ämnen diskuteras i den här bloggen.

Vad är regression?

Huvudmålet för regression är konstruktionen av en effektiv modell för att förutsäga de beroende attributen från en massa attributvariabler. Ett regressionsproblem är när produktionsvariabeln antingen är reell eller ett kontinuerligt värde dvs lön, vikt, area etc.





Vi kan också definiera regression som ett statistiskt medel som används i applikationer som bostäder, investeringar etc. Det används för att förutsäga förhållandet mellan en beroende variabel och en massa oberoende variabler. Låt oss ta en titt på olika typer av regressionstekniker.

exempel-linjär regression i maskininlärning - edureka

Typer av regression

Följande är typer av regression.



  1. Enkel linjär regression
  2. Polynomregression
  3. Stöd Vector Regression
  4. Beslutsträdregression
  5. Slumpmässig skogregression

Enkel linjär regression

En av de mest intressanta och vanliga regressionsteknikerna är enkel linjär regression. I detta förutsäger vi resultatet av en beroende variabel baserat på de oberoende variablerna, förhållandet mellan variablerna är linjärt. Därför ordet linjär regression.

Polynomregression

I denna regressionsteknik omvandlar vi de ursprungliga funktionerna till polynomiska egenskaper av en viss grad och utför sedan regression på den.

Stöd Vector Regression

För regression eller SVR, identifierar vi ett hyperplan med maximal marginal så att det maximala antalet datapunkter ligger inom dessa marginaler. Det liknar algoritmen för klassificering av maskin för stödvektor.



Beslutsträdregression

TILL kan användas för både regression och . Vid regression använder vi ID3-algoritmen (Iterativ dikotomiserare 3) för att identifiera delningsnoden genom att minska standardavvikelsen.

Slumpmässig skogregression

I slumpmässig skogsregression samlar vi förutsägelserna av flera beslutsträdregressioner. Nu när vi vet om olika typer av regression, låt oss titta på enkel linjär regression i detalj.

Vad är linjär regression?

Enkel linjär regression är en regressionsteknik där den oberoende variabeln har en linjär relation med den beroende variabeln. Den raka linjen i diagrammet är den bästa passformlinjen. Huvudmålet med den enkla linjära regressionen är att överväga de angivna datapunkterna och plotta den bästa passningslinjen för att passa modellen på bästa möjliga sätt.

Innan vi går vidare till hur den linjära regressionsalgoritmen fungerar, låt oss ta en titt på några viktiga terminologier i enkel linjär regression.

Linjära regressionsterminologier

Följande terminologier är viktiga att känna till innan vi går vidare till den linjära regressionsalgoritmen.

Kostnadsfunktion

Linjen för bästa passform kan baseras på den linjära ekvationen nedan.

vad gör en Linux-administratör

  • Den beroende variabeln som ska förutsägas betecknas med Y.
  • En linje som berör y-axeln betecknas med skärningen b0.
  • bettär lutningens linje, x representerar de oberoende variablerna som bestämmer förutsägelsen av Y.
  • Felet i den resulterande förutsägelsen betecknas med e.

Kostnadsfunktionen ger bästa möjliga värden för b0och bettför att göra den bästa passformen för datapunkterna. Vi gör det genom att omvandla detta problem till ett minimeringsproblem för att få de bästa värdena för b0och bett. Felet minimeras i detta problem mellan det verkliga värdet och det förutspådda värdet.

Vi väljer funktionen ovan för att minimera felet. Vi kvadrerar felskillnaden och summerar felet över alla datapunkter, delningen mellan det totala antalet datapunkter. Sedan ger det producerade värdet det genomsnittliga kvadratfelet över alla datapunkter.

Det är också känt som MSE (Mean Squared Error), och vi ändrar värdena för b0och bettså att MSE-värdet regleras till ett minimum.

Gradient Nedstigning

Nästa viktiga terminologi för att förstå linjär regression är gradient nedstigning. Det är en metod för uppdatering b0och bettvärden för att minska MSE. Tanken bakom detta är att fortsätta itera b0och bettvärden tills vi minskar MSE till ett minimum.

För att uppdatera b0och betttar vi lutningar från kostnadsfunktionen. För att hitta dessa gradienter tar vi partiella derivat med avseende på b0och bett. Dessa partiella derivat är gradienterna och används för att uppdatera värdena för b0och bett.

En lägre inlärningshastighet tar närmare det minsta, men det tar mer tid och vid en högre inlärningshastighet. Det tar längre tid men det finns en chans att överskrida minimivärdet. Nu när vi är klara med terminologierna inom linjär regression, låt oss titta på några fördelar och nackdelar med linjär regression för maskininlärning.

Fördelar och nackdelar

Fördelar Nackdelar
Linjär regression fungerar exceptionellt bra för linjärt separerbara dataAntagandet om linjäritet mellan beroende och oberoende variabler
Lättare att implementera, tolka och träna effektivtDet är ofta ganska benäget för buller och överanpassning
Det hanterar överanpassning ganska bra med hjälp av dimensionell reduktionsteknik, regularisering och korsvalideringLinjär regression är ganska känslig för avvikare
En ytterligare fördel är extrapolering utöver en specifik datamängdDet är benäget för multikollinearitet

Användningsfall för linjär regression

  • Försäljningsprognoser

  • Riskanalys

  • Bostadsapplikationer för att förutsäga priser och andra faktorer

  • Finansapplikationer för att förutsäga aktiekurser, investeringsutvärdering etc.

Grundidén bakom linjär regression är att hitta förhållandet mellan de beroende och oberoende variablerna. Den används för att få den bästa passande linjen som skulle förutsäga resultatet med minst fel. Vi kan använda linjär regression i enkla verkliga situationer, som att förutsäga SAT-poängen med avseende på antalet studietimmar och andra avgörande faktorer.

Med detta i åtanke, låt oss ta en titt på ett användningsfall.

Användningsfall - Implementering av linjär regression

Processen äger rum i följande steg:

  1. Laddar data
  2. Utforska data
  3. Skivning av data
  4. Träna och dela data
  5. Generera modellen
  6. Utvärdera noggrannheten

Låt oss gå in i detaljerna i vart och ett av stegen för att genomföra linjär regression.

1. Ladda data

Vi kan börja med den grundläggande diabetesdatamängden som redan finns i modulen sklearn (scikit-lär) för att börja vår resa med linjär regression.

från sklearn importera datamängder sjukdom = datamängder.load_diabetes () skriv ut (sjukdom)

Produktion:

2. Utforska data

När vi har laddat in data kan vi börja utforska genom att helt enkelt kontrollera etiketterna med hjälp av följande kod.

skriva ut (disease.keys ())

Produktion:

Ovanstående kod ger alla etiketter från datauppsättningen, efter detta kan vi skiva data så att vi kan plotta raden i slutändan. Vi kommer också att använda alla datapunkter, för nu kommer vi att skära kolumn 2 från data.

public string tostring ()
importera bedövad som np disease_X = disease.data [:, np.newaxis, 2] print (disease_X)

Produktion:

Efter detta steg kommer vi att dela upp data i tåg och testuppsättning.

3. Dela upp data

sjukdom_X_train = sjukdom_X [: - 30] sjukdom_X_test = sjukdom_X [-20:] sjukdom_Y_train = sjukdom.mål [: - 30] sjukdom_Y_test = sjukdom.mål [-20:]

Nästa del handlar om att generera modellen, som inkluderar import av linear_model från sklearn.

4. Generera modellen

från sklearn importerar linjär_modell reg = linjär_modell.LinearRegression () reg.fit (sjukdom_X_train, sjukdom_Y_train) y_predict = reg.predict (sjukdom_X_test)

För att utvärdera modellens noggrannhet kommer vi att använda medelkvadratfelet från scikit-learning.

5. Utvärdering

noggrannhet = medel_kvadratfel (sjukdom_Y_test, y_förutsäg,) utskrift (noggrannhet) vikter = reg.coef_ avlyssning = reg.avlyssning_ utskrift (vikter, avlyssning)

Produktion:

För att vara tydligare på hur datapunkterna ser ut i diagrammet, låt oss också plotta graferna.

importera matplotlib.pyplot som plt plt.scatter (sjukdom_X_test, sjukdom_Y_test) plt.plot (sjukdom_X_test, y_predict) plt.show ()

Produktion:

För att få en mer exakt modell i detta scenario kan vi använda hela data istället för bara kolumn 2. Det skulle ge en noggrannhet som visas nedan:

#Gör en liten förändring i koden ovan och ta bort plotningskoden för att undvika fel disease_X = disease.data

Produktion:

Detta leder oss till slutet av den här artikeln där vi har lärt oss om linjär regression för maskininlärning. Jag hoppas att du är tydlig med allt som har delats med dig i denna handledning.

Om du tyckte att den här artikeln om ”Linjär regression för maskininlärning” var relevant, kolla in ett pålitligt online-lärande företag med ett nätverk med mer än 250 000 nöjda elever spridda över hela världen.

Om du stöter på några frågor är du välkommen att ställa alla dina frågor i kommentarsektionen i ”Linjär regression för maskininlärning” så svarar vårt team gärna.