Normalisatie van gegevens in Python

Normalization Data Python



Normalisatie van gegevens is een techniek die helpt om het resultaat sneller te krijgen, omdat de machine een kleiner aantal gegevens moet verwerken. Normalisatie is geen gemakkelijke taak omdat al uw resultaten afhankelijk zijn van de keuze van uw normalisatiemethode. Dus als u de verkeerde methode hebt gekozen om uw gegevens te normaliseren, krijgt u mogelijk iets anders dan uw verwachtingen.

De normalisatie hangt ook af van het gegevenstype, zoals afbeeldingen, tekst, numeriek, enz. Elk gegevenstype heeft dus een andere methode om te normaliseren. In dit artikel richten we ons dus op numerieke gegevens.







Methode 1: sklearn gebruiken

De sklearn-methode is een zeer bekende methode om de gegevens te normaliseren.





In celnummer [83] : We importeren alle benodigde bibliotheken, NumPy en sklearn. Je kunt zien dat we de voorbewerking uit de sklearn zelf importeren. Daarom is dit de sklearn-normalisatiemethode.





In celnummer [84] : We hebben een NumPy-array gemaakt met een geheel getal dat niet hetzelfde is.

In celnummer [85] : We hebben de normalize-methode uit de preprocessing aangeroepen en de numpy_array doorgegeven, die we zojuist als parameter hebben gemaakt.



In celnummer [86] : We kunnen aan de resultaten zien dat al onze gegevens met gehele getallen nu zijn genormaliseerd tussen 0 en 1.

Methode 2: Normaliseer een bepaalde kolom in een dataset met sklearn

We kunnen ook de specifieke datasetkolom normaliseren. Daarin gaan we het daar over hebben.


In celnummer [87] : We importeren de bibliotheekpanda's en sklearn.

In celnummer [88] : We hebben een dummy CSV-bestand gemaakt en we laden dat CSV-bestand nu met behulp van het pandas (read_csv) -pakket.

In celnummer [89] : We printen dat CSV-bestand dat we onlangs hebben geladen.

In celnummer [90] : We lezen de specifieke kolom van het CSV-bestand met behulp van de np. array en sla het resultaat op in value_array.

In celnummer [92] , we hebben de normalize-methode uit de preprocessing aangeroepen en de parameter value_array doorgegeven.

Methode 3: Converteren om te normaliseren zonder de kolommen naar array te gebruiken (met sklearn)

In de vorige methode 2 hebben we besproken hoe we een bepaalde CSV-bestandskolom konden normaliseren. Maar soms moeten we de hele dataset normaliseren, dan kunnen we de onderstaande methode gebruiken waarbij we de hele dataset normaliseren, maar kolomsgewijs (as = 0). Als we de as = 1 noemen, dan zal het rijgewijs normaliseren. De as = 1 is de standaardwaarde.


In celnummer [93] : We importeren de bibliotheekpanda's en sklearn.

In celnummer [94] : We hebben een dummy CSV-bestand (demo_numeric.csv) gemaakt en we laden dat CSV-bestand nu met behulp van het pandas-pakket (read_csv).

In celnummer [95] : We printen dat CSV-bestand dat we onlangs hebben geladen.

In celnummer [96] : Nu geven we het hele CSV-bestand door, samen met nog een extra parameteras =0, die tegen de bibliotheek zei dat de gebruiker de hele dataset kolomsgewijs wilde normaliseren.

In celnummer [97] , we drukken het resultaat af en normaliseren gegevens met een waarde tussen 0 en 1.

Methode 4: MinMaxScaler() gebruiken

De sklearn biedt ook een andere methode van normalisatie, die we MinMaxScalar noemden. Dit is ook een zeer populaire methode omdat het gemakkelijk te gebruiken is.


In celnummer [98] : Wij importeren alle benodigde pakketten.

In celnummer [99] : We hebben een dummy CSV-bestand (demo_numeric.csv) gemaakt en we laden dat CSV-bestand nu met behulp van het pandas-pakket (read_csv).

In celnummer [100] : We printen dat CSV-bestand dat we onlangs hebben geladen.

