Lineáris regresszió Pythonban

Az adatelemzésben a kulcsfontosságú befolyásolók olyan változók, amelyek jelentős hatást gyakorolnak egy függő változóra. Más szóval, ezek azok a tényezők, amelyek leginkább hozzájárulnak az érdeklődés kimeneteléhez. A Pythonban lineáris regressziót használnak az adatkészlet kulcsfontosságú befolyásolóinak azonosítására, valamint a különböző változók közötti kapcsolat erősségének és irányának mérésére. Az oktatóanyag teljes videóját a blog alján tekintheti meg .

A kulcsfontosságú befolyásolók azonosítása hasznos lehet az adathalmaz mögöttes összefüggéseinek megértéséhez és a jövőbeli eredmények előrejelzéséhez.

A könyvtárak egy sor eszközt és funkciót biztosítanak a regressziós elemzés végrehajtásához és az adatkészlet kulcsfontosságú befolyásolóinak azonosításához.

Tartalomjegyzék

Lineáris regressziós modell használata

Ebben a cikkben bemutatom, hogyan használhat lineáris regressziós modellt a LuckyTemplates kulcsfontosságú befolyásolóinak utánzására. Célunk, hogy az összes változónkat felhasználjuk annak leírására, hogy mi változik egy másik változóban.

A LuckyTemplates kulcsfontosságú befolyásolója egy lineáris regressziós modell. Gyakran használjuk ezt annak ellenére, hogy nem tudjuk pontosan, mi van a motorháztető alatt. Ebben az oktatóanyagban ezt használom a biztosítási költségeket befolyásoló tényezők azonosítására.

Lineáris regresszió Pythonban

Nézzük meg a biztosítási díjak adatsorát. Azt szeretném, ha ez a dohányos állapottal, nemmel, régióval, gyerekekkel, BMI-vel és életkorral magyarázható.

Lineáris regresszió Pythonban

Jelenleg a legfontosabb befolyásolók mutatják a legbefolyásosabb változót. Ha a dohányos igen, az átlagos díj 23 615 dollárral magasabb, mint egy dohányos összes többi értékénél.

Ez egy nagyszerű látvány, de nem ad nekünk semmilyen más változót, amely befolyásolhatja a töltéseket.

Lineáris regresszió Pythonban

Merüljünk el benne a legördülő menü Növelésről Csökkentés értékre módosításával .

Ezúttal ennek az ellenkezője. Ha Ön nem dohányzik, az átlagos díj 23 615 dollárral alacsonyabb egy dohányzó összes többi értékéhez képest.

Lineáris regresszió Pythonban

Amint láthatja, ez egy lineáris regressziós modell, amelyet néhány Python-kóddal építettem fel, és minimális értékkel beépítettem a LuckyTemplatesbe.

Ami a kódolást illeti, teljes kontrollunk van felette, és látni fogod, hogyan építettem fel ezt a kulcsfontosságú influencer-vizuál alternatívájaként vagy kiegészítéseként.

Lineáris regresszió Pythonban

Ugorjunk át a Jupiter Notebookhoz. A jobb megértés érdekében hadd magyarázzam el ezeket részről részre.

Lineáris regresszió Pythonban

Használt Python-könyvtárak

Az első részben betöltöttem az összes használni kívánt könyvtárat. Ha nem ismeri a könyvtárakat, akkor ezek olyan kódok és funkciók gyűjteményei, amelyeket a fejlesztők építettek nekünk.

A pandákat pd-ként importáltam , ami egy adatmanipulációs könyvtár, a numpy-t pedig np-ként, hogy lehetővé tegye a lineáris számítások és feltételes számítások elvégzését.

Használt modellek

Beszéljünk az általam használt modellekről. Behoztam a sklearn.linear_model-t , amely egy , és egy lineáris regressziós modellt használtam. Arra az esetre, ha szükségünk lenne rá, behoztam a sklearn.preprocessing import StandardScalert is , amely lehetővé teszi adataink méretezését.

