Normalizacja danych w Pythonie

Normalization Data Python



Normalizacja danych to technika, która pomaga szybciej uzyskać wynik, ponieważ maszyna musi przetwarzać mniejszy zakres danych. Normalizacja nie jest łatwym zadaniem, ponieważ wszystkie wyniki zależą od wyboru metody normalizacji. Jeśli więc wybrałeś niewłaściwą metodę normalizacji danych, możesz otrzymać coś innego niż Twoje oczekiwania.

Normalizacja zależy również od typu danych, takiego jak obrazy, tekst, dane liczbowe itp. Tak więc każdy typ danych ma inną metodę normalizacji. Dlatego w tym artykule skupiamy się na danych liczbowych.







Metoda 1: Używanie sklearn

Metoda Sklearna jest bardzo znaną metodą normalizacji danych.





W komórce numer [83] : Importujemy wszystkie wymagane biblioteki, NumPy i sklearn. Widać, że importujemy przetwarzanie wstępne z samego sklearna. Dlatego jest to metoda normalizacji sklearna.





W komórce numer [84] : Stworzyliśmy tablicę NumPy z pewną liczbą całkowitą, która nie jest taka sama.

W komórce numer [85] : Wywołaliśmy metodę normalize z przetwarzania wstępnego i przekazaliśmy numpy_array, który właśnie utworzyliśmy jako parametr.



W komórce numer [86] : Jak widać z wyników, nasze wszystkie dane całkowite są teraz znormalizowane między 0 a 1.

Metoda 2: Normalizuj konkretną kolumnę w zestawie danych za pomocą sklearn

Możemy również znormalizować konkretną kolumnę zestawu danych. W tym omówimy o tym.


W komórce numer [87] : Importujemy pandy biblioteczne i sklearn.

W komórce numer [88] : Stworzyliśmy fikcyjny plik CSV i teraz ładujemy ten plik CSV za pomocą pakietu pandas (read_csv).

W komórce numer [89] : Drukujemy ten plik CSV, który ostatnio załadowaliśmy.

W komórce numer [90] : Czytamy konkretną kolumnę pliku CSV za pomocą np. array i zapisz wynik w value_array.

W komórce numer [92] , wywołaliśmy metodę normalize z przetwarzania wstępnego i przekazaliśmy parametr tablica_wartości.

Metoda 3: Konwertuj na normalizację bez używania kolumn do tablicy (przy użyciu sklearn)

W poprzedniej metodzie 2 omówiliśmy, w jaki sposób można znormalizować konkretną kolumnę pliku CSV. Ale czasami musimy znormalizować cały zestaw danych, wtedy możemy użyć poniższej metody, w której normalizujemy cały zestaw danych, ale wzdłuż kolumny (oś = 0). Jeśli wspomnimy o osi = 1, znormalizuje to wiersz. Oś = 1 jest wartością domyślną.


W komórce numer [93] : Importujemy pandy biblioteczne i sklearn.

W komórce numer [94] : Stworzyliśmy fikcyjny plik CSV (demo_numeric.csv) i teraz ładujemy ten plik CSV za pomocą pakietu pandas (read_csv).

W komórce numer [95] : Drukujemy ten plik CSV, który ostatnio załadowaliśmy.

W komórce numer [96] : Teraz przekazujemy cały plik CSV wraz z jeszcze jedną dodatkową osią parametru =0, która informuje bibliotekę, że użytkownik chce znormalizować cały zestaw danych pod względem kolumn.

W komórce numer [97] , wypisujemy wynik i normalizujemy dane o wartości od 0 do 1.

Metoda 4: Używanie MinMaxScaler()

Sklearn zapewnia również inną metodę normalizacji, którą nazwaliśmy MinMaxScalar. Jest to również bardzo popularna metoda, ponieważ jest łatwa w użyciu.


W komórce numer [98] : Importujemy wszystkie wymagane pakiety.

W komórce numer [99] : Stworzyliśmy fikcyjny plik CSV (demo_numeric.csv) i teraz ładujemy ten plik CSV za pomocą pakietu pandas (read_csv).

W komórce numer [100] : Drukujemy ten plik CSV, który ostatnio załadowaliśmy.

