- 1 par patiesu vai
- 0 par nepatiesu
Loģistiskās regresijas galvenā nozīme:
- 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.
- Loģistiskās regresijas datu kopai jābūt pietiekami lielai, lai iegūtu labākus rezultātus.
- Datu kopā vajadzētu būt tikai tiem atribūtiem, kam ir zināma nozīme.
- 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:
- Importējiet visas nepieciešamās paketes loģistikas regresijai un citām bibliotēkām.
- Augšupielādējiet datu kopu.
- Izprotiet neatkarīgos datu kopas mainīgos un atkarīgos mainīgos.
- Sadaliet datu kopu apmācības un testa datos.
- Inicializējiet loģistiskās regresijas modeli.
- Pievienojiet modeli apmācības datu kopai.
- 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