Lineaarinen regressio Pythonissa

Data-analyysissä keskeiset vaikuttajat ovat muuttujia, joilla on merkittävä vaikutus riippuvaiseen muuttujaan. Toisin sanoen ne ovat tekijöitä, jotka vaikuttavat eniten kiinnostavaan lopputulokseen. Pythonissa lineaarista regressiota käytetään tunnistamaan tietojoukon keskeiset vaikuttajat ja mittaamaan eri muuttujien välisen suhteen vahvuutta ja suuntaa. Voit katsoa tämän opetusohjelman koko videon tämän blogin alaosasta .

Keskeisten vaikuttajien tunnistaminen voi olla hyödyllistä tietojoukon taustalla olevien suhteiden ymmärtämisessä ja tulevien tulosten ennustamisessa.

kirjastot tarjoavat joukon työkaluja ja toimintoja regressioanalyysin suorittamiseen ja tietojoukon tärkeimpien vaikuttajien tunnistamiseen.

Sisällysluettelo

Lineaarisen regressiomallin käyttäminen

Tässä artikkelissa näytän, kuinka voit käyttää lineaarista regressiomallia jäljittelemään joitain LuckyTemplatesin avainvaikuttajia. Tavoitteenamme on käyttää kaikkia muuttujiamme kuvaamaan, mikä muuttuu toisessa muuttujassa.

LuckyTemplatesin keskeiset vaikuttajat ovat lineaarinen regressiomalli. Usein käytämme tätä, vaikka emme tiedä tarkalleen, mitä konepellin alla on. Tässä opetusohjelmassa käytän tätä tunnistamaan tekijät, jotka vaikuttavat vakuutusmaksuihin.

Lineaarinen regressio Pythonissa

Katsotaanpa vakuutusmaksujen tietojoukkoa. Haluan, että tämä selittyy tupakoitsijoiden asemalla, sukupuolella, alueella, lapsilla, BMI:llä ja iällä.

Lineaarinen regressio Pythonissa

Tällä hetkellä tärkeimmät vaikuttajat näyttävät vaikuttavimman muuttujan. Kun tupakoitsija on kyllä, keskimääräinen maksu on 23 615 dollaria yksikköä korkeampi verrattuna kaikkiin muihin tupakoijan arvoihin.

Se on hieno visuaalinen, mutta se ei anna meille muita muuttujia, jotka voivat vaikuttaa maksuihin.

Lineaarinen regressio Pythonissa

Sukellaan siihen syvällisesti vaihtamalla avattava valikko Suurenna arvoon Vähennä .

Tällä kertaa asia on päinvastoin. Jos et ole tupakoitsija, keskimääräinen maksu on 23 615 dollaria yksikköä alhaisempi verrattuna kaikkiin muihin tupakoijan arvoihin.

Lineaarinen regressio Pythonissa

Kuten näette, tämä on lineaarinen regressiomalli, jonka rakensin käyttämällä joitain Python-koodeja ja liitin LuckyTemplates-sovellukseen minimaalisella .

Koodauksen suhteen meillä on täysi hallintaoikeus siihen, ja näet kuinka rakensin tämän vaihtoehdoksi tai täydennykseksi avainvaikuttajavisuaalille.

Lineaarinen regressio Pythonissa

Hyppäämme Jupiter-muistikirjaan. Jotta ymmärrän paremmin, selitän nämä osa kerrallaan.

Lineaarinen regressio Pythonissa

Käytetyt Python-kirjastot

Ensimmäisessä osassa latasin kaikki kirjastot, joita haluan käyttää. Jos kirjastot eivät ole sinulle tuttuja, ne ovat koodi- ja funktiokokoelmia, jotka kehittäjät ovat rakentaneet meille.

Toin pandat pd-muodossa , joka on tietojenkäsittelykirjasto, ja numpy-muodossa np , jotta voimme tehdä lineaarisia laskelmia ja ehdollisia.

Käytetyt mallit

Puhutaanpa käyttämistäni malleista. Toin sklearn.linear_model , joka on , ja käytin lineaarista regressiomallia. Jos tarvitsemme sitä, toin myös sklearn.preprocessing import StandardScalerin , jonka avulla voimme skaalata tietojamme.

