Lineær regresjon i Python

I dataanalyse er nøkkelpåvirkere variabler som har en betydelig innvirkning på en avhengig variabel. Det er med andre ord de faktorene som bidrar mest til resultatet av interessen. I Python brukes lineær regresjon for å identifisere nøkkelpåvirkere i et datasett, og for å måle styrken og retningen på forholdet mellom ulike variabler. Du kan se hele videoen av denne opplæringen nederst på denne bloggen .

Identifisering av nøkkelpåvirkere kan være nyttig for å forstå de underliggende relasjonene i et datasett og for å lage spådommer om fremtidige utfall.

biblioteker tilbyr en rekke verktøy og funksjoner for å utføre regresjonsanalyse og identifisere viktige påvirkere i et datasett.

Innholdsfortegnelse

Bruke en lineær regresjonsmodell

I denne artikkelen vil jeg vise hvordan du kan bruke en lineær regresjonsmodell for å etterligne noen av LuckyTemplates nøkkelinfluenser. Målet vårt er å bruke alle variablene våre for å kunne beskrive hva som endrer seg i en annen variabel.

LuckyTemplates nøkkelinfluenser er en lineær regresjonsmodell. Ofte bruker vi dette selv om vi ikke vet nøyaktig hva som er under panseret. I denne opplæringen bruker jeg denne til å identifisere faktorene som bidrar til forsikringskostnader.

Lineær regresjon i Python

La oss ta en titt på datasettet for forsikringskostnadene. Jeg vil at dette skal forklares med røykerstatus, kjønn, region, barn, BMI og alder.

Lineær regresjon i Python

For øyeblikket viser nøkkelinfluenserne den mest innflytelsesrike variabelen. Når røykeren er ja, er den gjennomsnittlige kostnaden $23 615 enheter høyere sammenlignet med alle de andre verdiene til en røyker.

Det er et flott bilde, men det gir oss ingen andre variabler som kan påvirke ladningene.

Lineær regresjon i Python

La oss dykke dypt inn i det ved å endre rullegardinmenyen fra Øk til Reduser .

Denne gangen er det motsatt. Hvis du ikke er en røyker, er den gjennomsnittlige kostnaden $23 615 enheter lavere sammenlignet med alle de andre verdiene til en røyker.

Lineær regresjon i Python

Som du kan se, er dette en lineær regresjonsmodell som jeg bygde ved hjelp av noen Python-koder og overført til LuckyTemplates med minimal .

Når det gjelder koding, har vi full kontroll over det, og du vil se hvordan jeg bygde dette som et alternativ eller et komplement til nøkkelinfluenser-visualen.

Lineær regresjon i Python

La oss hoppe over til Jupiter Notebook. For en bedre forståelse, la meg forklare disse del for del.

Lineær regresjon i Python

Python-biblioteker brukt

Den første delen er der jeg lastet inn alle bibliotekene jeg vil bruke. Hvis du ikke er kjent med biblioteker, er de samlinger av koder og funksjoner som utviklere har bygget for oss.

Jeg importerte pandaer som pd som er et datamanipulasjonsbibliotek, og numpy som np for å tillate oss å gjøre lineære beregninger og betingelser.

Modeller brukt

La oss snakke om modellene jeg brukte. Jeg tok inn sklearn.linear_model som er en , og brukte en lineær regresjonsmodell. Bare i tilfelle vi trenger det, har jeg også hentet inn sklearn.preprocessing import StandardScaler som lar oss skalere dataene våre.

En annen modell jeg bruker heter xgboost import XGBRegressor . Det er en regresjonsmodell med et beslutningstre og andre nyttige aspekter.

I tillegg brukte jeg også train_set_split fordi jeg ønsker å kunne dele dataene mellom et treningssett og et læringssett. I maskinlæring trenger vi et sett med treningsdata for algoritmen å lære før den gjør noen spådommer.

Jeg tok også med mean_squared_error for å bestemme modellen og matplotlib.pyplot- biblioteket i tilfelle vi ønsker å gjøre noen bilder.

Vi bruker kanskje ikke alle disse, men det kan være nyttig, så jeg legger dem alle inn.

Lineær regresjon i Python

Datasett brukt

La oss deretter ta en rask titt på datasettet. Jeg brukte funksjonen df = pd.read_csv for å hente inn forsikringsdatasettet, og så konverterte jeg dataene til dummyvariabler ved å bruke df1 = pd.get_dummies (df, drop_first = True) .

Lineær regresjon i Python

For å gjøre dette, la oss lage en ny celle ved å trykke Esc + B på tastaturet og deretter skrive inn df.head for å evaluere dataene.

Vi har alder, kjønn, BMI, barn, røyker, region og ladninger som vi ønsker å forutsi som vår avhengige variabel. Dette er dataene som kommer inn uforberedt for maskinlæring.