Egy másik általam használt modell az xgboost import XGBRegressor . Ez egy regressziós modell döntési fával és egyéb hasznos szempontokkal.

Ezen kívül a train_set_split-et is használtam, mert azt szeretném, hogy az adatokat fel lehessen osztani egy tanítókészlet és egy tanulókészlet között. A gépi tanulásban szükségünk van egy betanítási adathalmazra, hogy az algoritmus megtanulhassa az előrejelzéseket.

Bevittem a mean_squared_error-t is, hogy meghatározzuk a modellt és a matplotlib.pyplot könyvtárat arra az esetre, ha valamilyen vizualizációt szeretnénk készíteni.

Lehet, hogy nem használjuk mindet, de hasznos lehet, ezért mindet beraktam.

Lineáris regresszió Pythonban

Használt adatkészlet

Ezután vessünk egy gyors pillantást az adatkészletre. A df = pd.read_csv függvénnyel hoztam be a biztosítási adatkészletet, majd az adatokat álváltozókká konvertáltam a df1 = pd.get_dummies (df, drop_first = True) használatával .

Lineáris regresszió Pythonban

Ehhez hozzunk létre egy új cellát a billentyűzetünkön az Esc + B billentyűkombinációval, majd írjuk be a df.head parancsot az adatok kiértékeléséhez.

Megvan az életkor, a nem, a BMI, a gyermekek, a dohányos, a régió és a díjak, amelyeket meg akarunk jósolni függő változónkként. Ezek azok az adatok, amelyek a gépi tanulásra felkészületlenül érkeznek.

A gépi tanulásban nem fogunk tudni kategorikus változókat használni, például női, férfi, délnyugati és északnyugati változókat. Ezért az első dolog, amit tennünk kell, ha ez egy tipikus regressziós modell, az az, hogy a kategorikus változókat numerikus bemenetre fordítjuk. 

Lineáris regresszió Pythonban

Ehhez a pd.get_dummies függvényt használtam, majd ezt is numerikus oszlopmá változtattam úgy, hogy a df.head értéket df1.head értékre változtattam . Kattintson a Futtatás gombra, hogy megmutassa, hogyan néz ki.

Lineáris regresszió Pythonban

Most már láthatjuk ezt az új oszlopgyűjteményt, például sex_male , smoker_yes , region_northwest és így tovább. Az algoritmus automatikusan tudja, hogy ha 1, akkor igent, a 0 pedig nemet jelent.

Észrevehető, hogy nincs sex_female és region_northeast , mert nem akarjuk túlbonyolítani a modellt. Ezeket a drop_first = True függvénnyel ejtettük el .

A következő lépésben bevittem a LinearRegression függvényt, és elmentettem a változómodellre. 

X és Y változókat is létrehoztam az Y változóink előrejelzésére, majd bevittem az összes többi oszlopot a prediktorainkhoz ugyanazzal az adatkészlettel, amelyet korábban használtunk.

Lineáris regresszió Pythonban

Az X változóhoz a df1.drop ('charges', axis=1) értéket használtuk a töltések eldobására. Másrészt az Y változóhoz díjakra van szükségünk, ezért írjuk be a df1['charges'] -t .

Az alábbi függvényekkel a train_test_split függvénnyel tanító és tesztkészleteket készítettem X és Y számára is, és átadtam azokat az X és Y változóknak.

Ezenkívül a modell.fit segítségével illesztettem a képzési adatokat a modellünkhöz. Ez azt jelenti, hogy a lineáris regressziós modell megtanulja a betanítási adatokat. 

Lineáris regresszió Pythonban

Ezúttal vessünk egy pillantást előrejelzőinkre. Ezt az együtthatókon keresztül látjuk, mivel ezek azt írják le, hogy ezek a jellemzők vagy változók hogyan befolyásolják a díjakat.

Az is észrevehető, hogy a smoker_yes együttható száma nagyon közel van, ha összehasonlítjuk azzal a számmal, ami a kulcsfontosságú befolyásolókra és a modellünkben található. 