Toinen käyttämäni malli on nimeltään xgboost import XGBRegressor . Se on regressiomalli, jossa on päätöspuu ja muita hyödyllisiä näkökohtia.

Lisäksi käytin myös train_set_split , koska haluan pystyä jakamaan tiedot harjoitussarjan ja oppimisjoukon välillä. Koneoppimisessa tarvitsemme joukon harjoitustietoja, jotta algoritmi oppii, ennen kuin se tekee ennusteita.

Toin myös mean_squared_error-tiedoston määrittääkseni mallin ja matplotlib.pyplot- kirjaston siltä varalta, että haluamme tehdä visuaalisia kuvia.

Emme ehkä käytä kaikkia näitä, mutta niistä voi olla apua, joten laitan ne kaikki mukaan.

Lineaarinen regressio Pythonissa

Tietojoukko käytetty

Seuraavaksi tarkastellaan nopeasti tietojoukkoa. Käytin df = pd.read_csv -funktiota tuodakseni vakuutustietojoukon ja sitten muunsin tiedot valemuuttujiksi käyttämällä df1 = pd.get_dummies (df, drop_first = True) .

Lineaarinen regressio Pythonissa

Luodaan tätä varten uusi solu painamalla Esc + B näppäimistöllämme ja kirjoittamalla sitten df.head tietojen arvioimiseksi.

Meillä on ikä, sukupuoli, BMI, lapset, tupakoitsija, alue ja maksut, jotka haluamme ennustaa riippuvaiseksi muuttujaksi. Nämä ovat tietoja, jotka tulevat valmistautumattomina koneoppimiseen.

Koneoppimisessa emme voi käyttää kategorisia muuttujia, kuten nainen, mies, lounainen ja luoteis. Siksi ensimmäinen asia, joka meidän on tehtävä, jos se on tyypillinen regressiomalli, on kääntää kategoriset muuttujat numeerisiksi syötteiksi. 

Lineaarinen regressio Pythonissa

Tätä varten käytin pd.get_dummies- funktiota ja muutin tämän sitten numeeriseksi sarakkeeksi muuttamalla df.head arvoksi df1.head . Napsauta Suorita -painiketta näyttääksesi miltä se näyttää.

Lineaarinen regressio Pythonissa

Voimme nyt nähdä tämän uuden kokoelman sarakkeita, kuten sex_male , smoker_yes , region_northwest ja niin edelleen. Algoritmi tietää automaattisesti, että jos se on 1 , se tarkoittaa kyllä ​​ja 0 ei.

On huomattava, ettei sukupuoli_nainen ja alue_koillinen ole olemassa , koska emme halua monimutkaista mallia liikaa. Pudotimme ne käyttämällä drop_first = True -funktiota.

Seuraavaksi tein LinearRegression -funktion ja tallensin sen muuttujamalliin. 

Loin myös X- ja Y-muuttujat ennustaaksemme Y-muuttujiamme ja toin sitten kaikki muut sarakkeet ennustajillemme käyttämällä samaa tietojoukkoa, jota käytimme aiemmin.

Lineaarinen regressio Pythonissa

X-muuttujalle käytimme df1.drop ('maksut', akseli=1) laskujen pudottamiseksi. Toisaalta tarvitsemme maksuja Y-muuttujalle, minkä vuoksi laitamme df1['maksut'] .

Alla olevilla funktioilla loin harjoitus- ja testijoukot sekä X:lle että Y:lle käyttämällä train_test_split- funktiota ja välitin ne X- ja Y-muuttujiin.

Lisäksi käytin model.fitiä sovittamaan harjoitustiedot malliimme. Tämä tarkoittaa, että lineaarinen regressiomalli oppii harjoitustiedot. 

Lineaarinen regressio Pythonissa

Katsotaanpa tällä kertaa ennustajiamme. Näemme tämän kertoimien avulla, koska ne kuvaavat, kuinka kukin näistä ominaisuuksista tai muuttujista vaikuttaa maksuihin.

On myös havaittavissa, että smoker_yes- kertoimen luku on hyvin lähellä, jos vertaa sitä siihen, mitä meillä on keskeisille vaikuttajille ja mallissamme. 

