Duomenų mokslas

Logistinė regresija „Python“

Logistinė regresija „Python“
Logistinė regresija yra mašininio mokymosi klasifikavimo algoritmas. Logistinė regresija taip pat panaši į tiesinę regresiją. Tačiau pagrindinis skirtumas tarp logistinės regresijos ir tiesinės regresijos yra tas, kad logistinės regresijos išvesties vertės visada yra dvejetainės (0, 1), o ne skaitinės. Logistinė regresija iš esmės sukuria ryšį tarp nepriklausomų kintamųjų (vieno ar kelių) ir priklausomų kintamųjų. Priklausomas kintamasis yra dvejetainis kintamasis, turintis daugiausia du atvejus:

Pagrindinė logistinės regresijos svarba:

  1. Nepriklausomi kintamieji neturi būti daugialypiškumas; jei yra kažkokie santykiai, tai jų turėtų būti labai mažai.
  2. Logistinės regresijos duomenų rinkinys turėtų būti pakankamai didelis, kad būtų pasiekti geresni rezultatai.
  3. Duomenų rinkinyje turėtų būti tik tie atributai, kurie turi tam tikrą reikšmę.
  4. Nepriklausomi kintamieji turi atitikti žurnalo koeficientai.

Sukurti modelį logistinė regresija, mes naudojame scikit-mokytis biblioteka. Logistinės regresijos procesas pitone pateiktas žemiau:

  1. Importuokite visus reikalingus logistinės regresijos ir kitų bibliotekų paketus.
  2. Įkelkite duomenų rinkinį.
  3. Suprasti nepriklausomus duomenų rinkinio kintamuosius ir priklausomus kintamuosius.
  4. Suskirstykite duomenų rinkinį į mokymo ir bandymų duomenis.
  5. Inicijuokite logistinės regresijos modelį.
  6. Pritaikykite modelį prie mokymo duomenų rinkinio.
  7. Numatykite modelį naudodami bandymo duomenis ir apskaičiuokite modelio tikslumą.

Problema: Pirmieji žingsniai yra rinkti duomenų rinkinį, kuriame norime pritaikyti Logistinė regresija. Duomenų rinkinys, kurį čia naudosime, yra skirtas MS priėmimo duomenų rinkiniui. Šiame duomenų rinkinyje yra keturi kintamieji, iš kurių trys yra nepriklausomi kintamieji (GRE, GPA, darbo patirtis), o vienas yra priklausomas kintamasis (priimtas). Šis duomenų rinkinys parodys, ar kandidatas gaus priėmimą į prestižinį universitetą, ar ne pagal savo GPA, GRE ar work_experience.

1 žingsnis: Mes importuojame visas reikalingas bibliotekas, kurių mums reikėjo programai python.

2 žingsnis: Dabar įkeliame ms priėmimo duomenų rinkinį naudodami „read_csv pandas“ funkciją.

3 žingsnis: Duomenų rinkinys atrodo taip:

4 žingsnis: Mes patikriname visus duomenų rinkinyje esančius stulpelius, tada nustatome visus nepriklausomus kintamuosius į X kintamąjį ir priklausomus kintamuosius į y, kaip parodyta žemiau esančioje ekrano kopijoje.

5 žingsnis: Nustačius nepriklausomus kintamuosius į X, o priklausomą kintamąjį - į y, dabar mes spausdiname čia, kad patikrintume X ir y naudodami galvos pandos funkciją.

6 žingsnis: Dabar mes paskirstysime visą duomenų rinkinį į mokymus ir testus. Tam mes naudojame „sklearn“ metodą „train_test_split“. Testui atidavėme 25% viso duomenų rinkinio, o likusius 75% duomenų rinkinio - mokymui.

7 žingsnis: Dabar mes paskirstysime visą duomenų rinkinį į mokymus ir testus. Tam mes naudojame „sklearn“ metodą „train_test_split“. Testui atidavėme 25% viso duomenų rinkinio, o likusius 75% duomenų rinkinio - mokymui.

Tada sukursime logistinės regresijos modelį ir pritaikysime treniruotės duomenis.

8 žingsnis: Dabar mūsų modelis yra paruoštas numatyti, todėl dabar perduodame bandymo (X_test) duomenis modeliui ir gavome rezultatus. Rezultatai rodo (y_predictions), kad reikšmės 1 (priimta) ir 0 (nepriimtos).

9 žingsnis: Dabar atspausdiname klasifikacijos ataskaitą ir painiavos matricą.

Klasifikacijos ataskaita rodo, kad modelis gali nuspėti rezultatus 69% tikslumu.
Sumišimo matrica rodo visą X_test duomenų išsamią informaciją:
TP = tikrieji teigiami = 8
TN = tikrieji neigiami = 61
FP = klaidingi teigiami = 4
FN = klaidingi neigiami = 27

Taigi, pagal „confusion_matrix“ suminį tikslumą:

Tikslumas = (TP + TN) / Iš viso = (8 + 61) / 100 = 0.69

10 žingsnis: Dabar mes patikrinsime rezultatą spausdindami. Taigi, mes tiesiog atspausdiname 5 svarbiausius „X_test“ ir „y_test“ elementus (tikrąją tikrąją vertę) naudodamiesi „head pandas“ funkcija. Tada mes taip pat atspausdiname 5 geriausius prognozių rezultatus, kaip parodyta žemiau:

Mes sujungiame visus tris rezultatus į lapą, kad suprastume prognozes, kaip parodyta žemiau. Mes matome, kad išskyrus 341 „X_test“ duomenis, kurie buvo teisingi (1), prognozė yra klaidinga (0). Taigi, kaip mes jau parodėme aukščiau, mūsų modelio prognozės veikia 69 proc.

11 žingsnis: Taigi, mes suprantame, kaip modelio prognozės daromos nematytame duomenų rinkinyje, pvz., „X_test“. Taigi, mes sukūrėme tik atsitiktinai naują duomenų rinkinį, naudodami „pandas“ duomenų rėmą, perdavėme jį apmokytam modeliui ir gavome žemiau pateiktą rezultatą.

Pilnas žemiau pateiktas python kodas:

Šio tinklaraščio kodą kartu su duomenų rinkiniu galite rasti šioje nuorodoje
https: // github.com / shekharpandey89 / logistic-regression

Kaip sukurti žaidimą „Linux“
Prieš dešimtmetį nedaugelis „Linux“ vartotojų numatė, kad jų mėgstama operacinė sistema vieną dieną bus populiari komercinių vaizdo žaidimų žaidimų pl...
Atvirojo kodo komercinių žaidimų variklių uostai
Nemokami atvirojo kodo ir įvairių platformų žaidimų varikliai gali būti naudojami žaidžiant senus ir kai kuriuos gana naujus žaidimų pavadinimus. Šiam...
Geriausi „Linux“ komandinės eilutės žaidimai
Komandų eilutė yra ne tik jūsų didžiausias sąjungininkas naudojant „Linux“, bet ir pramogų šaltinis, nes ją galite naudoti norėdami žaisti daug įdomių...