Egy olyan táblázat létrehozásához, amelyben a jellemzők és együtthatók vannak, a pd.DataFrame-et használtam , hogy bevigyem az együtthatókat a táblázatba, és létrehozzam a vizualitást.

Lineáris regresszió Pythonban

Lineáris regresszió Pythonban

Különböző modellek használata a kulcsfontosságú befolyásolók vizuális megjelenítéséhez

Különböző modellek használata is tanácsos a kulcsfontosságú befolyásolók megszerzéséhez az XGB.Regressor behozatalával . 

Amikor a modellt ábrázoljuk, az csak egy egyszerű lineáris regresszió; de amikor behoztuk az XGB.Regressor-t, sok paramétert használhatunk a modell optimalizálására.

Lineáris regresszió Pythonban

Ezeket a függvényeket is megismételtem az alábbi adatkeret létrehozásakor. Ezek az együtthatók nagyon eltérnek a lineáris regresszióban látottaktól.

Lineáris regresszió Pythonban

Ezzel a táblázattal a számok pontosak. Például, ha Ön dohányos, a díjai 23 787 dollárral nőnek. Ha van egy gyereke, az 472 dollárral fog növekedni, és így tovább.

Lineáris regresszió Pythonban

Ezek az influencerek azért is fontosak, mert tükrözik azt, ami a lineáris regressziós táblázaton található. Kicsit más, de nagyon közel áll egymáshoz, mert ezek a befolyásolók egyben összegeznek. Ez csak egy másfajta megközelítés a befolyásolókra.

Lineáris regresszió Pythonban

A lineáris regressziós analízis pontosságának tesztelése

Ezt követően szeretnénk látni a modellünk pontosságát, ezért az y_pred = model.predict (X_test) paramétert használtuk . Előállt egy jóslattal, hogy 5885.7-re leállt. 

Ez csak egy teszt adathalmaz, és hogy az előrejelzés jó vagy rossz, még értékelnünk kell. Ezt most nem fogjuk megtenni, mivel csak a legfontosabb befolyásolóinkra koncentrálunk. 

Lineáris regresszió Pythonban

Visszatérve a LuckyTemplateshez, megmutatom, hogyan fogalmaztam meg ezt nagyon egyszerűen. Ez egy külön táblázat, ahol láthatja a funkciókat és a befolyásolókat. 

Lineáris regresszió Pythonban

Ezt úgy tettem meg, hogy az Adatok átalakítása menüpontot választottam .

Lineáris regresszió Pythonban

Ezután megkettőztem az adatkészletemet, és létrehozhattam ezt a táblát. A kód megtekintéséhez és az általunk használt változók áttekintéséhez az Alkalmazott lépésekhez is léphetünk .

Lineáris regresszió Pythonban

Nyissuk meg duplán rákattintva. 

Lineáris regresszió Pythonban

Behoztuk a könyvtárainkat. Átalakítottuk egy gépi tanulási, előfeldolgozó adatkészletté, amely csak nullák és egyesek voltak. 

Ezenkívül behoztunk egy regressziós modellt, létrehoztuk az X-et és az Y-t, hogy illeszkedjenek az adatokhoz, majd elmentettük a táblát kimenetként. A modell elég jó, így nem használtam edzési tesztkészletet.

Egy másik dolog, amit megtettem, az volt, hogy az adatkészletet df -re váltottam , mert így egyszerűbb írni. Az adatkészlet az eredeti adatok változója.

Ezzel a táblázattal elmentettem kimenetként, ezért vannak ezek az együtthatók.

Lineáris regresszió Pythonban

Ha ezt vizuálisan szeretné megjeleníteni, kattintson a Bezárás és alkalmazás gombra .

Lineáris regresszió Pythonban

Most van egy . Feltételes formázást is használtam a pozitív és negatívumok megjelenítésére.

Lineáris regresszió Pythonban




Következtetés

Összefoglalva, a kulcsfontosságú befolyásolók megértése és a lineáris regresszió alkalmazása Pythonban hatékony eszköz lehet az adatok elemzéséhez és előrejelzéséhez.