Luodakseni taulukon, jossa meillä on ominaisuudet ja kertoimet, käytin pd.DataFramea kertoimien tuomiseksi taulukkoon ja visuaalisen luomiseksi.

Lineaarinen regressio Pythonissa

Lineaarinen regressio Pythonissa

Eri mallien käyttäminen avainvaikuttajille Visuaalinen

On myös suositeltavaa käyttää erilaisia ​​​​malleja keskeisten vaikuttajien saamiseksi tuomalla sisään XGB.Regressor

Kun edustamme mallia, se on vain yksinkertainen lineaarinen regressio; mutta kun toimme XGB.Regressorin, meillä on paljon parametreja, joita voimme käyttää mallin optimointiin.

Lineaarinen regressio Pythonissa

Toistin myös nämä toiminnot, kun loin alla olevan tietokehyksen. Nämä kertoimet ovat hyvin erilaisia ​​verrattuna siihen, mitä näimme lineaarisessa regressiossa.

Lineaarinen regressio Pythonissa

Tällä taulukolla luvut ovat tarkkoja. Jos esimerkiksi tupakoit, maksusi nousevat 23 787 dollarilla. Jos sinulla on yksi lapsi, se nousee 472 dollarilla ja niin edelleen.

Lineaarinen regressio Pythonissa

Nämä vaikuttajat ovat tärkeitä myös, koska ne heijastavat sitä, mitä meillä on lineaarisessa regressiotaulukossa. Se on hieman erilainen, mutta hyvin läheinen, koska nämä vaikuttajat summautuvat yhteen. Tämä on vain erilainen tapa katsoa vaikuttajia.

Lineaarinen regressio Pythonissa

Lineaarisen regressioanalyysin tarkkuuden testaus

Sen jälkeen haluamme nähdä mallimme tarkkuuden, minkä vuoksi olemme käyttäneet y_pred = model.predict (X_test) . Se ennusti, että se oli pois päältä 5885,7. 

Tämä on vain testidata, ja onko ennuste hyvä vai huono, meidän on silti arvioitava se. Emme aio tehdä sitä juuri nyt, koska keskitymme vain tärkeimpiin vaikuttajiimme. 

Lineaarinen regressio Pythonissa

Palatakseni LuckyMalleihin, näytän sinulle, kuinka laitan tämän erittäin helposti. Tämä on erillinen taulukko, josta näet ominaisuudet ja vaikuttajat. 

Lineaarinen regressio Pythonissa

Tein sen siirtymällä kohtaan Transform data .

Lineaarinen regressio Pythonissa

Sitten kopioin tietojoukkoni ja pystyin luomaan tämän taulukon. Voimme myös siirtyä Applied Steps -kohtaan nähdäksesi koodin ja tarkistamassa käyttämiämme muuttujia.

Lineaarinen regressio Pythonissa

Avataan kaksoisnapsauttamalla sitä. 

Lineaarinen regressio Pythonissa

Toimme sisään kirjastomme. Muunsimme sen koneoppivaksi, esikäsitteleväksi tietojoukoksi, joka oli vain nollia ja ykkösiä. 

Lisäksi otimme käyttöön regressiomallin, loimme X- ja Y-tietomme sopimaan dataan ja tallensimme taulukon tulosteena. Malli on riittävän hyvä, joten en käyttänyt harjoitustestisarjaa.

Toinen asia, jonka tein, oli vaihtaa tietojoukosta df , koska se on vain helpompi kirjoittaa. Tietojoukko on alkuperäisten tietojen muuttuja.

Tämän taulukon avulla tallensin sen ulostuloksi, minkä vuoksi meillä on nämä kertoimet.

Lineaarinen regressio Pythonissa

Jos haluat tuoda tämän visuaalisena, napsauta Sulje ja käytä .

Lineaarinen regressio Pythonissa

Meillä on nyt . Käytin myös ehdollista muotoilua positiivisten ja negatiivisten asioiden näyttämiseen.

Lineaarinen regressio Pythonissa




Johtopäätös

Yhteenvetona voidaan todeta, että keskeisten vaikuttajien ymmärtäminen ja lineaarisen regression toteuttaminen Pythonissa voi olla tehokas työkalu tietojen analysointiin ja ennustamiseen.

