Linjär regression i Python

Inom dataanalys är nyckelinfluenser variabler som har en betydande inverkan på en beroende variabel. Det är med andra ord de faktorer som bidrar mest till resultatet av intresset. I Python används linjär regression för att identifiera viktiga påverkare i en datamängd, och för att mäta styrkan och riktningen av relationen mellan olika variabler. Du kan se hela videon av denna handledning längst ner på den här bloggen .

Att identifiera viktiga påverkare kan vara användbart för att förstå de underliggande relationerna i en datauppsättning och för att göra förutsägelser om framtida resultat.

Bibliotek tillhandahåller en rad verktyg och funktioner för att utföra regressionsanalys och identifiera viktiga påverkare i en datauppsättning.

Innehållsförteckning

Använda en linjär regressionsmodell

I den här artikeln kommer jag att visa hur du kan använda en linjär regressionsmodell för att efterlikna några av LuckyTemplates nyckelinfluenser. Vårt mål är att använda alla våra variabler för att kunna beskriva vad som förändras i en annan variabel.

LuckyTemplates nyckelinfluenser är en linjär regressionsmodell. Ofta använder vi detta även om vi inte vet exakt vad som finns under huven. I den här handledningen använder jag detta för att identifiera de faktorer som bidrar till försäkringsavgifter.

Linjär regression i Python

Låt oss ta en titt på datamängden för försäkringsavgifterna. Jag vill att detta ska förklaras av rökarstatus, kön, region, barn, BMI och ålder.

Linjär regression i Python

För närvarande visar nyckelinfluenser den mest inflytelserika variabeln. När rökaren är ja, är den genomsnittliga avgiften $23 615 enheter högre jämfört med alla andra värden för en rökare.

Det är en fantastisk bild, men den ger oss inga andra variabler som kan påverka avgifterna.

Linjär regression i Python

Låt oss fördjupa oss i det genom att ändra rullgardinsmenyn från Öka till Minska .

Den här gången är det tvärtom. Om du inte är rökare är den genomsnittliga avgiften $23 615 enheter lägre jämfört med alla andra värden för en rökare.

Linjär regression i Python

Som du kan se är detta en linjär regressionsmodell som jag byggde med hjälp av några Python-koder och överförde till LuckyTemplates med minimal .

När det gäller kodning har vi fullständig kontroll över det, och du kommer att se hur jag byggde detta som ett alternativ eller ett komplement till de viktigaste influencers visuella.

Linjär regression i Python

Låt oss hoppa över till Jupiter Notebook. För en bättre förståelse, låt mig förklara dessa del för del.

Linjär regression i Python

Python-bibliotek används

Den första delen är där jag laddade alla bibliotek som jag vill använda. Om du inte är bekant med bibliotek är de samlingar av koder och funktioner som utvecklare har byggt åt oss.

Jag importerade pandor som pd som är ett datamanipuleringsbibliotek och numpy som np för att tillåta oss att göra linjära beräkningar och villkor.

Använda modeller

Låt oss prata om modellerna som jag använde. Jag tog in sklearn.linear_model som är en , och använde en linjär regressionsmodell. Ifall vi skulle behöva det, tog jag också in sklearn.preprocessing import StandardScaler som gör att vi kan skala vår data.

En annan modell som jag använder heter xgboost import XGBRegressor . Det är en regressionsmodell med ett beslutsträd och andra användbara aspekter.

Dessutom använde jag även train_set_split eftersom jag vill kunna dela upp data mellan ett träningsset och ett inlärningsset. I maskininlärning behöver vi en uppsättning träningsdata för algoritmen att lära sig innan den gör några förutsägelser.

Jag tog också in mean_squared_error för att bestämma modellen och matplotlib.pyplot -biblioteket om vi skulle vilja göra några bilder.

Vi kanske inte använder alla dessa, men det kan vara till hjälp, så jag lägger in dem alla.

Linjär regression i Python

Dataset används

Låt oss sedan ta en snabb titt på datasetet. Jag använde funktionen df = pd.read_csv för att ta in försäkringsdataset och sedan konverterade jag data till dummyvariabler genom att använda df1 = pd.get_dummies (df, drop_first = True) .

Linjär regression i Python

För att göra detta, låt oss skapa en ny cell genom att trycka på Esc + B på vårt tangentbord och skriv sedan in df.head för att utvärdera data.

