Kā veikt loģistikas regresiju Python?



Loģistiskā regresija Python, izmantojot sklearn, lai prognozētu rezultātu, nosakot attiecības starp atkarīgajiem un vienu vai vairākiem neatkarīgiem mainīgajiem.

Loģistiskā regresija Python ir paredzama analīzes metode. To izmanto arī mašīnmācībās bināro klasifikācijas problēmu risināšanai. Šajā emuārā mēs izskatīsim šādas tēmas, lai izprastu loģistisko regresiju Python:

  1. Kas ir regresija?
  2. Loģistiskā regresija Python
  3. Loģistiskā regresija vs lineārā regresija
  4. Lietot lietas
  5. Demonstrācija

Varat arī apskatīt šo detalizēto apmācību par loģistikas regresiju pitonā ar demonstrāciju labākai izpratnei vai iziet apgūt loģistisko regresiju.





Kas ir regresija?

analīze ir spēcīgs statistiskās analīzes paņēmiens. A atkarīgs mūsu interesējošais mainīgais tiek izmantots, lai prognozētu citu vērtību neatkarīgi mainīgie datu kopā.

Mēs ar regresiju visu laiku saskaramies intuitīvi. Tāpat kā laika apstākļu prognozēšana, izmantojot iepriekšējo laika apstākļu datu kopu.



Rezultātu analizēšanai un prognozēšanai tiek izmantotas daudzas metodes, taču uzsvars galvenokārt tiek likts uz saistība starp atkarīgo mainīgo un vienu vai vairākiem neatkarīgiem mainīgajiem.

analīze paredz iznākumu binārā mainīgā lielumā, kam ir tikai divi iespējamie rezultāti.



Loģistiskā regresija Python

Tas ir paņēmiens, kā analizēt datu kopu, kurai ir atkarīgs mainīgais un viens vai vairāki neatkarīgi mainīgie, lai prognozētu iznākumu binārā mainīgajā, tas nozīmē, ka tam būs tikai divi rezultāti.

Atkarīgais mainīgais ir kategorisks dabā. Atkarīgo mainīgo sauc arī par mērķa mainīgais un neatkarīgos mainīgos sauc par pareģotāji .

Loģistiskā regresija ir īpašs lineārās regresijas gadījums, kad rezultātu mēs prognozējam tikai kategoriskā mainīgā lielumā. Tas paredz notikuma varbūtību, izmantojot žurnāla funkciju.

Mēs izmantojam Sigmoīda funkcija / līkne lai prognozētu kategorisko vērtību. Sliekšņa vērtība izlemj rezultātu (uzvara / zaudējums).

Lineārās regresijas vienādojums: y = β0 + β1X1 + β2X2…. + βnXn

  • Y apzīmē atkarīgo mainīgo, kas jāparedz.
  • β0 ir Y krustpunkts, kas būtībā ir tās līnijas punkts, kas skar y asi.
  • β1 ir līnijas slīpums (slīpums var būt negatīvs vai pozitīvs atkarībā no saistības starp atkarīgo mainīgo un neatkarīgo mainīgo.)
  • X šeit apzīmē neatkarīgo mainīgo, kas tiek izmantots, lai prognozētu mūsu iegūto atkarīgo vērtību.

Sigmoīda funkcija: p = 1/1 + e-Y

Pielieto sigmoīdo funkciju lineārās regresijas vienādojumā.

loģistiskā regresija pitonā-edurekā

Loģistiskās regresijas vienādojums: p = 1/1 + e- (β0 + β1X1 + β2X2…. + βnXn)

Ļauj apskatīt dažādus loģistiskās regresijas veidus.

Loģistiskās regresijas veidi

ssis apmācība iesācējiem 2012 ar piemēriem
    • Binārā loģistiskā regresija - tai ir tikai divi iespējamie rezultāti. Piemērs - jā vai nē
    • Daudznomu loģistiskā regresija - tai ir trīs vai vairākas nominālās kategorijas. Piemērs - kaķis, suns, zilonis.
    • Kārtas loģistiskā regresija - tai ir trīs vai vairāk kārtas kārtas, kas nozīmē, ka kategorijas būs secībā. Piemērs - lietotāju vērtējumi (1–5).