Tunnistamalla avaintekijät, jotka vaikuttavat riippuvaiseen muuttujaan, ja käyttämällä lineaarista regressiota niiden suhteiden mallintamiseen, voimme ymmärtää ja ennustaa paremmin tulevia tuloksia .

Pythonin tehokkaiden kirjastojen avulla on helppo toteuttaa lineaarista regressiota ja poimia merkityksellisiä oivalluksia tiedoista.

Kaikki parhaat,


Kuinka asentaa DAX Studio & Tabular Editor LuckyTemplatesissa

Kuinka asentaa DAX Studio & Tabular Editor LuckyTemplatesissa

Opi lataamaan ja asentamaan DAX Studio ja Tabular Editor 3 ja miten ne määritetään käytettäväksi LuckyTemplatesissa ja Excelissä.

LuckyTemplates -muotokartan visualisointi tilaanalyysiin

LuckyTemplates -muotokartan visualisointi tilaanalyysiin

Tämä blogi sisältää Shape Map -visualisoinnin tilaanalyysiä varten LuckyTemplatesissa. Näytän sinulle, kuinka voit käyttää tätä visualisointia tehokkaasti sen ominaisuuksien ja elementtien kanssa.

LuckyTemplatesin talousraportointi: tulosten kohdentaminen malleihin jokaisella rivillä

LuckyTemplatesin talousraportointi: tulosten kohdentaminen malleihin jokaisella rivillä

Tässä opetusohjelmassa esittelen ainutlaatuisen idean talousraportoinnista, joka allokoi tulokset LuckyTemplatesin sisällä olevien taulukkopohjien ennalta määrittämiseen.

DAX-mittaukset LuckyTemplatesissa käyttämällä mittahaaroitusta

DAX-mittaukset LuckyTemplatesissa käyttämällä mittahaaroitusta

Luo DAX-suureita LuckyTemplatesissa käyttämällä olemassa olevia suureita tai kaavoja. Tätä kutsun mittahaaroitustekniikaksi.

Tehokkain toimintopuhelu LuckyTemplatesissa

Tehokkain toimintopuhelu LuckyTemplatesissa

Tässä blogissa tutustu LuckyTemplates-tietojoukkoon, tehokkaimpaan funktiokutsuun, joka tuo tuhansia M- ja DAX-funktioita sormiesi ulottuville.

Datamallinnustekniikat DAX-mittausten järjestämiseen

Datamallinnustekniikat DAX-mittausten järjestämiseen

Tämän päivän opetusohjelmassa jaan muutamia datamallinnustekniikoita DAX-mittausten järjestämiseksi paremmin tehokkaamman työnkulun aikaansaamiseksi.

LuckyTemplates Financial Dashboard: Täydelliset taulukon mukautusvinkit

LuckyTemplates Financial Dashboard: Täydelliset taulukon mukautusvinkit

LuckyTemplates on loistava työkalu talousraportointiin. Tässä on opetusohjelma räätälöityjen taulukoiden luomisesta LuckyTemplates-talouden hallintapaneelillesi.

Power Queryn kielivirran parhaat käytännöt

Power Queryn kielivirran parhaat käytännöt

Tässä opetusohjelmassa keskustellaan Power Query Language Flowsta ja siitä, kuinka se voi auttaa luomaan sujuvan ja tehokkaan dataraportin.

LuckyTemplates mukautetut kuvakkeet | PBI-visualisointitekniikka

LuckyTemplates mukautetut kuvakkeet | PBI-visualisointitekniikka

Keskustelen yhdestä suosikkitekniikoistani mukautettujen LuckyTemplates-kuvakkeiden ympärillä, joka käyttää mukautettuja kuvakkeita dynaamisella tavalla LuckyTemplates-visuaaleissa.

LuckyTemplates -taulukoiden luominen UNION & ROW -funktiolla

LuckyTemplates -taulukoiden luominen UNION & ROW -funktiolla

Tässä blogissa näytän sinulle, kuinka voit luoda LuckyTemplates-taulukoita käyttämällä kaavaa, joka yhdistää UNION-funktion ja ROW-funktion.