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,


Päivämäärätaulukon luominen LuckyTemplatesissa

Päivämäärätaulukon luominen LuckyTemplatesissa

Ota selvää, miksi LuckyTemplatesissa on tärkeää pitää oma päivämäärätaulukko ja opi nopein ja tehokkain tapa tehdä se.

LuckyTemplates mobiiliraportointivinkkejä ja -tekniikoita

LuckyTemplates mobiiliraportointivinkkejä ja -tekniikoita

Tämä lyhyt opetusohjelma korostaa LuckyTemplates-mobiiliraportointiominaisuutta. Näytän sinulle, kuinka voit kehittää raportteja tehokkaasti mobiililaitteille.

Ammattimainen palveluanalyysiraportit LuckyTemplatesissa

Ammattimainen palveluanalyysiraportit LuckyTemplatesissa

Tässä LuckyTemplates Showcase -esittelyssä käymme läpi raportteja, jotka näyttävät ammattitaitoisen palveluanalytiikan yritykseltä, jolla on useita sopimuksia ja asiakkaiden sitoumuksia.

Microsoft Power Platform -päivitykset | Microsoft Ignite 2021

Microsoft Power Platform -päivitykset | Microsoft Ignite 2021

Käy läpi tärkeimmät Power Appsin ja Power Automaten päivitykset sekä niiden edut ja vaikutukset Microsoft Power Platformiin.

Yleiset SQL-funktiot: Yleiskatsaus

Yleiset SQL-funktiot: Yleiskatsaus

Tutustu joihinkin yleisiin SQL-toimintoihin, joita voimme käyttää, kuten merkkijono, päivämäärä ja joitain lisätoimintoja tietojen käsittelyyn tai käsittelyyn.

LuckyTemplates-mallin luominen: opas ja vinkkejä

LuckyTemplates-mallin luominen: opas ja vinkkejä

Tässä opetusohjelmassa opit luomaan täydellisen LuckyTemplates-mallin, joka on määritetty tarpeidesi ja mieltymystesi mukaan.

Kenttäparametrit ja pienet kertoimet LuckyTemplatesissa

Kenttäparametrit ja pienet kertoimet LuckyTemplatesissa

Tässä blogissa esittelemme, kuinka kerrostat kenttäparametreja pienillä kerroilla uskomattoman hyödyllisten näkemysten ja visuaalien luomiseksi.

LuckyTemplates-sijoitus ja mukautettu ryhmittely

LuckyTemplates-sijoitus ja mukautettu ryhmittely

Tässä blogissa opit käyttämään LuckyTemplates-sijoitus- ja mukautettuja ryhmittelyominaisuuksia näytetietojen segmentoimiseen ja luokitteluun kriteerien mukaan.

LuckyTemplatesissa näytetään vain tiettyyn päivämäärään asti kumulatiivinen kokonaissumma

LuckyTemplatesissa näytetään vain tiettyyn päivämäärään asti kumulatiivinen kokonaissumma

Tässä opetusohjelmassa käsittelen tiettyä tekniikkaa, jolla voit näyttää kumulatiivisen kokonaissumman LuckyTemplates-visuaaleissasi vain tiettyyn päivämäärään asti.

Bullet Charts: Kehittyneet mukautetut visuaalit LuckyTemplatesille

Bullet Charts: Kehittyneet mukautetut visuaalit LuckyTemplatesille

Opi luomaan ja mukauttamaan Bullet-kaavioita LuckyTemplatesissa, joita käytetään pääasiassa suorituskyvyn mittaamiseen suhteessa tavoitteeseen tai edellisiin vuosiin.