In celnummer [101] : We hebben de MinMaxScalar aangeroepen vanuit de preprocessing-methode en daarvoor een object (min_max_Scalar) gemaakt. We hebben geen parameters doorgegeven omdat we de gegevens tussen 0 en 1 moeten normaliseren. Maar als je wilt, kun je je waarden toevoegen die in de volgende methode te zien zijn.

In celnummer [102] : We lezen eerst alle namen van de kolommen voor verder gebruik om resultaten weer te geven. Vervolgens roepen we de fit_transform van het gemaakte object min_max_Scalar aan en geven het CSV-bestand daarin door.

In celnummer [103] : We krijgen de genormaliseerde resultaten die tussen 0 en 1 liggen.

Methode 5: MinMaxScaler gebruiken(feature_range=(x,y))

De sklearn biedt ook de mogelijkheid om de genormaliseerde waarde te wijzigen van wat u wilt. Standaard normaliseren ze de waarde tussen 0 en 1. Maar er is een parameter die we feature_range hebben genoemd, die de genormaliseerde waarde kan instellen volgens onze vereisten.

In celnummer [104] : Wij importeren alle benodigde pakketten.

In celnummer [105] : We hebben een dummy CSV-bestand (demo_numeric.csv) gemaakt en we laden dat CSV-bestand nu met behulp van het pandas-pakket (read_csv).

In celnummer [106] : We printen dat CSV-bestand dat we onlangs hebben geladen.

In celnummer [107] : We hebben de MinMaxScalar aangeroepen vanuit de preprocessing-methode en daarvoor een object (min_max_Scalar) gemaakt. Maar we geven ook een andere parameter door in de MinMaxScaler (feature_range). Die parameterwaarde zetten we 0 op 2. Dus nu zal de MinMaxScaler de gegevenswaarden tussen 0 en 2 normaliseren.

In celnummer [108] : We lezen eerst alle namen van de kolommen voor verder gebruik om resultaten weer te geven. Vervolgens roepen we de fit_transform van het gemaakte object min_max_Scalar aan en geven het CSV-bestand daarin door.

In celnummer [109] : We krijgen de genormaliseerde resultaten die tussen 0 en 2 liggen.

Methode 6: De maximale absolute schaling gebruiken

We kunnen de gegevens ook normaliseren met behulp van panda's. Deze functies zijn ook erg populair bij het normaliseren van de gegevens. De maximale absolute schaling normaliseert waarden tussen 0 en 1. We passen hier .max () en .abs() toe, zoals hieronder weergegeven:

In celnummer [110] : We importeren de bibliotheek van de panda's.

In celnummer [111] : We hebben een dummy-dataframe gemaakt en dat dataframe afgedrukt.

In celnummer [113] : We noemen elke kolom en delen vervolgens de kolomwaarden met de .max() en .abs().

In celnummer [114] : We drukken het resultaat af en van het resultaat bevestigen we dat onze gegevens normaliseren tussen 0 en 1.

Methode 7: De z-score-methode gebruiken

De volgende methode die we gaan bespreken is de z-score methode. Deze methode zet de informatie om naar de distributie. Deze methode berekent het gemiddelde van elke kolom en trekt vervolgens van elke kolom af en deelt deze uiteindelijk door de standaarddeviatie. Dit normaliseert de gegevens tussen -1 en 1.

In celnummer [115] : We hebben een dummy-dataframe gemaakt en dat dataframe afgedrukt.

In celnummer [117] : We berekenen het gemiddelde van de kolom en trekken dit van de kolom af. Vervolgens delen we de kolomwaarde door de standaarddeviatie.

In celnummer [118] : We printen de genormaliseerde gegevens tussen -1 en 1.

Conclusie: We hebben verschillende soorten genormaliseerde methoden gezien. Onder hen is sklearn erg beroemd vanwege het ondersteunen van machine learning. Maar dat hangt af van de eisen van de gebruiker. Soms is een panda-functie om gegevens te normaliseren voldoende. We kunnen niet zeggen dat er alleen methoden voor normalisatie zijn. Er zijn talloze methoden om gegevensnormalisatie uit te voeren die ook afhankelijk zijn van uw gegevenstype, zoals afbeeldingen, numeriek, tekst, enz. We concentreren ons op deze numerieke gegevens en Python.