Vi har ålder, kön, BMI, barn, rökare, region och avgifter som vi vill förutsäga som vår beroende variabel. Det här är data som kommer in oförberedda för maskininlärning.

I maskininlärning kommer vi inte att kunna använda kategoriska variabler som hona, manlig, sydväst och nordväst. Därför är det första vi behöver göra om det är en typisk regressionsmodell att översätta de kategoriska variablerna till numerisk input. 

Linjär regression i Python

För att göra det använde jag funktionen pd.get_dummies och ändrade sedan även detta till en numerisk kolumn genom att ändra df.head till df1.head . Låt oss klicka på knappen Kör för att visa hur det ser ut.

Linjär regression i Python

Vi kan nu se den här nya samlingen av kolumner som sex_man , smoker_yes , region_northwest , och så vidare. Algoritmen vet automatiskt att om det är 1 betyder det ja och 0 betyder nej.

Märkbart, det finns ingen sex_female och region_northeast eftersom vi inte vill överkomplicera modellen. Vi tog bort dem genom att använda drop_first = True -funktionen.

Nästa sak jag gjorde är att ta in funktionen LinearRegression och spara den på variabelmodellen. 

Jag skapade också X- och Y-variabler för att förutsäga våra Y-variabler och tog sedan in alla andra kolumner för våra prediktorer genom att använda samma datauppsättning som vi använde tidigare.

Linjär regression i Python

För X-variabeln använde vi df1.drop ('charges', axis=1) för att släppa laddningar. Å andra sidan behöver vi avgifter för Y-variabeln, det är därför vi lägger in df1['charges'] .

Med funktionerna nedan skapade jag tränings- och testuppsättningar för både X och Y genom att använda funktionen train_test_split och skickade in dem i X- och Y-variablerna.

Dessutom använde jag model.fit för att anpassa träningsdatan till vår modell. Detta innebär att den linjära regressionsmodellen kommer att lära sig träningsdata. 

Linjär regression i Python

Den här gången ska vi ta en titt på våra prediktorer. Sättet vi ser detta är genom koefficienter eftersom de beskriver hur var och en av dessa funktioner eller variabler påverkar avgifterna.

Det märks också att antalet koefficienter för smoker_yes är väldigt nära om man ska jämföra det med antalet av vad vi har för de viktigaste influencers och i vår modell. 

För att skapa en tabell där vi har funktionerna och koefficienterna använde jag pd.DataFrame för att få in koefficienterna i tabellen och skapa det visuella.

Linjär regression i Python

Linjär regression i Python

Använda olika modeller för de viktigaste influencererna Visual

Det är också tillrådligt att använda olika modeller för att få de viktigaste influencers genom att ta in XGB.Regressor

När vi representerar modellen är det bara en enkel linjär regression; men när vi tog in XGB.Regressor finns det många parametrar som vi kan använda för att optimera modellen.

Linjär regression i Python

Jag replikerade också dessa funktioner när jag skapade dataramen nedan. Dessa koefficienter är mycket olika jämfört med vad vi såg i linjär regression.

Linjär regression i Python

Med denna tabell är siffrorna exakta. Om du till exempel är rökare kommer dina avgifter att öka med 23 787 USD. Om du har ett barn kommer det att öka med $472, och så vidare.

Linjär regression i Python

Dessa influencers är också viktiga eftersom de speglar vad vi har på den linjära regressionstabellen. Det är lite annorlunda men väldigt nära eftersom dessa influencers summerar till en. Det här är bara ett annat sätt att se på influencers.

Linjär regression i Python

Testa noggrannheten hos den linjära regressionsanalysen

Efter det vill vi se noggrannheten i vår modell, det är därför vi har använt y_pred = model.predict (X_test) . Den kom med en förutsägelse att den var avstängd med 5885,7. 

Detta är bara en testuppsättning av data och om förutsägelsen är bra eller dålig måste vi fortfarande utvärdera den. Vi kommer inte att göra det just nu eftersom vi bara fokuserar på våra viktigaste influencers. 

Linjär regression i Python

Gå tillbaka till LuckyTemplates, jag kommer att visa dig hur jag sätter detta väldigt enkelt. Detta är en separat tabell där du kan se funktionerna och influencers. 

Linjär regression i Python

Jag gjorde det genom att gå till Transform data .

Linjär regression i Python

Sedan duplicerade jag min datauppsättning och kunde skapa den här tabellen. Vi kan också gå till de tillämpade stegen för att se koden och granska de variabler som vi använde.

Linjär regression i Python

