Lineaire regressie in Python

Lineaire regressie in Python

Bij data-analyse zijn key influencers variabelen die een significante invloed hebben op een afhankelijke variabele. Met andere woorden, zij zijn de factoren die het meest bijdragen aan de uitkomst van interesse. In Python wordt lineaire regressie gebruikt om de belangrijkste beïnvloeders in een dataset te identificeren en om de sterkte en richting van de relatie tussen verschillende variabelen te meten. Je kunt de volledige video van deze tutorial onderaan deze blog bekijken .

Het identificeren van belangrijke beïnvloeders kan nuttig zijn om de onderliggende relaties in een dataset te begrijpen en om voorspellingen te doen over toekomstige uitkomsten.

Python- bibliotheken bieden een scala aan tools en functies voor het uitvoeren van regressieanalyse en het identificeren van belangrijke beïnvloeders in een dataset.

Inhoudsopgave

Een lineair regressiemodel gebruiken

In dit artikel laat ik zien hoe je een lineair regressiemodel kunt gebruiken om enkele van de belangrijkste LuckyTemplates-beïnvloeders na te bootsen. Ons doel is om al onze variabelen te gebruiken om te kunnen beschrijven wat er verandert in een andere variabele.

De belangrijkste beïnvloeders van LuckyTemplates is een lineair regressiemodel. Vaak gebruiken we dit ook al weten we niet precies wat er onder de motorkap zit. In deze zelfstudie gebruik ik dit om de factoren te identificeren die bijdragen aan verzekeringskosten.

Lineaire regressie in Python

Laten we eens kijken naar de dataset van de verzekeringslasten. Ik wil dat dit wordt verklaard door rokersstatus, geslacht, regio, kinderen, BMI en leeftijd.

Lineaire regressie in Python

Momenteel laten de belangrijkste beïnvloeders de meest invloedrijke variabele zien. Als de roker ja is, is de gemiddelde lading $ 23.615 eenheden hoger in vergelijking met alle andere waarden van een roker.

Het is een geweldig beeld, maar het geeft ons geen andere variabelen die de kosten kunnen beïnvloeden.

Lineaire regressie in Python

Laten we er dieper op ingaan door de vervolgkeuzelijst te wijzigen van Verhogen naar Verlagen .

Deze keer is het het tegenovergestelde. Als u geen roker bent, is het gemiddelde tarief $ 23.615 eenheden lager in vergelijking met alle andere waarden van een roker.

Lineaire regressie in Python

Zoals je kunt zien, is dit een lineair regressiemodel dat ik heb gebouwd met behulp van enkele Python-codes en in LuckyTemplates heb ingevoerd met minimale voorwaardelijke opmaak .

Wat betreft codering, we hebben er volledige controle over, en je zult zien hoe ik dit heb gebouwd als alternatief voor of aanvulling op de key influencers-visual.

Lineaire regressie in Python

Laten we naar de Jupiter Notebook springen. Voor een beter begrip zal ik deze deel voor deel toelichten.

Lineaire regressie in Python

Gebruikte Python-bibliotheken

In het eerste deel heb ik alle bibliotheken geladen die ik wil gebruiken. Als u niet bekend bent met bibliotheken: dit zijn verzamelingen codes en functies die ontwikkelaars voor ons hebben gebouwd.

Ik heb panda's geïmporteerd als pd , een bibliotheek voor gegevensmanipulatie, en numpy als np om ons in staat te stellen lineaire berekeningen en voorwaarden uit te voeren.

Modellen gebruikt

Laten we het hebben over de modellen die ik heb gebruikt. Ik bracht sklearn.linear_model binnen , een , en gebruikte een lineair regressiemodel. Voor het geval we het nodig hebben, heb ik ook sklearn.preprocessing import StandardScaler toegevoegd , waarmee we onze gegevens kunnen schalen.

Een ander model dat ik gebruik heet xgboost import XGBRegressor . Het is een regressiemodel met een beslisboom en andere handige aspecten.

Daarnaast heb ik ook train_set_split gebruikt omdat ik de data wil kunnen splitsen tussen een trainingsset en een leerset. Bij machine learning hebben we een set trainingsgegevens nodig om het algoritme te laten leren voordat het voorspellingen doet.

Ik heb ook mean_squared_error toegevoegd om het model en de matplotlib.pyplot- bibliotheek te bepalen voor het geval we wat visuals willen maken.

We gebruiken ze misschien niet allemaal, maar het zou nuttig kunnen zijn, dus heb ik ze allemaal ingevoerd.

Lineaire regressie in Python

Gegevensset gebruikt

Laten we vervolgens snel naar de dataset kijken. Ik heb de functie df = pd.read_csv gebruikt om de verzekeringsgegevensset binnen te halen en vervolgens heb ik de gegevens omgezet in dummyvariabelen door df1 = pd.get_dummies (df, drop_first = True) te gebruiken .

Lineaire regressie in Python

Laten we hiervoor een nieuwe cel maken door op Esc + B op ons toetsenbord te drukken en vervolgens df.head in te typen om de gegevens te evalueren.

