Lineær regression i Python

I dataanalyse er nøgleinfluenser variabler, der har en væsentlig indflydelse på en afhængig variabel. Det er med andre ord de faktorer, der bidrager mest til resultatet af interessen. I Python bruges lineær regression til at identificere centrale influencers i et datasæt og til at måle styrken og retningen af ​​forholdet mellem forskellige variabler. Du kan se den fulde video af denne tutorial nederst på denne blog .

Identifikation af centrale influencers kan være nyttigt til at forstå de underliggende relationer i et datasæt og til at lave forudsigelser om fremtidige resultater.

biblioteker tilbyder en række værktøjer og funktioner til at udføre regressionsanalyse og identificere nøgleinfluenter i et datasæt.

Indholdsfortegnelse

Brug af en lineær regressionsmodel

I denne artikel vil jeg vise, hvordan du kan bruge en lineær regressionsmodel til at efterligne nogle af LuckyTemplates nøgleinfluencer. Vores mål er at bruge alle vores variabler til at kunne beskrive, hvad der ændrer sig i en anden variabel.

LuckyTemplates nøgleinfluencer er en lineær regressionsmodel. Ofte bruger vi dette, selvom vi ikke ved præcis, hvad der er under hætten. I dette selvstudie bruger jeg dette til at identificere de faktorer, der bidrager til forsikringsgebyrer.

Lineær regression i Python

Lad os tage et kig på datasættet for forsikringsafgifterne. Jeg ønsker, at dette skal forklares ud fra rygerstatus, køn, region, børn, BMI og alder.

Lineær regression i Python

I øjeblikket viser de vigtigste influencers den mest indflydelsesrige variabel. Når rygeren er ja, er den gennemsnitlige afgift $23.615 enheder højere sammenlignet med alle de andre værdier for en ryger.

Det er et fantastisk billede, men det giver os ikke andre variabler, der kan påvirke afgifterne.

Lineær regression i Python

Lad os dykke dybt ned i det ved at ændre rullemenuen fra Forøg til Formindsk .

Denne gang er det modsat. Hvis du ikke er ryger, er den gennemsnitlige afgift $23.615 enheder lavere sammenlignet med alle de andre værdier for en ryger.

Lineær regression i Python

Som du kan se, er dette en lineær regressionsmodel, som jeg byggede ved hjælp af nogle Python-koder og overførte til LuckyTemplates med minimal .

Med hensyn til kodning har vi fuldstændig kontrol over det, og du vil se, hvordan jeg byggede dette som et alternativ eller et supplement til de vigtigste influencers visuelle.

Lineær regression i Python

Lad os hoppe over til Jupiter Notebook. For en bedre forståelse, lad mig forklare disse del for del.

Lineær regression i Python

Python biblioteker brugt

Den første del er, hvor jeg indlæste alle de biblioteker, som jeg vil bruge. Hvis du ikke er bekendt med biblioteker, er de samlinger af koder og funktioner, som udviklere har bygget til os.

Jeg importerede pandaer som pd, som er et datamanipulationsbibliotek, og numpy som np for at give os mulighed for at lave lineære beregninger og betingelser.

Brugte modeller

Lad os tale om de modeller, jeg brugte. Jeg bragte sklearn.linear_model som er en , og brugte en lineær regressionsmodel. Bare hvis vi skulle få brug for det, bragte jeg også sklearn.preprocessing import StandardScaler , som giver os mulighed for at skalere vores data.

En anden model, som jeg bruger, hedder xgboost import XGBRegressor . Det er en regressionsmodel med et beslutningstræ og andre nyttige aspekter.

Derudover brugte jeg også train_set_split , fordi jeg gerne vil kunne opdele data mellem et træningssæt og et læringssæt. I Machine Learning har vi brug for et sæt træningsdata, som algoritmen kan lære, før den foretager nogen forudsigelser.

Jeg bragte også mean_squared_error for at bestemme modellen og matplotlib.pyplot- biblioteket, hvis vi vil lave nogle billeder.

Vi bruger måske ikke alle disse, men det kan være nyttigt, så jeg lægger dem alle sammen.

Lineær regression i Python

Datasæt brugt

Lad os derefter tage et hurtigt kig på datasættet. Jeg brugte funktionen df = pd.read_csv til at hente forsikringsdatasættet og derefter konverterede jeg dataene til dummyvariabler ved at bruge df1 = pd.get_dummies (df, drop_first = True) .

Lineær regression i Python

For at gøre dette, lad os oprette en ny celle ved at trykke på Esc + B på vores tastatur og derefter skrive df.head for at evaluere dataene.

