Andmete normaliseerimine Pythonis

Normalization Data Python

Andmete normaliseerimine on tehnika, mis aitab tulemust kiiremini saavutada, kuna masin peab töötlema väiksema hulga andmeid. Normaliseerimine ei ole lihtne ülesanne, sest kõik teie tulemused sõltuvad teie normaliseerimismeetodi valikust. Seega, kui olete andmete normaliseerimiseks valinud vale meetodi, võite saada midagi, mis teie ootustest erineb.

Normaliseerimine sõltub ka andmetüübist, nagu pildid, tekst, numbrid jne. Seega on igal andmetüübil normaliseerimiseks erinev meetod. Seega keskendume selles artiklis numbrilistele andmetele.



Meetod: sklearni kasutamine

Sklearn meetod on väga tuntud meetod andmete normaliseerimiseks.





Lahtri numbris [83] : Impordime kõik nõutavad teegid, NumPy ja sklearn. Näete, et impordime eeltöötluse sklearist endast. Sellepärast on see sklearni normaliseerimise meetod.

Lahtri numbris [84] : Lõime NumPy massiivi, mille täisväärtus ei ole sama.

Lahtri numbris [85] : Me kutsusime eeltöötlusest normaliseerimismeetodi ja edastasime parameetrina äsja loodud numpy_array.



Lahtri numbris [86] : Tulemustest näeme, et meie kõik täisarvud on nüüd normaliseeritud vahemikus 0 kuni 1.

2. meetod: normaliseerige andmekogumi konkreetne veerg sklearni abil

Samuti saame normaliseerida konkreetse andmestiku veeru. Selles arutame seda.


Lahtri numbris [87] : Impordime raamatukogust pandasid ja õpime.

Lahtri numbris [88] : Lõime näiv CSV -faili ja laadime nüüd seda CSV -faili pandade (read_csv) paketi abil.

Lahtri numbris [89] : Prindime selle CSV -faili, mille hiljuti laadisime.

Lahtri numbris [90] : Loeme CSV -faili konkreetset veergu, kasutades np -d. massiiv ja salvestage tulemus väärtusele_massiiv.

Lahtri numbris [92] , kutsusime eeltöötlusest normaliseerimise meetodi ja edastasime parameetri value_array.

Meetod: teisendage normaliseerimiseks ilma veerge massiivita (sklearni abil)

Eelmises meetodis 2 arutasime, kuidas teatud CSV -faili veergu normaliseerida. Kuid mõnikord peame normaliseerima kogu andmekogumi, siis saame kasutada järgmist meetodit, kus normaliseerime kogu andmekogumi, kuid veergude lõikes (telg = 0). Kui me nimetame telge = 1, siis see normaliseerub rea järgi. Telg = 1 on vaikimisi väärtus.


Lahtri numbris [93] : Impordime raamatukogust pandasid ja õpime.

Lahtri numbris [94] : Lõime näiv CSV -faili (demo_numeric.csv) ja laadime nüüd seda CSV -faili pandade (read_csv) paketi abil.

Lahtrite arv [95] : Prindime selle CSV -faili, mille hiljuti laadisime.

Lahtri numbris [96] : Nüüd edastame kogu CSV-faili koos veel ühe täiendava parameetriteljega = 0, mis ütles raamatukogule, et kasutaja soovib kogu andmestikku veergude lõikes normaliseerida.

Lahtri numbris [97] , prindime tulemuse ja normaliseerime andmed väärtusega 0 kuni 1.

4. meetod: MinMaxScaler () kasutamine

Sklearn pakub ka teist normaliseerimismeetodit, mida me nimetasime MinMaxScalariks. See on ka väga populaarne meetod, kuna seda on lihtne kasutada.


Lahtri numbris [98] : Impordime kõik nõutavad paketid.

Lahtri numbris [99] : Lõime näiv CSV -faili (demo_numeric.csv) ja laadime nüüd seda CSV -faili pandade (read_csv) paketi abil.

Lahtrite arv [100] : Prindime selle CSV -faili, mille hiljuti laadisime.

Lahtri numbris [101] : Me kutsusime eeltöötlusmeetodist MinMaxScalari ja lõime selle jaoks objekti (min_max_Scalar). Me ei edastanud ühtegi parameetrit, kuna peame normaliseerima andmed vahemikus 0 kuni 1. Aga kui soovite, võite lisada oma väärtused, mida näeme järgmises meetodis.