Lineārā Vs loģistiskā regresija

Kaut arī lineārā regresija var būt bezgalīgas iespējamās vērtības, loģistiskā regresija ir noteikti rezultāti .

Lineāro regresiju izmanto, ja atbildes mainīgajam ir nepārtraukts raksturs, bet loģistisko regresiju izmanto, ja atbildes mainīgajam ir kategorisks raksturs.

Paredzēt saistību neizpildi bankā, izmantojot iepriekšējās darījuma detaļas, ir loģistiskas regresijas piemērs, savukārt nepārtraukta produkcija, piemēram, akciju tirgus rādītājs, ir lineāras regresijas piemērs.

Lietot lietas

Tālāk ir norādīti lietošanas gadījumi, kad mēs varam izmantot loģistisko regresiju.

Laika prognoze

Laika prognozes ir loģiskas regresijas rezultāts. Šeit mēs analizējam iepriekšējo laika ziņu datus un prognozējam iespējamo iznākumu konkrētai dienai. Bet loģiskā regresija paredzētu tikai kategoriskus datus, piemēram, ja lietus līs vai nē.

Slimības noteikšana

Mēs varamizmantotloģiska regresija ar pacienta anamnēzes palīdzību, lai prognozētu, vai slimība jebkurā gadījumā ir pozitīva vai negatīva.

Ļauj ņemt datu kopas paraugu, lai izveidotu prognozēšanas modeli, izmantojot loģistisko regresiju.

Demonstrācija

Mēs gatavosim prognozēšanas modeliizmantojotloģiskā regresija Python ar palīdzībugadadatu kopa,šajāmēs veiksim šādas darbības, lai sasniegtu loģisko regresiju.

Datu vākšana

Pats pirmais solis loģistiskās regresijas ieviešanā ir datu vākšana. Mēs ielādēsim csv failu ar datu kopu programmās, izmantojot pandas. Mēs izmantojam NBA datus, lai izveidotu prognozēšanas modeli, lai prognozētu mājas vai izbraukuma spēles iespējamību, analizējot saistību starp attiecīgajiem datiem.

importēt pandas kā pd importēt numpy kā np importēt jūru kā sns importēt matplotlib.pyplot kā plt df = pd.read_csv (r'C: UsersMohammadWaseemDocumentsdata.csv ') print (df.head (5))

Visi dati tiks iegūti lasāmā formātā, lai tos varētu vieglāk analizēt. Un pēc tam jūs varat noteikt atkarīgos un neatkarīgos mainīgos jūsu modelim.

Datu analīze

servicenow apmācība iesācējiem pdf

Datu kopa tiek analizēta, lai noteiktu saistību starp mainīgajiem. Izveidojot dažādus grafikus, lai pārbaudītu attiecības starp mainīgajiem.

sns.countplot ('Home', hue = 'WINorLOSS', data = df) plt.show ()

Iepriekš ir attiecība starp uzvaras / zaudējuma procentuālo attiecību attiecībā uz mājas / izbraukuma spēli. Slīdzīgimēs varam uzzīmēt attiecību grafiku starp citiem attiecīgajiem datiem.

Datu apkarošana

Datu kopa tiek modificēta atbilstoši mērķa mainīgajam. Mēs no DataFrame noņemsim arī visas nulles vērtības un virknes vērtības.

drukāt (df.isnull (). summa ())

Mēs pārbaudīsim visus neatbilstošos datus, piemēram, nulles vērtības un vērtības, kuras nebūs vajadzīgas, veidojot prognozēšanas modeli. Ja mūsu izmantotajā NBA datu kopā nav nevienas vērtības, mēs turpināsim sadalīt datus.

Pārbaudes un vilciena dati

Modeļa veiktspējai dati tiek sadalīti testa un vilciena datos. Dati tiek sadalīti, izmantojot vilciena_testa_sadalījums . Dati šeit ir sadalīti proporcijā 70:30.

Tagad par modeļa prognozēšana loģistiskās regresijas funkcija tiek realizēta, importējot loģistikas regresijas modeli sklearn modulī.