Azáltal, hogy azonosítjuk azokat a kulcstényezőket, amelyek befolyásolják a függő változókat, és lineáris regressziót alkalmazunk ezek kapcsolatának modellezésére, jobban megérthetjük és megjósolhatjuk a jövőbeli eredményeket .

A Python hatékony könyvtárainak használatával könnyen megvalósítható a lineáris regresszió , és értelmes betekintést nyerhetünk az adatokból.

Minden jót,


Dátumtáblázat létrehozása a LuckyTemplates alkalmazásban

Dátumtáblázat létrehozása a LuckyTemplates alkalmazásban

Tudja meg, miért fontos egy dedikált dátumtáblázat a LuckyTemplatesben, és ismerje meg ennek leggyorsabb és leghatékonyabb módját.

LuckyTemplates mobil jelentéskészítési tippek és technikák

LuckyTemplates mobil jelentéskészítési tippek és technikák

Ez a rövid oktatóanyag kiemeli a LuckyTemplates mobil jelentési funkcióját. Megmutatom, hogyan készíthet hatékony jelentéseket mobileszközökön.

Professzionális szolgáltatáselemzési jelentések LuckyTemplatesben

Professzionális szolgáltatáselemzési jelentések LuckyTemplatesben

Ebben a LuckyTemplates bemutatóban olyan jelentéseket tekintünk át, amelyek professzionális szolgáltatáselemzést mutatnak be egy olyan cégtől, amely több szerződéssel és ügyfél-elkötelezettséggel rendelkezik.

Microsoft Power Platform frissítések | Microsoft Ignite 2021

Microsoft Power Platform frissítések | Microsoft Ignite 2021

Tekintse át a Power Apps és a Power Automate legfontosabb frissítéseit, valamint azok előnyeit és következményeit a Microsoft Power Platform számára.

Gyakori SQL-függvények: Áttekintés

Gyakori SQL-függvények: Áttekintés

Fedezzen fel néhány gyakori SQL-függvényt, amelyeket használhatunk, például a karakterláncot, a dátumot és néhány speciális függvényt az adatok feldolgozásához vagy manipulálásához.

LuckyTemplates sablonok létrehozása: útmutató és tippek

LuckyTemplates sablonok létrehozása: útmutató és tippek

Ebből az oktatóanyagból megtudhatja, hogyan hozhatja létre a tökéletes LuckyTemplates sablont, amely az Ön igényeinek és preferenciáinak megfelelően van konfigurálva.

Mezőparaméterek és kis többszörösek a LuckyTemplatesben

Mezőparaméterek és kis többszörösek a LuckyTemplatesben

Ebben a blogban bemutatjuk, hogyan lehet a mezőparamétereket kis többszörösekkel rétegezni, hogy hihetetlenül hasznos betekintést és látványelemeket hozzon létre.

LuckyTemplates rangsor és egyéni csoportosítás

LuckyTemplates rangsor és egyéni csoportosítás

Ebből a blogból megtudhatja, hogyan használhatja a LuckyTemplates rangsorolási és egyéni csoportosítási funkcióit a mintaadatok szegmentálására és kritériumok szerinti rangsorolására.

A LuckyTemplatesben csak egy meghatározott dátumig összesített összeg látható

A LuckyTemplatesben csak egy meghatározott dátumig összesített összeg látható

Ebben az oktatóanyagban egy konkrét technikát fogok bemutatni, hogyan jelenítheti meg a kumulatív összeget csak egy adott dátumig a LuckyTemplates vizualizációjában.

Bullet Charts: speciális egyéni látványelemek a LuckyTemplates számára

Bullet Charts: speciális egyéni látványelemek a LuckyTemplates számára

Ismerje meg, hogyan hozhat létre és testreszabhat Bullet diagramokat a LuckyTemplates alkalmazásban, amelyeket főként a teljesítmény mérésére használnak a célhoz vagy az előző évekhez képest.