Låt oss öppna genom att dubbelklicka på den. 

Linjär regression i Python

Vi tog in våra bibliotek. Vi konverterade den till en datauppsättning för maskininlärning, förbearbetning som bara var nollor och ettor. 

Vi tog också in en regressionsmodell, skapade våra X och Y för att passa data och sparade sedan tabellen som utdata. Modellen är tillräckligt bra så jag använde inget träningstestset.

En annan sak som jag gjorde är att byta datasetet till df eftersom det bara är lättare att skriva. Datauppsättningen är variabeln för originaldata.

Med den här tabellen sparade jag den som utdata, det är därför vi har dessa koefficienter.

Linjär regression i Python

Klicka på Stäng och använd om du vill ta det här som en visualisering .

Linjär regression i Python

Vi har nu en . Jag använde också villkorlig formatering för att visa positiva och negativa.

Linjär regression i Python




Slutsats

Sammanfattningsvis kan förståelse av viktiga påverkare och implementera linjär regression i Python vara ett kraftfullt verktyg för dataanalys och förutsägelse.

Genom att identifiera nyckelfaktorerna som påverkar en beroende variabel och använda linjär regression för att modellera deras samband, kan vi bättre förstå och förutsäga framtida utfall .

Med användning av Pythons kraftfulla bibliotek är det enkelt att implementera linjär regression och extrahera meningsfulla insikter från data.

Med vänliga hälsningar,


Upptäck unika insikter med LuckyTemplates TOPN-funktion

Upptäck unika insikter med LuckyTemplates TOPN-funktion

Den här bloggen innehåller LuckyTemplates TOPN DAX-funktion, som gör att du kan få unika insikter från dina data, vilket hjälper dig att fatta bättre marknadsföringsbeslut.

Datamodellering i LuckyTemplates med hjälp av stödtabeller

Datamodellering i LuckyTemplates med hjälp av stödtabeller

Lär dig några fantastiska analytiska tekniker som vi kan göra för datamodellering i LuckyTemplates med hjälp av DAX-stödtabeller.

Avancerad DAX för LuckyTemplates: Implementering av rankningslogik över unika insikter

Avancerad DAX för LuckyTemplates: Implementering av rankningslogik över unika insikter

Här dyker vi in ​​i LuckyTemplates Advanced DAX och implementerar rankningslogik för att få en mycket unik insikt. Jag visar också upp måttförgrening i det här exemplet.

LuckyTemplates What-If-parameterfunktion

LuckyTemplates What-If-parameterfunktion

Den här bloggen introducerar den nya funktionen i LuckyTemplates, analysparametern What-If. Du kommer att se hur det gör allt snabbt och enkelt för din scenarioanalys.

Använd LuckyTemplates Mät förgreningar för att kontrollera om dina marginaler ökar när intäkterna växer

Använd LuckyTemplates Mät förgreningar för att kontrollera om dina marginaler ökar när intäkterna växer

Lär dig hur du avgör om din intäktstillväxt är bra genom att kontrollera om dina marginaler ökade med hjälp av LuckyTemplates mäter förgrening.

LuckyTemplates parametrar via frågeredigerare

LuckyTemplates parametrar via frågeredigerare

Lär dig och förstå hur du kan skapa och använda LuckyTemplates-parametrar som är en kraftfull funktion i frågeredigeraren.

Runda stapeldiagram – En visualisering för din instrumentpanel

Runda stapeldiagram – En visualisering för din instrumentpanel

Denna handledning kommer att diskutera hur man skapar ett runt stapeldiagram med Charticulator. Du kommer att lära dig hur du designar dem för din LuckyTemplates-rapport.

PowerApps funktioner och formler | En introduktion

PowerApps funktioner och formler | En introduktion

Lär dig hur du använder PowerApps funktioner och formler för att förbättra funktionaliteten och ändra ett beteende i vår Power Apps canvas-app.

Pipe In R: Anslutningsfunktioner med Dplyr

Pipe In R: Anslutningsfunktioner med Dplyr

I den här handledningen kommer du att lära dig hur du kopplar ihop funktioner med hjälp av dplyr-röroperatorn i programmeringsspråket R.

RANKX Deep Dive: A Lucky Templates DAX-funktion

RANKX Deep Dive: A Lucky Templates DAX-funktion

RANKX från LuckyTemplates låter dig returnera rankningen av ett specifikt nummer i varje tabellrad som utgör en del av en lista med nummer.