Normalizowanie danych
Ważne
Obsługa programu Machine Learning Studio (wersja klasyczna) zakończy się 31 sierpnia 2024 r. Zalecamy przejście do usługi Azure Machine Learning przed tym terminem.
Od 1 grudnia 2021 r. nie będzie można tworzyć nowych zasobów programu Machine Learning Studio (wersja klasyczna). Do 31 sierpnia 2024 r. można będzie nadal korzystać z istniejących zasobów programu Machine Learning Studio (wersja klasyczna).
- Zobacz informacje na temat przenoszenia projektów uczenia maszynowego z programu ML Studio (wersja klasyczna) do Azure Machine Learning.
- Dowiedz się więcej o Azure Machine Learning.
Dokumentacja programu ML Studio (wersja klasyczna) jest wycofywana i może nie być aktualizowana w przyszłości.
Zmienia skalowanie danych liczbowych w celu ograniczenia wartości zestawów danych do standardowego zakresu
Kategoria: Przekształcanie danych / skalowanie i zmniejszanie
Uwaga
Dotyczy: tylko Machine Learning Studio (wersja klasyczna)
Podobne moduły przeciągania i upuszczania są dostępne w projektancie Azure Machine Learning.
Omówienie modułu
W tym artykule opisano sposób używania modułu Normalize Data (Normalize Data) w programie Machine Learning Studio (wersja klasyczna), aby przekształcić zestaw 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 moduł 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ć eksperyment 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.
Jak skonfigurować normalizację danych
Za pomocą tego modułu 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.
Dodaj moduł Normalize Data (Normalizacja danych ) do eksperymentu. Moduł można znaleźć w obszarze Machine Learning Studio (wersja klasyczna) w obszarze Przekształcanie danych w kategorii Skalowanie i zmniejszanie.
Połączenie zestaw danych zawierający co najmniej jedną kolumnę wszystkich liczb.
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ć modułu Select Columns in Dataset (Wybieranie kolumn w zestawie danych ) przed znormalizowanie danych.
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.
Z listy rozwijanej Metoda przekształcania wybierz pojedyncze funkcje matematyczne, które mają być stosowane 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:
Ś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:
Logistyka: wartości w kolumnie są przekształcane przy użyciu następującej formuły:
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:
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:
Uruchom eksperyment lub kliknij dwukrotnie moduł Normalize Data (Normalizacja danych ) i wybierz pozycję Run Selected (Uruchom wybrane).
Wyniki
Moduł Normalize Data (Normalizacja danych ) generuje dwa dane wyjściowe:
Aby wyświetlić przekształcone wartości, kliknij prawym przyciskiem myszy moduł, wybierz pozycję Przekształcony zestaw danych, a następnie kliknij pozycję Wizualizuj.
Domyślnie wartości są przekształcane. Jeśli chcesz porównać przekształcone wartości z oryginalnymi wartościami, użyj modułu 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 podobnego zestawu danych, kliknij prawym przyciskiem myszy moduł, wybierz pozycję Funkcja przekształcenia, a następnie kliknij polecenie Zapisz jako przekształć.
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.
Przykłady
Przykłady normalizacji używanej w uczeniu maszynowym można znaleźć w galerii sztucznej inteligencji platformy Azure:
- Przewidywanie ryzyka kredytowego: W tym przykładzie normalizacja jest stosowana do wszystkich danych liczbowych z wyjątkiem kolumny klasy, oceny ryzyka kredytowego. W tym przykładzie użyto przekształcenia tanh , który konwertuje wszystkie cechy liczbowe na wartości w zakresie od 0 do 1.
Uwagi techniczne
Ten moduł obsługuje tylko standardowe metody normalizacji wymienione w sekcji Instrukcje i nie obsługuje normalizacji macierzy ani innych złożonych przekształceń.
Jeśli musisz utworzyć niestandardową metodę normalizacji, możesz użyć modułów Execute R Script (Wykonywanie skryptu języka R ) lub Execute Python Script (Wykonywanie skryptu języka Python ) w celu obliczenia i zastosowania przekształcenia.
Algorytmy, które stosują normalizację
Normalizacja funkcji w celu korzystania ze wspólnej skali jest ogólnym wymaganiem dla wielu algorytmów uczenia maszynowego.
W algorytmach klasyfikacji liniowej wystąpienia są postrzegane jako wektory w przestrzeni wielowymiarowej. Ponieważ zakres wartości danych pierwotnych jest bardzo różny, niektóre funkcje celu nie działają prawidłowo bez normalizacji. Jeśli na przykład jedna z cech ma szeroki zakres wartości, odległości między punktami podlegają tej konkretnej funkcji.
W związku z tym cechy liczbowe powinny być znormalizowane tak, aby każda funkcja przyczyniała się w przybliżeniu proporcjonalnie do ostatecznej odległości. Może to zapewnić znaczne korzyści z szybkości i dokładności.
W przypadku korzystania z algorytmów Regresja logistyczna i Averaged Perceptron domyślnie funkcje są znormalizowane przed trenowaniem.
Dalsze informacje i zasoby
Jeśli nie masz pewności, jakiego typu normalizacja odpowiada Twoim danym, zobacz następujące zasoby:
Zalecane moduły dla moich danych: ten moduł niestandardowy przez członka zespołu usługi Azure ML ocenia zestaw danych i zaleca kroki czyszczenia i skalowania danych.
Skalowanie funkcji: w tym artykule w Wikipedii wyjaśniono podstawowe metody używane do normalizacji danych liczbowych.
Przygotowywanie danych do wyszukiwania danych obejmuje wiele szczegółowych kroków przygotowywania danych. Zobacz rozdział 7, aby zapoznać się z omówieniem normalizacji danych.
Oczekiwane dane wejściowe
Nazwa | Typ | Opis |
---|---|---|
Zestaw danych | Tabela danych | Wejściowy zestaw danych |
Parametry modułu
Nazwa | Zakres | Typ | Domyślny | Opis |
---|---|---|---|---|
Metoda przekształcania | dowolny | TransformationMethods | ZScore | Wybierz metodę matematyczną używaną do skalowania |
Kolumny do przekształcenia | dowolny | KolumnaWybieranie | Liczbawszystkie | Zaznacz wszystkie kolumny, do których ma zostać zastosowane wybrane przekształcenie |
Dane wyjściowe
Nazwa | Typ | Opis |
---|---|---|
Przekształcony zestaw danych | Tabela danych | Przekształcony zestaw danych |
Funkcja przekształcania | ITransform, interfejs | Definicja funkcji przekształcania, która może być stosowana do innych zestawów danych |
Wyjątki
Wyjątek | Opis |
---|---|
Błąd 0001 | Wyjątek występuje, jeśli nie można odnaleźć co najmniej jednej określonej kolumny zestawu danych. |
Błąd 0003 | Wyjątek występuje, jeśli co najmniej jeden z danych wejściowych ma wartość null lub jest pusty. |
Błąd 0017 | Wyjątek występuje, jeśli co najmniej jedna określona kolumna ma typ nieobsługiwany przez bieżący moduł. |
Błąd 0020 | Wyjątek występuje, jeśli liczba kolumn w niektórych zestawach danych przekazanych do modułu jest za mała. |
Błąd 0021 | Wyjątek występuje, jeśli liczba wierszy w niektórych zestawach danych przekazanych do modułu jest za mała. |
Aby uzyskać listę błędów specyficznych dla modułów programu Studio (klasycznych), zobacz Machine Learning Kody błędów.
Aby uzyskać listę wyjątków interfejsu API, zobacz Machine Learning kody błędów interfejsu API REST.