Vi har alder, køn, BMI, børn, ryger, region og ladninger, som vi ønsker at forudsige som vores afhængige variabel. Det er de data, der kommer ind uforberedt til maskinlæring.

I maskinlæring vil vi ikke være i stand til at bruge kategoriske variabler som kvinde, mand, sydvest og nordvest. Derfor er den første ting, vi skal gøre, hvis det er en typisk regressionsmodel, at oversætte de kategoriske variable til numerisk input. 

Lineær regression i Python

For at gøre det brugte jeg funktionen pd.get_dummies og ændrede så også denne til en numerisk kolonne ved at ændre df.head til df1.head . Lad os klikke på Kør- knappen for at vise, hvordan det ser ud.

Lineær regression i Python

Vi kan nu se denne nye samling af kolonner såsom sex_male , smoker_yes , region_northwest , og så videre. Algoritmen ved automatisk, at hvis det er 1, betyder det ja, og 0 betyder nej.

Det er bemærkelsesværdigt, at der ikke er sex_female og region_northeast , fordi vi ikke ønsker at overkomplicere modellen. Vi droppede dem ved at bruge drop_first = True- funktionen.

Den næste ting, jeg gjorde, var at bringe LinearRegression -funktionen ind og gemte den på den variable model. 

Jeg oprettede også X- og Y-variabler for at forudsige vores Y-variable og bragte derefter alle de andre kolonner til vores forudsigere ved at bruge det samme datasæt, som vi brugte tidligere.

Lineær regression i Python

For X-variablen brugte vi df1.drop ('charges', axis=1) til at droppe ladninger. På den anden side har vi brug for gebyrer for Y-variablen, det er derfor, vi sætter df1['charges'] ind .

Med funktionerne nedenfor oprettede jeg trænings- og testsæt for både X og Y ved at bruge funktionen train_test_split og sendte dem ind i X- og Y-variablerne.

Derudover brugte jeg model.fit til at tilpasse træningsdataene til vores model. Dette betyder, at den lineære regressionsmodel vil lære træningsdataene. 

Lineær regression i Python

Lad os denne gang tage et kig på vores forudsigelser. Den måde, vi ser dette på, er gennem koefficienter, fordi de beskriver, hvordan hver enkelt af disse funktioner eller variabler påvirker afgifterne.

Det er også bemærkelsesværdigt, at antallet af koefficienter for smoker_yes er meget tæt på, hvis man sammenligner det med antallet af, hvad vi har for de vigtigste influencers og i vores model. 

For at lave en tabel, hvor vi har funktionerne og koefficienterne, brugte jeg pd.DataFrame for at bringe koefficienterne ind i tabellen og skabe det visuelle.

Lineær regression i Python

Lineær regression i Python

Brug af forskellige modeller til de visuelle nøgleinfluencers

Det er også tilrådeligt at bruge forskellige modeller for at få de vigtigste influencers ved at bringe XGB.Regressor ind . 

Når vi repræsenterer modellen, er det blot en simpel lineær regression; men da vi bragte XGB.Regressor ind, er der en masse parametre, som vi kan bruge til at optimere modellen.

Lineær regression i Python

Jeg replikerede også disse funktioner, da jeg oprettede datarammen nedenfor. Disse koefficienter er meget forskellige i forhold til, hvad vi så i lineær regression.

Lineær regression i Python

Med denne tabel er tallene nøjagtige. Hvis du f.eks. er ryger, vil dine gebyrer stige med 23.787 USD. Hvis du har et barn, vil det stige med $472, og så videre.

Lineær regression i Python

Disse influencers er også vigtige, fordi de afspejler det, vi har på den lineære regressionstabel. Det er lidt anderledes, men meget tæt på, fordi disse influencers opsummerer til én. Dette er bare en anderledes måde at se på influencerne på.

Lineær regression i Python

Test af nøjagtigheden af ​​den lineære regressionsanalyse

Derefter vil vi se nøjagtigheden af ​​vores model, og derfor har vi brugt y_pred = model.predict (X_test) . Den kom med en forudsigelse om, at den var slukket med 5885,7. 

Dette er blot et testsæt af data, og om forudsigelsen er god eller dårlig, skal vi stadig evaluere den. Det kommer vi ikke til at gøre lige nu, da vi kun fokuserer på vores vigtigste influencers. 

Lineær regression i Python

Går tilbage til LuckyTemplates, vil jeg vise dig, hvordan jeg sætter dette meget nemt. Dette er en separat tabel, hvor du kan se funktionerne og influencerne. 

Lineær regression i Python

Det gjorde jeg ved at gå til Transform data .

Lineær regression i Python

Derefter duplikerede jeg mit datasæt og var i stand til at oprette denne tabel. Vi kan også gå til de anvendte trin for at se koden og gennemgå de variabler, vi brugte.