I maskinlæring vil vi ikke kunne bruke kategoriske variabler som kvinne, mann, sørvest og nordvest. Derfor er det første vi må gjøre hvis det er en typisk regresjonsmodell å oversette de kategoriske variablene til numerisk input. 

Lineær regresjon i Python

For å gjøre det brukte jeg funksjonen pd.get_dummies og endret deretter denne til en numerisk kolonne ved å endre df.head til df1.head . La oss klikke på Kjør- knappen for å vise hvordan den ser ut.

Lineær regresjon i Python

Vi kan nå se denne nye samlingen av kolonner som sex_male , smoker_yes , region_northwest , og så videre. Algoritmen vet automatisk at hvis den er 1 betyr det ja og 0 betyr nei.

Merkbart at det ikke er sex_female og region_northeast fordi vi ikke ønsker å overkomplisere modellen. Vi droppet disse ved å bruke funksjonen drop_first = True .

Det neste jeg gjorde var å hente inn funksjonen LinearRegression og lagre den på variabelmodellen. 

Jeg opprettet også X- og Y-variabler for å forutsi våre Y-variabler og hentet deretter inn alle de andre kolonnene for våre prediktorer ved å bruke det samme datasettet som vi brukte tidligere.

Lineær regresjon i Python

For X-variabelen brukte vi df1.drop ('charges', axis=1) for å slippe ladninger. På den annen side trenger vi ladninger for Y-variabelen, det er derfor vi legger inn df1['charges'] .

Med funksjonene nedenfor laget jeg trenings- og testsett for både X og Y ved å bruke train_test_split- funksjonen og sendte dem inn i X- og Y-variablene.

I tillegg brukte jeg model.fit for å tilpasse treningsdataene til modellen vår. Dette betyr at den lineære regresjonsmodellen kommer til å lære treningsdataene. 

Lineær regresjon i Python

Denne gangen, la oss ta en titt på våre prediktorer. Måten vi ser dette på er gjennom koeffisienter fordi de beskriver hvordan hver av disse funksjonene eller variablene påvirker ladningene.

Det er også merkbart at antallet koeffisienter for smoker_yes er veldig nært hvis du skal sammenligne det med antallet av det vi har for nøkkelinfluenserne og i modellen vår. 

For å lage en tabell hvor vi har funksjonene og koeffisientene brukte jeg pd.DataFrame for å få inn koeffisientene inn i tabellen og lage det visuelle.

Lineær regresjon i Python

Lineær regresjon i Python

Bruk av forskjellige modeller for nøkkelinfluencer Visual

Det er også tilrådelig å bruke forskjellige modeller for å få de viktigste influencerne ved å ta inn XGB.Regressor

Når vi representerer modellen, er det bare en enkel lineær regresjon; men da vi tok inn XGB.Regressor, er det mange parametere vi kan bruke for å optimalisere modellen.

Lineær regresjon i Python

Jeg replikerte også disse funksjonene da jeg opprettet datarammen nedenfor. Disse koeffisientene er veldig forskjellige sammenlignet med det vi så i lineær regresjon.

Lineær regresjon i Python

Med denne tabellen er tallene nøyaktige. For eksempel, hvis du er en røyker, vil kostnadene øke med $23 787. Hvis du har ett barn, kommer det til å øke med $472, og så videre.

Lineær regresjon i Python

Disse influencerne er også viktige fordi de speiler det vi har på den lineære regresjonstabellen. Det er litt annerledes, men veldig nærme fordi disse influencerne oppsummerer til én. Dette er bare en annen måte å se på influencerne på.

Lineær regresjon i Python

Testing av nøyaktigheten til den lineære regresjonsanalysen

Etter det ønsker vi å se nøyaktigheten til modellen vår, og det er derfor vi har brukt y_pred = model.predict (X_test) . Den kom med en spådom om at den var av med 5885,7. 

Dette er bare et testsett med data, og om prediksjonen er god eller dårlig, må vi fortsatt evaluere den. Vi kommer ikke til å gjøre det akkurat nå siden vi kun fokuserer på våre viktigste påvirkere. 

Lineær regresjon i Python

Går tilbake til LuckyTemplates, vil jeg vise deg hvordan jeg setter dette veldig enkelt. Dette er en egen tabell hvor du kan se funksjonene og influencerne. 

Lineær regresjon i Python

Jeg gjorde det ved å gå til Transform data .

Lineær regresjon i Python

Deretter dupliserte jeg datasettet mitt og var i stand til å lage denne tabellen. Vi kan også gå til Applied Steps for å se koden og se på variablene vi brukte.

Lineær regresjon i Python

