Normalizowanie składnika danych

W tym artykule opisano składnik w projektancie usługi Azure Machine Learning.

Ten składnik służy do przekształcania zestawu danych za pomocą normalizacji.

Normalizacja to technika często stosowana w ramach przygotowywania danych do uczenia maszynowego. Celem normalizacji jest zmiana wartości kolumn liczbowych w zestawie danych w celu użycia wspólnej skali bez zniekształcania różnic w zakresach wartości lub utraty informacji. Normalizacja jest również wymagana, aby niektóre algorytmy prawidłowo modelować dane.

Załóżmy na przykład, że wejściowy zestaw danych zawiera jedną kolumnę z wartościami od 0 do 1, a drugą kolumną z wartościami od 10 000 do 100 000. Duża różnica w skali liczb może powodować problemy podczas próby połączenia wartości jako funkcji podczas modelowania.

Normalizacja pozwala uniknąć tych problemów, tworząc nowe wartości, które utrzymują ogólny rozkład i współczynniki w danych źródłowych, przy jednoczesnym zachowaniu wartości w skali stosowanej we wszystkich kolumnach liczbowych używanych w modelu.

Ten składnik oferuje kilka opcji przekształcania danych liczbowych:

  • Możesz zmienić wszystkie wartości na 0–1 skalę lub przekształcić wartości, reprezentując je jako klasyfikacje percentylu, a nie wartości bezwzględne.
  • Normalizację można zastosować do jednej kolumny lub do wielu kolumn w tym samym zestawie danych.
  • Jeśli musisz powtórzyć potok lub zastosować te same kroki normalizacji do innych danych, możesz zapisać kroki jako przekształcenie normalizacji i zastosować go do innych zestawów danych, które mają ten sam schemat.

Ostrzeżenie

Niektóre algorytmy wymagają normalizacji danych przed rozpoczęciem trenowania modelu. Inne algorytmy wykonują własne skalowanie lub normalizację danych. Dlatego podczas wybierania algorytmu uczenia maszynowego do użycia w tworzeniu modelu predykcyjnego należy zapoznać się z wymaganiami dotyczącymi danych algorytmu przed zastosowaniem normalizacji do danych treningowych.

Konfigurowanie normalizacji danych

Za pomocą tego składnika można zastosować tylko jedną metodę normalizacji. W związku z tym ta sama metoda normalizacji jest stosowana do wszystkich wybranych kolumn. Aby użyć różnych metod normalizacji, użyj drugiego wystąpienia znormalizowanych danych.

  1. Dodaj składnik Normalize Data (Normalizacja danych ) do potoku. Składnik w usłudze Azure Machine Learning można znaleźć w obszarze Przekształcanie danych w kategorii Skalowanie i zmniejszanie .

  2. Połącz zestaw danych zawierający co najmniej jedną kolumnę wszystkich liczb.

  3. Użyj selektora kolumn, aby wybrać kolumny liczbowe do normalizacji. Jeśli nie wybierzesz poszczególnych kolumn, domyślnie zostaną uwzględnione wszystkie kolumny typu liczbowego w danych wejściowych, a ten sam proces normalizacji zostanie zastosowany do wszystkich wybranych kolumn.

    Może to prowadzić do dziwnych wyników, jeśli dołączysz kolumny liczbowe, które nie powinny być znormalizowane! Zawsze uważnie sprawdzaj kolumny.

    Jeśli nie wykryto żadnych kolumn liczbowych, sprawdź metadane kolumny, aby sprawdzić, czy typ danych kolumny jest obsługiwanym typem liczbowym.

    Porada

    Aby upewnić się, że kolumny określonego typu są dostarczane jako dane wejściowe, spróbuj użyć składnika Select Columns in Dataset (Wybieranie kolumn w zestawie danych ) przed znormalizowanie danych.

  4. Użyj wartości 0 dla kolumn stałych po zaznaczeniu: wybierz tę opcję, gdy dowolna kolumna liczbowa zawiera jedną niezmienną wartość. Dzięki temu takie kolumny nie są używane w operacjach normalizacji.

  5. Z listy rozwijanej Metoda przekształcania wybierz pojedynczą funkcję matematyczną, która ma być stosowana do wszystkich wybranych kolumn.

    • Zscore: konwertuje wszystkie wartości na wynik z.

      Wartości w kolumnie są przekształcane przy użyciu następującej formuły:

      normalizacja przy użyciu wyników z

      Średnie i odchylenie standardowe są obliczane osobno dla każdej kolumny. Używane jest odchylenie standardowe populacji.

    • MinMax: minimalna maksymalna normalizator liniowo zmienia każdą funkcję na interwał [0,1].

      Przeskalowanie do interwału [0,1] odbywa się przez przesunięcie wartości każdej funkcji tak, aby minimalna wartość wynosi 0, a następnie dzieliła przez nową maksymalną wartość (czyli różnicę między oryginalnymi maksymalnymi i minimalnymi wartościami).

      Wartości w kolumnie są przekształcane przy użyciu następującej formuły:

      normalizacja przy użyciu funkcji min-max

    • Logistyka: wartości w kolumnie są przekształcane przy użyciu następującej formuły:

      formuła normalizacji przez funkcję logistyczną

    • LogNormal: ta opcja konwertuje wszystkie wartości na skalę lognormalną.

      Wartości w kolumnie są przekształcane przy użyciu następującej formuły:

      rozkład normalny dziennika formuły

      W tym przypadku μ i σ są parametrami rozkładu obliczonymi empirycznie na podstawie danych jako maksymalnymi oszacowaniami prawdopodobieństwa dla każdej kolumny oddzielnie.

    • TanH: Wszystkie wartości są konwertowane na tangens hiperboliczny.

      Wartości w kolumnie są przekształcane przy użyciu następującej formuły:

      normalizacja przy użyciu funkcji tanh

  6. Prześlij potok lub kliknij dwukrotnie składnik Normalize Data (Normalizacja danych ) i wybierz polecenie Run Selected (Uruchom wybrane).

Wyniki

Składnik Normalize Data (Normalizacja danych ) generuje dwa dane wyjściowe:

  • Aby wyświetlić przekształcone wartości, kliknij prawym przyciskiem myszy składnik i wybierz polecenie Visualize (Wizualizacja).

    Domyślnie wartości są przekształcane. Jeśli chcesz porównać przekształcone wartości z oryginalnymi wartościami, użyj składnika Dodaj kolumny , aby ponownie połączyć zestawy danych i wyświetlić kolumny obok siebie.

  • Aby zapisać przekształcenie, aby zastosować tę samą metodę normalizacji do innego zestawu danych, wybierz składnik, a następnie wybierz pozycję Zarejestruj zestaw danych na karcie Dane wyjściowe w prawym panelu.

    Następnie możesz załadować zapisane przekształcenia z grupy Przekształcenia w okienku nawigacji po lewej stronie i zastosować je do zestawu danych z tym samym schematem przy użyciu polecenia Zastosuj przekształcenie.

Następne kroki

Zobacz zestaw składników dostępnych dla usługi Azure Machine Learning.