We hebben de leeftijd, geslacht, BMI, kinderen, roker, regio en kosten die we willen voorspellen als onze afhankelijke variabele. Dit zijn de gegevens die onvoorbereid binnenkomen voor machine learning.

Bij machine learning kunnen we geen categorische variabelen gebruiken, zoals vrouwelijk, mannelijk, zuidwesten en noordwesten. Daarom is het eerste wat we moeten doen als het een typisch regressiemodel is, het vertalen van de categorische variabelen in numerieke invoer. 

Lineaire regressie in Python

Om dat te doen, gebruikte ik de functie pd.get_dummies en veranderde dit vervolgens ook in een numerieke kolom door df.head te veranderen in df1.head . Laten we op de knop Uitvoeren klikken om te laten zien hoe het eruit ziet.

Lineaire regressie in Python

We kunnen nu deze nieuwe verzameling kolommen zien, zoals sex_male , smoker_yes , region_northwest , enzovoort. Het algoritme weet automatisch dat als het 1 is , dit ja betekent en 0 nee.

Opvallend is dat er geen sex_female en region_northeast zijn omdat we het model niet te ingewikkeld willen maken. We hebben die laten vallen door de functie drop_first = True te gebruiken .

Het volgende dat ik deed, was de LinearRegression- functie invoeren en opslaan in het variabele model. 

Ik heb ook X- en Y-variabelen gemaakt om onze Y-variabelen te voorspellen en vervolgens alle andere kolommen voor onze voorspellers ingevoerd door dezelfde dataset te gebruiken die we eerder gebruikten.

Lineaire regressie in Python

Voor de X-variabele gebruikten we df1.drop ('charges', as=1) om ladingen te laten vallen. Aan de andere kant hebben we kosten nodig voor de Y-variabele, daarom hebben we df1['charges'] ingevoerd .

Met de onderstaande functies heb ik trainings- en testsets gemaakt voor zowel X als Y door de functie train_test_split te gebruiken en deze door te geven aan de X- en Y-variabelen.

Daarnaast heb ik model.fit gebruikt om de trainingsgegevens aan te passen aan ons model. Dit betekent dat het lineaire regressiemodel de trainingsgegevens gaat leren. 

Lineaire regressie in Python

Laten we deze keer eens kijken naar onze voorspellers. De manier waarop we dit zien, is door middel van coëfficiënten, omdat ze beschrijven hoe elk van deze kenmerken of variabelen de ladingen beïnvloedt.

Het valt ook op dat het aantal coëfficiënten voor smoker_yes erg dichtbij is als je het vergelijkt met het aantal dat we hebben voor de belangrijkste beïnvloeders en in ons model. 

Om een ​​tabel te maken waarin we de kenmerken en coëfficiënten hebben, heb ik pd.DataFrame gebruikt om de coëfficiënten in de tabel te brengen en de visual te creëren.

Lineaire regressie in Python

Lineaire regressie in Python

Verschillende modellen gebruiken voor de Key Influencers Visual

Het is ook raadzaam om verschillende modellen te gebruiken om de belangrijkste beïnvloeders te krijgen door XGB.Regressor in te schakelen . 

Wanneer we het model weergeven, is het gewoon een eenvoudige lineaire regressie; maar toen we XGB.Regressor binnenbrachten, zijn er veel parameters die we kunnen gebruiken om het model te optimaliseren.

Lineaire regressie in Python

Ik heb deze functies ook gerepliceerd toen ik het onderstaande dataframe maakte. Deze coëfficiënten zijn heel anders dan wat we zagen bij lineaire regressie.

Lineaire regressie in Python

Met deze tabel zijn de cijfers exact. Als u bijvoorbeeld rookt, stijgen uw kosten met $ 23.787. Als je één kind hebt, wordt het verhoogd met $ 472, enzovoort.

Lineaire regressie in Python

Deze beïnvloeders zijn ook belangrijk omdat ze een weerspiegeling zijn van wat we op de lineaire regressietabel hebben. Het is iets anders, maar heel dichtbij omdat deze influencers samen één zijn. Dit is gewoon een andere manier om naar de influencers te kijken.

Lineaire regressie in Python

De nauwkeurigheid van de lineaire regressieanalyse testen

Daarna willen we de nauwkeurigheid van ons model zien, daarom hebben we y_pred = model.predict (X_test) gebruikt . Het kwam met een voorspelling dat het uit was met 5885,7. 

Dit is slechts een testset met gegevens en of de voorspelling nu goed of slecht is, we moeten deze nog evalueren. Dat gaan we nu niet doen, omdat we ons alleen richten op onze belangrijkste beïnvloeders. 

Lineaire regressie in Python

Terugkomend op de LuckyTemplates, zal ik je laten zien hoe ik dit heel gemakkelijk heb gezegd. Dit is een aparte tabel waar je de features en de influencers kunt zien. 

Lineaire regressie in Python

Ik deed dat door naar Gegevens transformeren te gaan .

Lineaire regressie in Python