La oss åpne ved å dobbeltklikke på den. 

Lineær regresjon i Python

Vi hentet inn bibliotekene våre. Vi konverterte det til et maskinlæringsdatasett for forhåndsbehandling som bare var nuller og enere. 

Vi tok også inn en regresjonsmodell, laget X og Y for å passe til dataene, og lagret deretter tabellen som utdata. Modellen er god nok så jeg brukte ikke treningstestsett.

En annen ting jeg gjorde er å bytte datasettet til df fordi det bare er lettere å skrive. Datasettet er variabelen for de opprinnelige dataene.

Med denne tabellen lagret jeg den som utdata, det er derfor vi har disse koeffisientene.

Lineær regresjon i Python

For å ta med dette som en visualisering, klikk Lukk og bruk .

Lineær regresjon i Python

Vi har nå en . Jeg brukte også betinget formatering for å vise positive og negative.

Lineær regresjon i Python




Konklusjon

Avslutningsvis kan det å forstå viktige påvirkere og implementere lineær regresjon i Python være et kraftig verktøy for dataanalyse og prediksjon.

Ved å identifisere nøkkelfaktorene som påvirker en avhengig variabel og bruke lineær regresjon for å modellere deres relasjoner, kan vi bedre forstå og forutsi fremtidige utfall .

Med bruk av Pythons kraftige biblioteker er det enkelt å implementere lineær regresjon og trekke ut meningsfull innsikt fra data.

Beste ønsker,


LuckyTemplates egendefinerte ikoner | PBI visualiseringsteknikk

LuckyTemplates egendefinerte ikoner | PBI visualiseringsteknikk

Jeg vil diskutere en av mine favorittteknikker rundt LuckyTemplates egendefinerte ikoner, som bruker egendefinerte ikoner på en dynamisk måte i LuckyTemplates visuals.

Opprette LuckyTemplates-tabeller ved å bruke UNION & ROW-funksjonen

Opprette LuckyTemplates-tabeller ved å bruke UNION & ROW-funksjonen

I denne bloggen viser jeg deg hvordan du kan lage LuckyTemplates-tabeller ved å bruke en formel som kombinerer UNION-funksjonen og ROW-funksjonen.

On-Premises Data Gateway In Power Automate

On-Premises Data Gateway In Power Automate

Oppdag hvordan on-premises data gateway lar Power Automate få tilgang til skrivebordsapplikasjoner når brukeren er borte fra datamaskinen.

Oppdag unik innsikt ved å bruke LuckyTemplates TOPN-funksjon

Oppdag unik innsikt ved å bruke LuckyTemplates TOPN-funksjon

Denne bloggen inneholder LuckyTemplates TOPN DAX-funksjonen, som lar deg få unik innsikt fra dataene dine, og hjelper deg med å ta bedre markedsføringsbeslutninger.

Datamodellering i LuckyTemplates ved hjelp av støttetabeller

Datamodellering i LuckyTemplates ved hjelp av støttetabeller

Lær noen fantastiske analytiske teknikker som vi kan gjøre for datamodellering i LuckyTemplates ved å bruke DAX-støttetabeller.

Avansert DAX for LuckyTemplates: Implementering av rangeringslogikk på tvers av unik innsikt

Avansert DAX for LuckyTemplates: Implementering av rangeringslogikk på tvers av unik innsikt

Her dykker vi ned i LuckyTemplates Advanced DAX og implementerer rangeringslogikk for å få en helt unik innsikt. Jeg viser også frem målegrening i dette eksemplet.

LuckyTemplates What-If-parameterfunksjon

LuckyTemplates What-If-parameterfunksjon

Denne bloggen introduserer den nye funksjonen i LuckyTemplates, What-If-analyseparameteren. Du vil se hvordan det gjør alt raskt og enkelt for scenarioanalysen din.

Bruk LuckyTemplates Mål forgrening for å sjekke om marginene dine øker ettersom inntektene vokser

Bruk LuckyTemplates Mål forgrening for å sjekke om marginene dine øker ettersom inntektene vokser

Finn ut hvordan du kan finne ut om inntektsveksten din er god ved å sjekke om marginene dine økte ved å bruke LuckyTemplates som måler forgrening.

LuckyTemplates Parameters Via Query Editor

LuckyTemplates Parameters Via Query Editor

Lær og forstå hvordan du kan lage og bruke LuckyTemplates Parameters som er en kraftig funksjon i spørringsredigereren.

Rundt stolpediagram – en visualisering for dashbordet ditt

Rundt stolpediagram – en visualisering for dashbordet ditt

Denne opplæringen vil diskutere hvordan du lager et rundt søylediagram ved hjelp av Charticulator. Du vil lære hvordan du designer dem for LuckyTemplates-rapporten.