Znanost o podacima

Logistička regresija u Pythonu

Logistička regresija u Pythonu
Logistička regresija algoritam je klasifikacije strojnog učenja. Logistička regresija također je slična linearnoj regresiji. Ali glavna razlika između logističke regresije i linearne regresije je u tome što su izlazne vrijednosti logističke regresije uvijek binarne (0, 1), a ne numeričke. Logistička regresija u osnovi stvara odnos između neovisnih varijabli (jedne ili više njih) i ovisnih varijabli. Ovisna varijabla je binarna varijabla koja ima uglavnom dva slučaja:

Ključna važnost logističke regresije:

  1. Neovisne varijable ne smiju biti multikolinearnost; ako postoji neka veza, onda bi to trebalo biti vrlo malo.
  2. Skup podataka za logističku regresiju trebao bi biti dovoljno velik da bi se postigli bolji rezultati.
  3. Samo bi ti atributi trebali biti tamo u skupu podataka, što ima neko značenje.
  4. Nezavisne varijable moraju biti prema log koeficijenti.

Izgraditi model logistička regresija, koristimo scikit-naučiti knjižnica. Proces logističke regresije u pythonu dan je u nastavku:

  1. Uvezite sve potrebne pakete za logističku regresiju i ostale knjižnice.
  2. Prenesite skup podataka.
  3. Razumijevanje neovisnih varijabli skupa podataka i ovisnih varijabli.
  4. Podijelite skup podataka na podatke o treningu i testiranju.
  5. Inicijalizirati model logističke regresije.
  6. Ugradite model u skup podataka o treningu.
  7. Predvidite model pomoću podataka testa i izračunajte točnost modela.

Problem: Prvi koraci su prikupljanje skupa podataka na koje želimo primijeniti Logistička regresija. Skup podataka koji ćemo ovdje upotrijebiti je za skup podataka za prijem u MS. Ovaj skup podataka sadrži četiri varijable, a od kojih su tri neovisne varijable (GRE, GPA, work_experience), a jedna je ovisna varijabla (prihvaćena). Ovaj skup podataka reći će hoće li kandidat dobiti prijem na prestižno sveučilište na temelju svog GPA, GRE ili radnog iskustva.

Korak 1: Uvozimo sve potrebne knjižnice potrebne za program python.

Korak 2: Sada učitavamo svoj skup podataka za prijem za ms pomoću funkcije pandi read_csv.

Korak 3: Skup podataka izgleda kao u nastavku:

Korak 4: Provjeravamo sve stupce dostupne u skupu podataka, a zatim postavljamo sve neovisne varijable na varijablu X, a ovisne varijable na y, kao što je prikazano na donjoj snimci zaslona.

Korak 5: Nakon postavljanja neovisnih varijabli na X, a ovisne varijable na y, sada ovdje ispisujemo kako bismo provjerili X i y pomoću funkcije head pandas.

Korak 6: Sada ćemo podijeliti cijeli skup podataka na trening i test. U tu svrhu koristimo metodu train_test_split sklearna. Test smo dali 25% cjelokupnog skupa podataka, a treningu preostalih 75% skupa podataka.

Korak 7: Sada ćemo podijeliti cijeli skup podataka na trening i test. U tu svrhu koristimo metodu train_test_split sklearna. Test smo dali 25% cjelokupnog skupa podataka, a treningu preostalih 75% skupa podataka.

Zatim kreiramo model logističke regresije i prilagođavamo podatke o treningu.

Korak 8: Sada je naš model spreman za predviđanje, pa sada prenosimo testne (X_test) podatke modelu i dobili smo rezultate. Rezultati pokazuju (y_predictions) da vrijednosti 1 (prihvaćeno) i 0 (neprihvaćeno).

9. korak: Sada ispisujemo izvješće o klasifikaciji i matricu zabune.

Izvještaj_klasifikacije pokazuje da model može predvidjeti rezultate s točnošću od 69%.
Matrica zbrke prikazuje ukupne detalje podataka X_test kao:
TP = istinski pozitivni = 8
TN = Istiniti negativi = 61
FP = lažno pozitivni = 4
FN = Lažni negativci = 27

Dakle, ukupna točnost prema confusion_matrix je:

Točnost = (TP + TN) / Ukupno = (8 + 61) / 100 = 0.69

10. korak: Sada ćemo unakrsno provjeriti rezultat kroz ispis. Dakle, samo ispisujemo 5 najboljih elemenata X_test i y_test (stvarna stvarna vrijednost) pomoću funkcije head pandas. Zatim, također ispisujemo top 5 rezultata predviđanja kao što je prikazano u nastavku:

Kombiniramo sva tri rezultata u listu kako bismo razumjeli predviđanja kako je prikazano u nastavku. Možemo vidjeti da je osim podataka o 341 X_test, koji su bili istiniti (1), predviđanje netačno (0). Dakle, naša predviđanja modela rade 69%, kao što smo već pokazali gore.

11. korak: Dakle, razumijemo kako se predviđanja modela rade na neviđenom skupu podataka poput X_test. Dakle, stvorili smo samo nasumično novi skup podataka koristeći okvir podataka pandas, proslijedili ga obučenom modelu i dobili rezultat prikazan u nastavku.

Kompletni kod u pythonu dan u nastavku:

Kôd ovog bloga, zajedno sa skupom podataka, dostupan je na sljedećoj poveznici
https: // github.com / shekharpandey89 / logistička-regresija

SuperTuxKart za Linux
SuperTuxKart sjajan je naslov osmišljen kako bi vam besplatno pružio iskustvo Mario Kart na vašem Linux sustavu. Prilično je izazovno i zabavno igrati...
Vodič za bitku za Wesnoth
Bitka za Wesnoth jedna je od najpopularnijih strateških igara otvorenog koda koje trenutno možete igrati. Ne samo da se ova igra razvija već jako dugo...
0 A.D. Vodič
Od mnogih strateških igara tamo, 0 A.D. uspijeva se istaknuti kao sveobuhvatan naslov i vrlo duboka, taktička igra unatoč tome što je otvoren izvor. R...