Datu zinātne

Loģistiskā regresija Python

Loģistiskā regresija Python
Loģistiskā regresija ir mašīnmācīšanās klasifikācijas algoritms. Arī loģistiskā regresija ir līdzīga lineārajai regresijai. Bet galvenā atšķirība starp loģistisko regresiju no lineārās regresijas ir tāda, ka loģistiskās regresijas izejas vērtības vienmēr ir bināras (0, 1), nevis skaitliskas. Loģistiskā regresija būtībā rada saikni starp neatkarīgiem mainīgajiem (vienu vai vairākiem) un atkarīgajiem mainīgajiem. Atkarīgais mainīgais ir binārs mainīgais, kuram galvenokārt ir divi gadījumi:

Loģistiskās regresijas galvenā nozīme:

  1. Neatkarīgie mainīgie nedrīkst būt multikolinearitāte; ja ir kādas attiecības, tad tām vajadzētu būt ļoti mazām.
  2. Loģistiskās regresijas datu kopai jābūt pietiekami lielai, lai iegūtu labākus rezultātus.
  3. Datu kopā vajadzētu būt tikai tiem atribūtiem, kam ir zināma nozīme.
  4. Neatkarīgajiem mainīgajiem jābūt saskaņā ar baļķu izredzes.

Lai izveidotu modeli loģistiskā regresija, mēs izmantojam scikit-mācīties bibliotēka. Loģistiskās regresijas process pitonā ir norādīts zemāk:

  1. Importējiet visas nepieciešamās paketes loģistikas regresijai un citām bibliotēkām.
  2. Augšupielādējiet datu kopu.
  3. Izprotiet neatkarīgos datu kopas mainīgos un atkarīgos mainīgos.
  4. Sadaliet datu kopu apmācības un testa datos.
  5. Inicializējiet loģistiskās regresijas modeli.
  6. Pievienojiet modeli apmācības datu kopai.
  7. Paredziet modeli, izmantojot testa datus, un aprēķiniet modeļa precizitāti.

Problēma: Pirmie soļi ir datu kopas savākšana, kurai mēs vēlamies pielietot Loģistiskā regresija. Datu kopa, kuru mēs šeit izmantosim, ir paredzēta MS uzņemšanas datu kopai. Šai datu kopai ir četri mainīgie, no kuriem trīs ir neatkarīgi mainīgie (GRE, GPA, darba_pieredze), un viens ir atkarīgs mainīgais (atļauts). Šī datu kopa parādīs, vai kandidāts saņems vai neuzņems prestižu universitāti, pamatojoties uz viņu GPA, GRE vai work_experience.

1. darbība: Mēs importējam visas nepieciešamās bibliotēkas, kas nepieciešamas Python programmai.

2. darbība: Tagad mēs ielādējam mūsu ms uzņemšanas datu kopu, izmantojot funkciju read_csv pandas.

3. solis: Datu kopa izskatās šādi:

4. solis: Mēs pārbaudām visas datu kopā pieejamās kolonnas un pēc tam iestatām visus neatkarīgos mainīgos uz mainīgo X un atkarīgos mainīgos uz y, kā parādīts zemāk esošajā ekrānuzņēmumā.

5. darbība: Pēc neatkarīgo mainīgo iestatīšanas uz X un atkarīgā mainīgā lieluma uz y tagad mēs šeit drukājam, lai pārbaudītu X un y, izmantojot galvas pandas funkciju.

6. solis: Tagad mēs sadalīsim visu datu kopu apmācībā un testēšanā. Šim nolūkam mēs izmantojam sklearn metodi train_test_split. Mēs esam devuši testam 25% no visas datu kopas, bet pārējie 75% no datu kopas - apmācībai.

7. solis: Tagad mēs sadalīsim visu datu kopu apmācībā un testēšanā. Šim nolūkam mēs izmantojam sklearn metodi train_test_split. Mēs esam devuši testam 25% no visas datu kopas, bet pārējie 75% no datu kopas - apmācībai.

Tad mēs izveidojam loģistiskās regresijas modeli un pielāgojam apmācības datus.

8. solis: Tagad mūsu modelis ir gatavs prognozēšanai, tāpēc mēs tagad nododam testa (X_test) datus modelim un ieguvām rezultātus. Rezultāti parāda (y_predictions), ka vērtība 1 (atļauta) un 0 (nav atļauta).

9. solis: Tagad mēs izdrukājam klasifikācijas ziņojumu un neskaidrību matricu.

Klasifikācijas_atskaite parāda, ka modelis var paredzēt rezultātus ar 69% precizitāti.
Apjukuma matrica parāda X_test datu kopējo informāciju kā:
TP = patiesie pozitīvie = 8
TN = patiesie negatīvie = 61
FP = viltus pozitīvi = 4
FN = viltus negatīvs = 27

Tātad kopējā precizitāte saskaņā ar confusion_matrix ir:

Precizitāte = (TP + TN) / Kopā = (8 + 61) / 100 = 0.69

10. solis: Tagad mēs pārbaudīsim rezultātu, izmantojot drukāšanu. Tātad, mēs vienkārši izdrukājam 5 galvenos X_test un y_test elementus (faktiskā patiesā vērtība), izmantojot galvas pandas funkciju. Tad mēs arī izdrukājam 5 labākos prognozes rezultātus, kā parādīts zemāk:

Mēs apvienojam visus trīs rezultātus lapā, lai saprastu prognozes, kā parādīts zemāk. Mēs varam redzēt, ka, izņemot 341 X_test datus, kas bija patiesi (1), prognoze ir nepatiesa (0). Tātad, kā mēs jau parādījām iepriekš, mūsu modeļa prognozes darbojas 69%.

11. solis: Tātad, mēs saprotam, kā modeļa prognozes tiek veiktas neredzētajā datu kopā, piemēram, X_test. Tātad, izmantojot pandas datu ietvaru, mēs izveidojām tikai nejauši jaunu datu kopu, nodevām to apmācītajam modelim un saņēmām zemāk redzamo rezultātu.

Pilns python kods, kas norādīts zemāk:

Šī emuāra kods kopā ar datu kopu ir pieejams šajā saitē
https: // github.com / shekharpandey89 / logistic-regression

OpenTTD apmācība
OpenTTD ir viena no populārākajām biznesa simulācijas spēlēm. Šajā spēlē jums ir jāizveido brīnišķīgs transporta bizness. Tomēr jūs sāksit sākumā apmē...
SuperTuxKart operētājsistēmai Linux
SuperTuxKart ir lielisks nosaukums, kas paredzēts, lai sniegtu jums Mario Kart pieredzi bez maksas jūsu Linux sistēmā. Tas ir diezgan izaicinoši un ja...
Cīņa par Vesnota apmācību
Cīņa par Vesnotu ir viena no populārākajām atvērtā koda stratēģijas spēlēm, kuru jūs varat spēlēt šajā laikā. Šī spēle ir izstrādāta ne tikai ļoti ilg...