W komórce numer [101] : Wywołaliśmy MinMaxScalar z metody przetwarzania wstępnego i stworzyliśmy w tym celu obiekt (min_max_Scalar). Nie przekazaliśmy żadnych parametrów, ponieważ musimy znormalizować dane między 0 a 1. Ale jeśli chcesz, możesz dodać swoje wartości, które będą widoczne w następnej metodzie.

W komórce numer [102] : Najpierw czytamy wszystkie nazwy kolumn do dalszego wykorzystania w celu wyświetlenia wyników. Następnie wywołujemy fit_transform z utworzonego obiektu min_max_Scalar i przekazujemy do niego plik CSV.

W komórce numer [103] : Otrzymujemy znormalizowane wyniki mieszczące się w przedziale od 0 do 1.

Metoda 5: Używanie MinMaxScaler(feature_range=(x,y))

Sklearn zapewnia również opcję zmiany znormalizowanej wartości tego, co chcesz. Domyślnie normalizują wartość od 0 do 1. Istnieje jednak parametr, który nazwaliśmy zakres_funkcji, który może ustawić znormalizowaną wartość zgodnie z naszymi wymaganiami.

W komórce numer [104] : Importujemy wszystkie wymagane pakiety.

W komórce numer [105] : Stworzyliśmy fikcyjny plik CSV (demo_numeric.csv) i teraz ładujemy ten plik CSV za pomocą pakietu pandas (read_csv).

W komórce numer [106] : Drukujemy ten plik CSV, który ostatnio załadowaliśmy.

W komórce numer [107] : Wywołaliśmy MinMaxScalar z metody przetwarzania wstępnego i stworzyliśmy w tym celu obiekt (min_max_Scalar). Ale przekazujemy również inny parametr wewnątrz MinMaxScaler (feature_range). Tę wartość parametru ustawiamy od 0 do 2. Więc teraz MinMaxScaler znormalizuje wartości danych od 0 do 2.

W komórce numer [108] : Najpierw czytamy wszystkie nazwy kolumn do dalszego wykorzystania w celu wyświetlenia wyników. Następnie wywołujemy fit_transform z utworzonego obiektu min_max_Scalar i przekazujemy do niego plik CSV.

W celi numer [109] : Otrzymujemy znormalizowane wyniki, które mieszczą się w przedziale od 0 do 2.

Metoda 6: Korzystanie z maksymalnego skalowania bezwzględnego

Możemy również znormalizować dane za pomocą pand. Te funkcje są również bardzo popularne w normalizacji danych. Maksymalne skalowanie bezwzględne normalizuje wartości od 0 do 1. Stosujemy tutaj .max() i .abs(), jak pokazano poniżej:

W komórce numer [110] : Importujemy bibliotekę pand.

W komórce numer [111] : Stworzyliśmy fikcyjną ramkę danych i wydrukowaliśmy tę ramkę danych.

W komórce numer [113] : Wywołujemy każdą kolumnę, a następnie dzielimy wartości kolumn przez .max() i .abs().

W komórce numer [114] : Wypisujemy wynik i na podstawie wyniku potwierdzamy, że nasze dane normalizują się między 0 a 1.

Metoda 7: Korzystanie z metody z-score

Kolejną metodą, którą omówimy, jest metoda z-score. Ta metoda konwertuje informacje do dystrybucji. Ta metoda oblicza średnią z każdej kolumny, a następnie odejmuje od każdej kolumny, a na końcu dzieli ją z odchyleniem standardowym. Normalizuje to dane od -1 do 1.

W komórce numer [115] : Stworzyliśmy fikcyjną ramkę danych i wydrukowaliśmy tę ramkę danych.

W komórce numer [117] : Obliczamy średnią kolumny i odejmujemy ją od kolumny. Następnie dzielimy wartość kolumny przez odchylenie standardowe.

W komórce numer [118] : Drukujemy znormalizowane dane od -1 do 1.

Wniosek: widzieliśmy różne rodzaje znormalizowanych metod. Wśród nich sklearn słynie z tego, że wspiera uczenie maszynowe. Ale to zależy od wymagań użytkownika. Czasami funkcja pandy do normalizacji danych jest wystarczająca. Nie możemy powiedzieć, że istnieją tylko metody powyżej normalizacji. Istnieje wiele metod normalizacji danych, które również zależą od typu danych, takich jak obrazy, dane liczbowe, tekst itp. Skupiamy się na tych danych liczbowych i Pythonie.