Lineær regression i Python

Lad os åbne den ved at dobbeltklikke på den. 

Lineær regression i Python

Vi hentede vores biblioteker ind. Vi konverterede det til et maskinlæringsdatasæt, der kun var nuller og etaller. 

Vi bragte også en regressionsmodel ind, skabte vores X og Y for at passe til dataene og gemte derefter tabellen som output. Modellen er god nok, så jeg brugte ikke et træningstestsæt.

En anden ting, jeg gjorde, var at skifte datasættet til df , fordi det bare er nemmere at skrive. Datasættet er variablen for de originale data.

Med denne tabel gemte jeg den som output, det er derfor, vi har disse koefficienter.

Lineær regression i Python

For at bringe dette som en visualisering skal du klikke på Luk og anvend .

Lineær regression i Python

Vi har nu en . Jeg brugte også betinget formatering til at vise de positive og negative sider.

Lineær regression i Python




Konklusion

Afslutningsvis kan forståelse af nøgleinfluenter og implementering af lineær regression i Python være et kraftfuldt værktøj til dataanalyse og forudsigelse.

Ved at identificere de nøglefaktorer, der påvirker en afhængig variabel, og bruge lineær regression til at modellere deres relationer, kan vi bedre forstå og forudsige fremtidige resultater .

Med brugen af ​​Pythons kraftfulde biblioteker er det nemt at implementere lineær regression og udtrække meningsfuld indsigt fra data.

Alt det bedste,


Oplev unik indsigt ved hjælp af LuckyTemplates TOPN-funktion

Oplev unik indsigt ved hjælp af LuckyTemplates TOPN-funktion

Denne blog indeholder LuckyTemplates TOPN DAX-funktionen, som giver dig mulighed for at få unik indsigt fra dine data, hvilket hjælper dig med at træffe bedre markedsføringsbeslutninger.

Datamodellering i LuckyTemplates ved hjælp af understøttende tabeller

Datamodellering i LuckyTemplates ved hjælp af understøttende tabeller

Lær nogle fantastiske analytiske teknikker, som vi kan gøre til datamodellering i LuckyTemplates ved hjælp af DAX-understøttende tabeller.

Avanceret DAX til LuckyTemplates: Implementering af rangeringslogik på tværs af unikke indsigter

Avanceret DAX til LuckyTemplates: Implementering af rangeringslogik på tværs af unikke indsigter

Her dykker vi ned i LuckyTemplates Advanced DAX og implementerer rangeringslogik for at få en meget unik indsigt. Jeg viser også måleforgrening i dette eksempel.

LuckyTemplates What-If-parameterfunktion

LuckyTemplates What-If-parameterfunktion

Denne blog introducerer den nye funktion i LuckyTemplates, What-If-analyseparameteren. Du vil se, hvordan det gør alt hurtigt og nemt til din scenarieanalyse.

Brug LuckyTemplates Mål forgrening for at kontrollere, om dine avancer udvides, efterhånden som omsætningen vokser

Brug LuckyTemplates Mål forgrening for at kontrollere, om dine avancer udvides, efterhånden som omsætningen vokser

Lær, hvordan du afgør, om din omsætningsvækst er god ved at kontrollere, om dine avancer er udvidet ved hjælp af LuckyTemplates, der måler forgrening.

LuckyTemplates-parametre via forespørgselseditor

LuckyTemplates-parametre via forespørgselseditor

Lær og forstå, hvordan du kan oprette og bruge LuckyTemplates Parameters, som er en kraftfuld funktion i Query Editor.

Rundt søjlediagram – en visualisering til dit dashboard

Rundt søjlediagram – en visualisering til dit dashboard

Denne vejledning vil diskutere om oprettelse af et rundt søjlediagram ved hjælp af Charticulator. Du lærer, hvordan du designer dem til din LuckyTemplates-rapport.

PowerApps funktioner og formler | En introduktion

PowerApps funktioner og formler | En introduktion

Lær, hvordan du bruger PowerApps-funktioner og -formler til at forbedre funktionaliteten og ændre adfærd i vores Power Apps-lærredsapp.

Pipe In R: Tilslutningsfunktioner med Dplyr

Pipe In R: Tilslutningsfunktioner med Dplyr

I denne øvelse lærer du, hvordan du kæder funktioner sammen ved hjælp af dplyr-røroperatoren i programmeringssproget R.

RANKX Deep Dive: A Lucky Templates DAX-funktion

RANKX Deep Dive: A Lucky Templates DAX-funktion

RANKX fra LuckyTemplates giver dig mulighed for at returnere rangeringen af ​​et specifikt tal i hver tabelrække, der udgør en del af en liste over tal.