- 1 tosi tai
- 0 väärälle arvolle
Logistisen regression keskeinen merkitys:
- Riippumattomat muuttujat eivät saa olla monikollinaarisuus; jos suhde on olemassa, sen pitäisi olla hyvin vähän.
- Logistisen regressiotietojoukon tulisi olla riittävän suuri parempien tulosten saamiseksi.
- Ainoastaan näiden määritteiden tulisi olla tietojoukossa, jolla on jokin merkitys.
- Riippumattomien muuttujien on oltava log-kertoimet.
Rakentaa malli logistinen regressio, käytämme scikit-oppia kirjasto. Logistisen regressioprosessi pythonissa on annettu alla:
- Tuo kaikki vaaditut paketit logistista regressiota ja muita kirjastoja varten.
- Lataa tietojoukko.
- Ymmärrä itsenäiset tietojoukon muuttujat ja riippuvat muuttujat.
- Jaa tietojoukko koulutus- ja testitietoihin.
- Alusta logistinen regressiomalli.
- Sovita malli harjoitustietojoukkoon.
- Ennusta malli testitulosten avulla ja laske mallin tarkkuus.
Ongelma: Ensimmäiset vaiheet on kerätä tietoaineisto, johon haluamme soveltaa Logistinen regressio. Aineisto, jota aiomme käyttää tässä, on MS-pääsytietojoukkoon. Tässä tietojoukossa on neljä muuttujaa, joista kolme on itsenäisiä muuttujia (GRE, GPA, work_experience), ja yksi on riippuvainen muuttuja (hyväksytty). Tämä tietojoukko kertoo, saako hakija pääsyn arvostettuun yliopistoon GPA: n, GRE: n tai työelämyksen perusteella.
Vaihe 1: Tuomme kaikki vaadittavat kirjastot, joita vaadimme python-ohjelmalle.
Vaihe 2: Ladataan nyt ms: n pääsytietojoukkojamme read_csv pandas -toiminnolla.
Vaihe 3: Tietojoukko näyttää seuraavalta:
Vaihe 4: Tarkistamme kaikki tietojoukon käytettävissä olevat sarakkeet ja asetamme sitten kaikille itsenäisille muuttujille muuttujan X ja riippuvien muuttujien arvoksi y, kuten alla olevassa kuvakaappauksessa näkyy.
Vaihe 5: Kun itsenäiset muuttujat on asetettu arvoksi X ja riippuva muuttuja arvoksi y, tulostamme nyt tarkistamaan X ja y ristipään funktiolla head pandas.
Vaihe 6: Jaamme nyt koko tietojoukon koulutukseen ja testiin. Tätä varten käytämme sklearn-menetelmää train_test_split. Olemme antaneet testille 25% koko aineistosta ja loput 75% koulutuksesta.
Vaihe 7: Jaamme nyt koko tietojoukon koulutukseen ja testiin. Tätä varten käytämme sklearn-menetelmää train_test_split. Olemme antaneet testille 25% koko aineistosta ja loput 75% koulutuksesta.
Sitten luomme logistisen regressiomallin ja sovitamme harjoitustiedot.
Vaihe 8: Nyt mallimme on valmis ennakointiin, joten siirrämme nyt testitiedot (X_test) mallille ja saimme tulokset. Tulokset osoittavat (y_ennusteet), että arvot 1 (hyväksytty) ja 0 (ei hyväksytty).
Vaihe 9: Tulostamme nyt luokitusraportin ja sekaannusmatriisin.
Luokitteluraportti osoittaa, että malli pystyy ennustamaan tulokset 69 prosentin tarkkuudella.
Sekaannusmatriisi näyttää X_test-tiedot yhteensä seuraavasti:
TP = todelliset positiiviset = 8
TN = todelliset negatiiviset = 61
FP = väärät positiiviset = 4
FN = väärät negatiiviset = 27
Joten sekaannusmatriisin mukainen kokonaistarkkuus on:
Tarkkuus = (TP + TN) / Yhteensä = (8 + 61) / 100 = 0.69
Vaihe 10: Tarkastamme tuloksen nyt tulostamalla. Joten me vain tulostamme X_testin ja y_testin (todellinen todellinen arvo) viisi tärkeintä elementtiä käyttäen head pandas -toimintoa. Tulostamme sitten myös viiden tärkeimmän ennustetuloksen alla olevan kuvan mukaisesti:
Yhdistämme kaikki kolme tulosta taulukkoon ymmärtääksemme ennusteet alla esitetyllä tavalla. Voimme nähdä, että lukuun ottamatta 341 X_test-dataa, joka oli tosi (1), ennuste on väärä (0) muu. Joten mallin ennusteet toimivat 69%, kuten olemme jo osoittaneet edellä.
Vaihe 11: Joten ymmärrämme, kuinka malliennusteet tehdään näkymättömässä tietojoukossa, kuten X_test. Joten loimme vain satunnaisesti uuden tietojoukon pandas-tietokehyksellä, välitimme sen koulutetulle mallille ja saimme alla olevan tuloksen.
Alla oleva pythonin täydellinen koodi:
Tämän blogin koodi yhdessä tietojoukon kanssa on saatavilla seuraavasta linkistä
https: // github.fi / shekharpandey89 / logistic-regression