Pēc tam modelis tiek piemērots vilciena komplektam, izmantojot fit funkciju. Pēc tam prognozēšana tiek veikta, izmantojot prognozēšanas funkciju.

no sklearn.model_selection importēt train_test_split no sklearn.linear_model importa 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) prognozes = logmodel.predict (x_test) drukāt (klasifikācijas_ziņojums) drukāt (apjukuma matrica (y_test, pareģojumi)) print (precizitātes_rezultāts (y_test, prognozes))

Klasifikācijas ziņojums:

Klasifikācijas pārskatā tiek parādīts Precizitāte , Atsaukšana, F1 un atbalsts modeļa rādītāji.

Precizitāte rādītājs ir līmenis, līdz kuram precīza ir modeļa prognoze. Mājas spēles precizitāte ir 0.62 un izbraukuma spēlei ir 0.58 .

Atsaukt ir summa, līdz kurai modelis var paredzēt rezultātu. Atsaukt par mājas spēli ir 0.57 un izbraukuma spēlei ir 0,64 . F1 un atbalsta rādītāji ir datu daudzums, kas pārbaudīts prognozēm. NBA datu kopā ir pārbaudīti mājas spēles dati 1662 un izbraukuma spēlei ir 1586 .

Apjukuma matrica:

Apjukuma matrica ir tabula, kas apraksta prognozēšanas modeļa veiktspēju. Apjukuma matricā ir faktiskās vērtības un paredzamās vērtības. mēs varam izmantot šīs vērtības, lai aprēķinātu modeļa precizitātes rādītāju.

Apjukuma matricas siltuma karte:

Ļauj uzzīmēt neskaidrības matricas siltuma karti, izmantojot jūras dzimušo un vizualizēt mūsu izveidoto prognozēšanas modeli. Lai uzzīmētu siltuma karti, ir nepieciešama šāda sintakse.

sns.heatmap (pd.DataFrame (confusion_matrix (y_test, prognozes))) plt.show ()

Apskatot siltuma karti, mēs varam secināt šādi:

  • No visām prognozēm klasifikators paredzēja 'jā' kopumā 1730 reizes, no kurām 1012 bija 'jā'.
  • no visām prognozēm klasifikators prognozēja nē 1518 reizes, no kurām 944 bija faktiskās nē.

Izmantojot šo sajaukšanas matricas analīzi, mēs varam secināt mūsu prognozēšanas modeļa precizitātes rādītāju.

Precizitātes rādītājs:

Precizitātes rādītājs ir modeļa veikto prognožu precizitātes procentuālais daudzums. Mūsu modelim precizitātes rādītājs ir 0,60, kas ir diezgan precīzi. Bet jo lielāks precizitātes rādītājs, jo efektīvāks ir jūsu prognozēšanas modelis. Lai iegūtu labāku prognozēšanas modeli, vienmēr jācenšas sasniegt augstāku precizitātes rādītāju.

Veicot iepriekš apspriestās darbības, mēs esam paredzējuši mājas / izbraukuma spēles iespēju, izmantojot NBA datu kopu. Pēc klasifikācijas ziņojuma analīzes mēs varam pieņemt mājas / izbraukuma spēles iespēju.

Šajā emuārā mēs esam apsprieduši loģistisko regresiju pitona koncepcijās, kā tā atšķiras no lineārās pieejas. Arī mēs esam atspoguļojuši demonstrāciju, izmantojot NBA datu kopu. Lai iegūtu plašāku ieskatu un praksi, varat izmantot izvēlēto datu kopu un izpildīt aprakstītās darbības, lai ieviestu loģistikas regresiju Python.

Izmēģiniet arī dažādos Data-Science emuārus edureka platformā, lai apgūtu sevī zinātnieku.

Ja vēlaties apgūt Python un veidot karjeru datu zinātnē, apskatiet mūsu interaktīvo tiešsaistes tiešraidi Šeit ir 24 * 7 atbalsts, kas palīdzēs jums visu mācību laiku.
Vai jums ir jautājums? Lūdzu, pieminējiet to komentāros, un mēs ar jums sazināsimies.