Vervolgens dupliceerde ik mijn dataset en kon ik deze tabel maken. We kunnen ook naar de Applied Steps gaan om de Python- code te bekijken en de variabelen die we hebben gebruikt te bekijken.

Lineaire regressie in Python

Laten we het Python-script openen door erop te dubbelklikken. 

Lineaire regressie in Python

We brachten onze bibliotheken binnen. We hebben het geconverteerd naar een machine learning, pre-processing dataset die alleen uit nullen en enen bestond. 

We hebben ook een regressiemodel ingevoerd, onze X en Y gemaakt om bij de gegevens te passen en vervolgens de tabel als uitvoer opgeslagen. Het model is goed genoeg, dus ik heb geen trainingstestset gebruikt.

Een ander ding dat ik deed, is de dataset overschakelen naar df omdat het gewoon gemakkelijker te schrijven is. De dataset is de variabele voor de originele data.

Met deze tabel heb ik het opgeslagen als uitvoer, daarom hebben we deze coëfficiënten.

Lineaire regressie in Python

Klik op Sluiten en toepassen om dit als een visual te brengen .

Lineaire regressie in Python

We hebben nu een staafdiagram . Ik heb ook voorwaardelijke opmaak gebruikt om de positieve en negatieve punten weer te geven.

Lineaire regressie in Python


DAX Studio en Tabular Editor installeren in LuckyTemplates
Query-instellingen configureren in LuckyTemplates DAX Studio
LuckyTemplates-parameters via Query Editor

Conclusie

Concluderend kan het begrijpen van de belangrijkste beïnvloeders en het implementeren van lineaire regressie in Python een krachtig hulpmiddel zijn voor data-analyse en voorspelling.

Door de sleutelfactoren te identificeren die van invloed zijn op een afhankelijke variabele en lineaire regressie te gebruiken om hun relaties te modelleren, kunnen we toekomstige uitkomsten beter begrijpen en voorspellen .

Met het gebruik van de krachtige bibliotheken van Python is het eenvoudig om lineaire regressie te implementeren en zinvolle inzichten uit gegevens te extraheren.

Al het beste,


Wat is zelf in Python: voorbeelden uit de echte wereld

Wat is zelf in Python: voorbeelden uit de echte wereld

Wat is zelf in Python: voorbeelden uit de echte wereld

Een RDS-bestand opslaan en laden in R

Een RDS-bestand opslaan en laden in R

Je leert hoe je objecten uit een .rds-bestand in R opslaat en laadt. In deze blog wordt ook besproken hoe je objecten uit R naar LuckyTemplates importeert.

First N Business Days Revisited – Een DAX-coderingstaaloplossing

First N Business Days Revisited – Een DAX-coderingstaaloplossing

In deze tutorial over DAX-coderingstaal leert u hoe u de functie GENERATE gebruikt en hoe u de titel van een maat dynamisch wijzigt.

Breng inzichten onder de aandacht met behulp van de Multi Threaded Dynamic Visuals-techniek in LuckyTemplates

Breng inzichten onder de aandacht met behulp van de Multi Threaded Dynamic Visuals-techniek in LuckyTemplates

Deze zelfstudie behandelt hoe u de Multi Threaded Dynamic Visuals-techniek kunt gebruiken om inzichten te creëren op basis van dynamische gegevensvisualisaties in uw rapporten.

Inleiding tot het filteren van context in LuckyTemplates

Inleiding tot het filteren van context in LuckyTemplates

In dit artikel zal ik de filtercontext doornemen. Filtercontext is een van de belangrijkste onderwerpen waarover elke LuckyTemplates-gebruiker in eerste instantie zou moeten leren.

Beste tips voor het gebruik van de apps in LuckyTemplates Online Service

Beste tips voor het gebruik van de apps in LuckyTemplates Online Service

Ik wil laten zien hoe de online service LuckyTemplates Apps kan helpen bij het beheren van verschillende rapporten en inzichten die uit verschillende bronnen zijn gegenereerd.

Analyseer winstmargeveranderingen in de loop van de tijd - analyse met LuckyTemplates en DAX

Analyseer winstmargeveranderingen in de loop van de tijd - analyse met LuckyTemplates en DAX

Leer hoe u wijzigingen in uw winstmarge kunt berekenen met behulp van technieken zoals vertakking van metingen en het combineren van DAX-formules in LuckyTemplates.

Materialisatie-ideeën voor gegevenscaches in DAX Studio

Materialisatie-ideeën voor gegevenscaches in DAX Studio

Deze tutorial bespreekt de ideeën van materialisatie van datacaches en hoe deze de prestaties van DAX beïnvloeden bij het leveren van resultaten.

Zakelijke rapportage met behulp van LuckyTemplates

Zakelijke rapportage met behulp van LuckyTemplates

Als u tot nu toe nog steeds Excel gebruikt, is dit het beste moment om LuckyTemplates te gaan gebruiken voor uw zakelijke rapportagebehoeften.

Wat is LuckyTemplates Gateway? Alles wat u moet weten

Wat is LuckyTemplates Gateway? Alles wat u moet weten

Wat is LuckyTemplates Gateway? Alles wat u moet weten