Lahtri numbris [102] : Esmalt loeme kõik veergude nimed tulemuste kuvamiseks edasiseks kasutamiseks. Seejärel kutsume loodud objekti fit_tranform min_max_Scalar ja edastame CSV -faili sellesse.

Lahtri numbris [103] : Saame normaliseeritud tulemused, mis jäävad vahemikku 0 kuni 1.

5. meetod: MinMaxScaler kasutamine (funktsioon_vahemik = (x, y))

Sklearn pakub ka võimalust muuta soovitud normaliseeritud väärtust. Vaikimisi normaliseerivad nad väärtuse vahemikus 0 kuni 1. Kuid on olemas parameeter, mida me nimetasime funktsiooni_vahemikuks, mis saab seadistada normaliseeritud väärtuse vastavalt meie nõuetele.

Lahtri numbris [104] : Impordime kõik nõutavad paketid.

Lahtri numbris [105] : Lõime näiv CSV -faili (demo_numeric.csv) ja laadime nüüd seda CSV -faili pandade (read_csv) paketi abil.

Lahtri numbris [106] : Prindime selle CSV -faili, mille hiljuti laadisime.

Lahtri numbris [107] : Me kutsusime eeltöötlusmeetodist MinMaxScalari ja lõime selle jaoks objekti (min_max_Scalar). Kuid me edastame ka teise parameetri MinMaxScaleris (funktsiooni_vahemik). Selle parameetri väärtuseks seadisime 0 kuni 2. Nüüd normaliseerib MinMaxScaler andmete väärtused vahemikus 0 kuni 2.

Lahtri numbris [108] : Esmalt loeme kõik veergude nimed tulemuste kuvamiseks edasiseks kasutamiseks. Seejärel kutsume loodud objekti fit_tranform min_max_Scalar ja edastame CSV -faili sellesse.

Lahtri numbris [109] : Saame normaliseeritud tulemused, mis jäävad vahemikku 0 kuni 2.

6. meetod: maksimaalse absoluutse skaleerimise kasutamine

Samuti saame andmeid normaliseerida pandade abil. Need funktsioonid on ka andmete normaliseerimisel väga populaarsed. Maksimaalne absoluutne skaleerimine normaliseerib väärtused vahemikus 0 kuni 1. Me rakendame siin .max () ja .abs (), nagu allpool näidatud:

Lahtri numbris [110] : Impordime pandade raamatukogu.

Lahtri numbris [111] : Lõime näiva andmeraami ja printisime selle.

Lahtrite arv [113] : Me kutsume iga veeru ja jagame seejärel veeru väärtused .max () ja .abs ().

Lahtri numbris [114] : Prindime tulemuse ja kinnitame tulemuse põhjal, et meie andmed normaliseeruvad vahemikus 0 kuni 1.

7. meetod: z-skoori meetodi kasutamine

Järgmine meetod, mida me arutame, on z-skoori meetod. See meetod teisendab teabe levitamiseks. See meetod arvutab iga veeru keskmise ja lahutab seejärel igast veerust ning jagab selle lõpuks standardhälbega. See normaliseerib andmed vahemikus -1 kuni 1.

Lahtri numbris [115] : Lõime näiva andmeraami ja printisime selle.

Lahtri numbris [117] : Arvutame veeru keskmise ja lahutame selle veerust. Seejärel jagame veeru väärtuse standardhälbega.

Lahtri numbris [118] : Prindime normaliseeritud andmed vahemikus -1 kuni 1.

Järeldus: Oleme näinud erinevaid normaliseeritud meetodeid. Nende hulgas on sklearn masinõppe toetamise tõttu väga kuulus. Kuid see sõltub kasutaja vajadustest. Mõnikord piisab andmete normaliseerimiseks pandadest. Me ei saa öelda, et on olemas ainult ülalpool normaliseerimismeetodeid. Andmete normaliseerimiseks on palju meetodeid, mis sõltuvad ka teie andmetüübist, nagu pildid, numbrid, tekst jne. Keskendume nendele numbrilistele andmetele ja Pythonile.