Logistická regrese v Pythonu je technika prediktivní analýzy. Používá se také ve strojovém učení pro problémy s binární klasifikací. V tomto blogu projdeme následující témata, abychom porozuměli logistické regrese v Pythonu:
- Co je to regrese?
- Logistická regrese v Pythonu
- Logistická regrese vs lineární regrese
- Případy užití
- Demonstrace
Můžete také odkázat na tento podrobný návod logistické regrese v pythonu s ukázkou pro lepší pochopení nebo projít zvládnout logistickou regresi.
Co je to regrese?
analýza je výkonná metoda statistické analýzy. A závislý proměnná našeho zájmu se používá k předpovědi hodnot ostatních nezávislé proměnné v datové sadě.
S regresí se setkáváme neustále intuitivně. Jako předpovídání počasí pomocí datové sady povětrnostních podmínek v minulosti.
Využívá mnoho technik k analýze a předvídání výsledku, ale důraz je kladen hlavně na vztah mezi závislou proměnnou a jednou nebo více nezávislými proměnnými.
analýza předpovídá výsledek v binární proměnné, která má pouze dva možné výsledky.
Logistická regrese v Pythonu
Jedná se o techniku analýzy souboru dat, který má závislou proměnnou a jednu nebo více nezávislých proměnných k předpovědi výsledku v binární proměnné, což znamená, že bude mít pouze dva výsledky.
Závislá proměnná je kategorický v přírodě. Závislá proměnná se také označuje jako cílová proměnná a nezávislé proměnné se nazývají prediktory .
Logistická regrese je speciální případ lineární regrese, kdy výsledek předpovídáme pouze v kategorické proměnné. Předpovídá pravděpodobnost události pomocí funkce protokolu.
Používáme Sigmoidní funkce / křivka předpovědět kategorickou hodnotu. O výsledku rozhoduje prahová hodnota (výhra / prohra).
Lineární regresní rovnice: y = β0 + β1X1 + β2X2…. + βnXn
- Y znamená závislou proměnnou, kterou je třeba předvídat.
- β0 je průsečík Y, což je v podstatě bod na přímce, která se dotýká osy y.
- β1 je sklon přímky (sklon může být záporný nebo kladný v závislosti na vztahu mezi závislou proměnnou a nezávislou proměnnou.)
- X zde představuje nezávislou proměnnou, která se používá k předpovědi naší výsledné závislé hodnoty.
Sigmoidní funkce: p = 1/1 + e-Y
Použijte funkci sigmoidu na rovnici lineární regrese.
Logistická regrese rovnice: p = 1/1 + e- (β0 + β1X1 + β2X2…. + βnXn)
Pojďme se podívat na různé typy logistické regrese.
Typy logistické regrese
ssis tutorial pro začátečníky 2012 s příklady
- Binární logistická regrese - má pouze dva možné výsledky. Příklad - ano nebo ne
- Multinomiální logistická regrese - má tři nebo více nominálních kategorií. Příklad - kočka, pes, slon.
- Ordinal logistic regression- It has three or more ordinal categories, ordinal means that the categories will be in a order. Příklad - hodnocení uživatelů (1–5).
Lineární vs. logistická regrese
Zatímco lineární regrese může mít nekonečné možné hodnoty, logistická regrese má konečné výsledky .
Lineární regrese se používá, když má proměnná odezvy souvislou povahu, ale logistická regrese se používá, když má proměnná odezvy kategorickou povahu.
Predikce neplatiče v bance pomocí detailů transakce v minulosti je příkladem logistické regrese, zatímco nepřetržitý výstup jako skóre na akciovém trhu je příkladem lineární regrese.
Případy užití
Následují případy použití, kdy můžeme použít logistickou regresi.
Předpověď počasí
Předpovědi počasí jsou výsledkem logické regrese. Zde analyzujeme data předchozích zpráv o počasí a předpovídáme možný výsledek pro konkrétní den. Logická regrese by však předpověděla pouze kategorická data, jako kdyby pršelo nebo ne.
Určení nemoci
Můžemepoužitílogická regrese pomocí anamnézy pacienta k předpovědi, zda je nemoc v každém případě pozitivní nebo negativní.
Pojďme si vzít ukázkovou datovou sadu k vytvoření predikčního modelu pomocí logistické regrese.
Ukázka
Budeme stavět predikční modelpoužitímlogická regrese v Pythonu s pomocízdatová sada,v tomhlepojednáme o následujících krocích k dosažení logické regrese.
Sbírat data
Úplně prvním krokem pro implementaci logistické regrese je sběr dat. Načteme soubor csv obsahující soubor dat do programů pomocí pand. Data NBA používáme pro vytváření predikčního modelu k predikci možnosti domácí hry nebo hry venku analýzou vztahu mezi příslušnými daty.
import pand jako pd import numpy jako np import seaborn jako sns import matplotlib.pyplot jako plt df = pd.read_csv (r'C: UsersMohammadWaseemDocumentsdata.csv ') print (df.head (5))
Všechna data získáte do čitelného formátu pro snadnější analýzu. A pak můžete určit závislé a nezávislé proměnné pro váš model.
Analýza dat
Soubor dat se analyzuje, aby se určil vztah mezi proměnnými. Vytvořením různých grafů ke kontrole vztahu mezi proměnnými.
sns.countplot ('Home', hue = 'WINorLOSS', data = df) plt.show ()
Nahoře je vztah mezi procentem výhry / prohry ve vztahu k hře doma / venku. Spodobněmůžeme vykreslit graf vztahu mezi dalšími relevantními položkami v datech.
Datové hádky
Soubor dat je upraven podle cílové proměnné. Z DataFrame odstraníme všechny nulové hodnoty a hodnoty řetězců.
print (df.isnull (). sum ())
Zkontrolujeme všechna irelevantní data, jako jsou nulové hodnoty a hodnoty, které nebudou vyžadovány při vytváření predikčního modelu. Pokud v datové sadě NBA, kterou používáme, nejsou žádné nulové hodnoty, budeme pokračovat v rozdělení dat.
Testování a trénování dat
Pro výkon modelu jsou data rozdělena na data testu a data vlaku. Data jsou rozdělena pomocí train_test_split . Data zde jsou rozdělena v poměru 70:30.
Nyní pro predikce modelu funkce logistické regrese je implementována importem modelu logistické regrese do modulu sklearn.
Model se poté pomocí funkce fit vejde na vlakovou soupravu. Poté se provede předpověď pomocí funkce predikce.
ze sklearn.model_selection import train_test_split ze sklearn.linear_model import LogisticRegression ze sklearn.metrics import klasifikace_report ze sklearn.metrics import confusion_matrix, přesnost_skóre x = df.drop ('Domů', osa = 1) y = df ['Domů'] x_train x_test, y_train, y_test = train_test_split (x, y, test_size = 0,33, random_state = 1) logmodel = LogisticRegression () logmodel.fit (x_train, y_train) předpovědi = logmodel.predict (x_test) tisk (klasifikace_report (y_test) print (confusion_matrix (y_test, predictions)) print (precision_score (y_test, predictions))
Zpráva o klasifikaci:
Zpráva o klasifikaci zobrazí Přesnost , Připomeňme, F1 a podpora skóre pro model.
Přesnost skóre znamená úroveň, do které je přesná předpověď modelu. Přesnost domácí hry je 0,62 a pro hru venku je 0,58 .
Odvolání je částka, do které model může předvídat výsledek. Recall for a home game is 0,57 a pro hru venku je 0,64 . F1 a skóre podpory jsou množství dat testovaných na předpovědi. V datové sadě NBA jsou data testovaná pro domácí hru 1662 a pro hru venku je 1586 .
Matice zmatku:
Matice zmatku je tabulka, která popisuje výkon predikčního modelu. Zmatená matice obsahuje skutečné hodnoty a předpokládané hodnoty. můžeme tyto hodnoty použít k výpočtu skóre přesnosti modelu.
Tepelná mapa zmatené matice:
Pojďme vykreslit teplotní mapu matice zmatku pomocí Seaborn a k vizualizaci predikčního modelu, který jsme vytvořili. K vykreslení teplotní mapy je nutná následující syntaxe.
sns.heatmap (pd.DataFrame (confusion_matrix (y_test, predictions))) plt.show ()
Při pohledu na teplotní mapu můžeme uzavřít následující:
- Ze všech předpovědí klasifikátor předpověděl ano celkem 1730krát, z nichž 1012 bylo skutečných ano.
- ze všech předpovědí klasifikátor předpověděl ne celkem 1518krát, z nichž 944 bylo skutečné ne.
S touto analýzou matice zmatku můžeme uzavřít skóre přesnosti pro náš predikční model.
Skóre přesnosti:
Skóre přesnosti je procento přesnosti předpovědí provedených modelem. U našeho modelu je skóre přesnosti 0,60, což je značně docela přesné. Ale čím více skóre přesnosti, tím efektivnější je váš predikční model. Pro lepší predikční model musíte vždy usilovat o vyšší skóre přesnosti.
jak inicializovat třídu v pythonu
Podle výše popsaných kroků jsme předpověděli možnost hry doma / venku s využitím datové sady NBA. Po analýze klasifikační zprávy můžeme předpokládat možnost hry doma / venku.
V tomto blogu jsme diskutovali o logistické regrese v konceptech pythonu, jak se liší od lineárního přístupu. Ukázali jsme také demonstraci pomocí datové sady NBA. Pro lepší pochopení a procvičení můžete použít datovou sadu podle vašeho výběru a postupovat podle popsaných kroků k implementaci logistické regrese v Pythonu.
Podívejte se také na různé blogy Data-Science na platformě edureka, abyste ve vás zvládli datového vědce.
Pokud se chcete naučit Python a budovat si kariéru v oblasti datové vědy, podívejte se na náš interaktivní online přenos Zde je k dispozici podpora 24 * 7, která vás provede celým obdobím učení.
Máte dotaz? Uveďte to prosím v komentářích a my se vám ozveme.