ebben a bemutatóban láthatja, hogyan lehet több lineáris regressziót végrehajtani Python-ban mind sklearn, mind statsmodels használatával.,s kell fedezni:
- áttekintve a példát kell használni ebben a tutorial
- ellenőrzése linearitás
- teljesítő többszörös lineáris regresszió Python
- hozzátéve, a tkinter grafikus felhasználói felület (GUI) gyűjteni bemenet a felhasználók, majd megjeleníti a jóslat eredmények
a végén ez a bemutató, akkor képes lesz arra, hogy a következő felület Python:
példa a többszörös lineáris regresszióra python
a következő példában több lineáris regressziót használunk a részvényindex árának előrejelzésére (I.,e., a függő változó) egy fiktív gazdaság segítségével 2 független/bemeneti változók:
- kamatláb
- munkanélküliségi ráta
kérjük, vegye figyelembe, hogy akkor kell érvényesíteni, hogy több feltételezések teljesülnek, mielőtt alkalmazni lineáris regressziós modellek. Leginkább meg kell győződnie arról, hogy lineáris kapcsolat áll fenn a függő változó és a független változó/s között (erről bővebben a linearitás ellenőrzése szakaszban).,
nézzük most ugrik a adatkészlet, hogy fogjuk használni:
kezdeni, lehet, hogy elfog a fenti adatkészlet Python segítségével Pandák DataFrame (a nagyobb adathalmazok, akkor érdemes importálja az adatokat):
Ellenőrzése Linearitás
Mielőtt végre egy lineáris regressziós modell, célszerű érvényesíteni, hogy bizonyos feltételezések teljesülnek.
mint korábban említettük, érdemes lehet ellenőrizni, hogy a függő változó és a független változó/s között van-e lineáris kapcsolat.,
példánkban érdemes ellenőrizni, hogy van-e lineáris kapcsolat a:
között a gyors linearitás-ellenőrzés elvégzéséhez scatter diagramokat használhat (a matplotlib könyvtár felhasználásával). Például az alábbi kódot használhatja a Stock_Index_Price és az Interest_Rate közötti kapcsolat ábrázolásához:
észre fogod venni, hogy valóban létezik lineáris kapcsolat a Stock_Index_Price és az Interest_Rate között.,ates fel, a tőzsdeindex ára is felmegy:
a második esetben használja ezt a kódot annak érdekében, hogy a telek a kapcsolat a Stock_Index_Price a Unemployment_Rate:
Mint látható, egy lineáris kapcsolat között is létezik a Stock_Index_Price a Unemployment_Rate–, amikor a munkanélküliségi ráta fel, a tőzsdeindex ára megy le (itt még mindig van egy lineáris a kapcsolat, de egy negatív meredekségű):
a Következő fogunk végrehajtani a tényleges többszörös lineáris regresszió Piton.,
A többszörös lineáris regresszió végrehajtása
miután hozzáadta az adatokat a Python-ba, használhatja mind a sklearn, mind a statsmodels-t a regressziós eredmények eléréséhez.
bármelyik módszer működne, de nézzük át mindkét módszert illusztrációs célokra.
ezután átmásolhatja az alábbi kódot a Python-Ba:
miután futtatta a kódot Python-ban, három részből áll:
(1) az első rész a sklearn által generált kimenetet mutatja:
Ez a kimenet tartalmazza az elfogási együtthatókat és együtthatókat., Akkor használja ezt az információt, hogy létrejöjjön a többszörös lineáris regressziós egyenlet a következőképpen:
Stock_Index_Price = (Intercept) + (Interest_Rate coef)*X1 + (Unemployment_Rate coef)*X2
Illetve ha csatlakoztassa a számok:
Stock_Index_Price = (1798.4040) + (345.5401)*X1 + (-250.1466)*X2
(2) A második rész megjeleníti a várható kimenete sklearn:
Képzeld el, hogy akarom megjósolni, hogy a raktáron index ár után gyűjtött össze az alábbi adatokat:
- Kamatláb = 2.75 (azaz, X1= 2.75)
- Munkanélküliségi Ráta = 5.3 (azaz X2= 5.3)
Ha a dugót, hogy az adatok a regressziós egyenlet, majd ugyanazt a becsült eredmény jelenik meg, mint a második rész:
Stock_Index_Price = (1798.4040) + (345.5401)*(2.75) + (-250.1466)*(5.3) = 1422.86
(3) A harmadik rész megjeleníti egy átfogó táblázat a statisztikai adatok által generált statsmodels.,
Ez az információ további betekintést nyújt a használt modellről (például a modell illeszkedéséről, standard hibákról stb.):
vegye figyelembe, hogy az ebben a táblázatban rögzített együtthatók (pirossal kiemelve) megegyeznek a sklearn által generált együtthatókkal.
Ez jó jel! következetes eredményeket kaptunk mind a sklearn, mind a statsmodels alkalmazásával.
ezután láthatja, hogyan hozhat létre GUI-t a Python-ban a felhasználók bevitelének összegyűjtéséhez, majd megjelenítheti az előrejelzési eredményeket.,
GUI használt többszörös lineáris regresszió Python
Ez az, ahol az igazi móka kezdődik!
miért nem hoz létre egy grafikus felhasználói felületet (GUI), amely lehetővé teszi a felhasználók számára a független változók bevitelét a megjósolt eredmény elérése érdekében?
előfordulhat, hogy néhány felhasználó nem sokat tud az adatok beviteléről a Python-kódban, ezért érdemes egy egyszerű felületet létrehozni, ahol egyszerűsített módon kezelhetik az adatokat.,
még egy kötegelt fájlt is létrehozhat a Python program elindításához, így a felhasználóknak csak duplán kell kattintaniuk a kötegfájlra a GUI elindításához.
Itt a teljes Python kódot a végső Regressziós GUI:
Ha futtatja a kódot, majd meglátod, ez a GUI-t, amely magában foglalja a kimenet által generált sklearn, valamint a scatter diagramok:
Emlékszem, hogy korábban már készült egy jóslat segítségével a következő értékeket:
- Kamatláb = 2.75
- Munkanélküliségi Ráta = 5.,3
írja be ezeket az értékeket a beviteli mezőbe, majd kattintson a”részvényindex árának előrejelzése”gombra:
most láthatja az 1422.86 várható eredményét, amely megegyezik a korábban látott értékkel.
akkor is érdemes ellenőrizni a következő bemutató többet beágyazása grafikonok egy tkinter GUI.
következtetés
a lineáris regressziót gyakran használják a gépi tanulásban. Látott néhány példát arra, hogyan lehet több lineáris regressziót végrehajtani Python-ban mind a sklearn, mind a statsmodels használatával.,
a lineáris regressziós modellek alkalmazása előtt ellenőrizze, hogy van-e lineáris kapcsolat a függő változó (azaz a megjósolni kívánt) és a független változó/s (azaz a bemeneti változó/s) között.