Datatiede

Logistinen regressio Pythonissa

Logistinen regressio Pythonissa
Logistinen regressio on koneoppimisen luokittelualgoritmi. Logistinen regressio on myös samanlainen kuin lineaarinen regressio. Mutta suurin ero logistisen regression ja lineaarisen regression välillä on se, että logistisen regressiolähdön arvot ovat aina binaarisia (0, 1) eivätkä numeerisia. Logistinen regressio luo pohjimmiltaan suhteen riippumattomien muuttujien (yhden tai useamman) ja riippuvien muuttujien välille. Riippuva muuttuja on binaarinen muuttuja, jolla on enimmäkseen kaksi tapausta:

Logistisen regression keskeinen merkitys:

  1. Riippumattomat muuttujat eivät saa olla monikollinaarisuus; jos suhde on olemassa, sen pitäisi olla hyvin vähän.
  2. Logistisen regressiotietojoukon tulisi olla riittävän suuri parempien tulosten saamiseksi.
  3. Ainoastaan ​​näiden määritteiden tulisi olla tietojoukossa, jolla on jokin merkitys.
  4. Riippumattomien muuttujien on oltava log-kertoimet.

Rakentaa malli logistinen regressio, käytämme scikit-oppia kirjasto. Logistisen regressioprosessi pythonissa on annettu alla:

  1. Tuo kaikki vaaditut paketit logistista regressiota ja muita kirjastoja varten.
  2. Lataa tietojoukko.
  3. Ymmärrä itsenäiset tietojoukon muuttujat ja riippuvat muuttujat.
  4. Jaa tietojoukko koulutus- ja testitietoihin.
  5. Alusta logistinen regressiomalli.
  6. Sovita malli harjoitustietojoukkoon.
  7. 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

Suosituimmat Oculus App Lab -pelit
Jos olet Oculus-kuulokemikrofonin omistaja, sinun täytyy olla tietoinen sivulatauksesta. Sivulataus on prosessi, jolla ei-kaupallista sisältöä asennet...
Top 10 Games to Play on Ubuntu
Windows platform has been one of the dominating platforms for gaming because of the huge percentage of games that are developing today to natively sup...
5 parasta arcade-peliä Linuxille
Nykyään tietokoneet ovat vakavia koneita, joita käytetään pelaamiseen. Jos et pääse uusiin korkeisiin pisteisiin, tiedät mitä tarkoitan. Tässä viestis...