Edytowanie metadanych
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.
Edytowanie metadanych skojarzonych z kolumnami w zestawie danych
Kategoria: Przekształcanie/manipulowanie danymi
Uwaga
Dotyczy: tylko Machine Learning Studio (klasyczne)
Podobne moduły przeciągania i upuszczania są dostępne w Azure Machine Learning projektanta.
Omówienie modułu
W tym artykule opisano sposób używania modułu Edytowanie metadanych w programie Machine Learning Studio (wersja klasyczna) do zmiany metadanych skojarzonych z kolumnami w zestawie danych. Wartości i typy danych w zestawie danych nie są w rzeczywistości zmieniane; jakie zmiany są metadanymi wewnątrz Machine Learning który informuje podrzędne składniki, jak używać kolumny.
Typowe zmiany metadanych mogą obejmować:
Traktowanie kolumn logicznych lub liczbowych jako wartości kategorii
Wskazanie kolumny zawierającej etykietę klasy lub wartości, które chcesz skategoryzować lub przewidzieć
Oznaczanie kolumn jako cech
Zmiana wartości daty/czasu na wartość liczbową lub odwrotnie
Zmienianie nazw kolumn
Użyj funkcji Edytuj metadane za każdym razem, gdy zajdzie potrzeba zmodyfikowania definicji kolumny, zwykle w celu spełnienia wymagań dotyczących modułu podrzędnego. Na przykład niektóre moduły mogą pracować tylko z określonymi typami danych lub wymagać flag w kolumnach, takich jak IsFeature
lub IsCategorical
.
Po wykonaniu wymaganej operacji możesz zresetować metadane do ich pierwotnego stanu.
Jak skonfigurować edytowanie metadanych
W Machine Learning Studio (wersja klasyczna) dodaj moduł Edit Metadata (Edytowanie metadanych) do eksperymentu i połącz zestaw danych, który chcesz zaktualizować. Można go znaleźć w obszarze Przekształcanie danych w kategorii Manipulowanie .
Kliknij pozycję Uruchom selektor kolumn i wybierz kolumnę lub zestaw kolumn do pracy. Kolumny można wybierać pojedynczo, według nazwy lub indeksu albo grupę kolumn według typu.
Porada
Potrzebujesz pomocy przy użyciu indeksów kolumn? Zobacz sekcję Uwagi techniczne.
Wybierz opcję Typ danych , jeśli chcesz przypisać inny typ danych do wybranych kolumn. Zmiana typu danych może być konieczna w przypadku niektórych operacji: na przykład jeśli źródłowy zestaw danych zawiera liczby obsługiwane jako tekst, należy zmienić je na typ danych liczbowych przed użyciem operacji matematycznych.
Obsługiwane typy danych to
String
,Integer
,Floating point
,Boolean
,DateTime
iTimeSpan
.Jeśli wybrano wiele kolumn, musisz zastosować zmiany metadanych do wszystkich wybranych kolumn. Załóżmy na przykład, że wybierasz 2–3 kolumny liczbowe. Możesz zmienić je wszystkie na ciąg typu danych i zmienić ich nazwy w jednej operacji. Nie można jednak zmienić jednej kolumny na typ danych ciągu, a innej z liczby zmiennoprzecinkowa na liczbę całkowitą.
Jeśli nie określisz nowego typu danych, metadane kolumny pozostaną niezmienione.
Zmiany typu danych mają wpływ tylko na metadane skojarzone z zestawem danych oraz na sposób obsługi danych w operacjach nadrzędnych. Rzeczywiste wartości kolumn nie są zmieniane, chyba że wykonasz inną operację (na przykład zaokrąglenie) w kolumnie. Oryginalny typ danych można odzyskać w dowolnym momencie, używając funkcji Edytuj metadane , aby zresetować typ danych kolumny.
Uwaga
Jeśli zmienisz dowolny typ liczby na typ DateTime , pozostaw pole Format daty/godziny puste. Obecnie nie można określić docelowego formatu danych.
Machine Learning można konwertować daty na liczby lub liczby na daty, jeśli liczby są zgodne z jednym z obsługiwanych obiektów DateTime .NET. Aby uzyskać więcej informacji, zobacz sekcję Uwagi techniczne.
Wybierz opcję Kategoria, aby określić, że wartości w wybranych kolumnach powinny być traktowane jako kategorie.
Na przykład możesz mieć kolumnę zawierającą liczby 0,1 i 2, ale wiesz, że liczby w rzeczywistości oznaczają "Palący", "Niepalący" i "Nieznany". W takim przypadku oznaczanie kolumny jako kategorii pozwala zagwarantować, że wartości nie będą używane w obliczeniach liczbowych, tylko do grupowania danych.
Użyj opcji Pola, jeśli chcesz zmienić sposób, w jaki Machine Learning danych w modelu.
Funkcja: ta opcja umożliwia flagowanie kolumny jako funkcji do użycia z modułami, które działają tylko na kolumnach funkcji. Domyślnie wszystkie kolumny są początkowo traktowane jako cechy.
Etykieta: użyj tej opcji, aby oznaczyć etykietę (znaną również jako atrybut przewidywalny lub zmienna docelowa). Wiele modułów wymaga, aby w zestawie danych było obecna co najmniej jedna (i tylko jedna) kolumna etykiety.
W wielu przypadkach Machine Learning wywnioskować, że kolumna zawiera etykietę klasy, ale ustawiając te metadane, można upewnić się, że kolumna jest poprawnie zidentyfikowana. Ustawienie tej opcji nie powoduje zmiany wartości danych, a jedynie sposobu obsługi danych przez niektóre algorytmy uczenia maszynowego.
Waga: użyj tej opcji w przypadku danych liczbowych, aby wskazać, że wartości kolumn reprezentują wagi do użycia w operacjach oceniania lub trenowania uczenia maszynowego. W zestawie danych może znajdować się tylko jedna kolumna wagi, a kolumna musi być liczbowa. Ta opcja działa tylko w tych modelach: Two-Class regresji logistycznej, Two-Class wektorów wsparcia i Two-Class sieci neuronowej.
Porada
Czy masz dane, które nie mieszczą się w tych kategoriach? Na przykład zestaw danych może zawierać wartości, takie jak unikatowe identyfikatory, które nie są przydatne jako zmienne. Czasami identyfikatory mogą powodować problemy, gdy są używane w modelu.
Na szczęście "pod Machine Learning" przechowuje wszystkie dane, więc nie trzeba usuwać takich kolumn z zestawu danych. Jeśli musisz wykonać operacje na specjalnym zestawie kolumn, po prostu tymczasowo usuń wszystkie pozostałe kolumny przy użyciu modułu Select Columns in Dataset (Wybieranie kolumn w zestawie danych). Później możesz scalić kolumny z powrotem z zestawem danych przy użyciu modułu Dodawanie kolumn .
Użyj poniższych opcji, aby wyczyścić poprzednie wybory i przywrócić metadane do wartości domyślnych.
Wyczyść funkcję: użyj tej opcji, aby usunąć flagę funkcji.
Ponieważ wszystkie kolumny są początkowo traktowane jako cechy, w przypadku modułów, które wykonują operacje matematyczne, może być konieczne użycie tej opcji, aby zapobiec traktowaniu kolumn liczbowych jako zmiennych.
Wyczyść etykietę: użyj tej opcji, aby usunąć metadane etykiety z określonej kolumny.
Wyczyść wynik: użyj tej opcji, aby usunąć metadane oceny z określonej kolumny.
Obecnie możliwość jawnego oznaczania kolumny jako wyniku nie jest dostępna w Machine Learning. Jednak w przypadku niektórych operacji kolumna jest oflagowana wewnętrznie jako wynik. Ponadto niestandardowy moduł R może wyprowadzać wartości wyników.
Wyczyść wagę: użyj tej opcji, aby usunąć metadane wagi z określonej kolumny.
W przypadku nowych nazw kolumn wpisz nową nazwę wybranej kolumny lub kolumn.
Nazwy kolumn mogą używać tylko znaków obsługiwanych przez kodowanie UTF-8. Puste ciągi, wartości null lub nazwy składające się w całości ze spacji nie są dozwolone.
Aby zmienić nazwę wielu kolumn, wpisz nazwy jako listę rozdzieloną przecinkami w kolejności indeksów kolumn.
Wszystkie wybrane kolumny muszą mieć zmienioną nazwę. Kolumn nie można pominąć ani pominąć.
Porada
Jeśli musisz zmienić nazwę wielu kolumn, możesz wkleić ciąg rozdzielany przecinkami przygotowany z wyprzedzeniem. Możesz też użyć modułów Wykonaj skrypt R lubZastosuj SQL przekształcania. Kod i przykłady można znaleźć w sekcji Uwagi techniczne.
Uruchom eksperyment.
Przykłady
Przykłady sposobu, w jaki edytowanie metadanych jest używane podczas przygotowywania danych i tworzenia modeli, zobacz Azure AI Gallery:
Wykrywanie raka choroby: Nazwy kolumn są zmieniane po dołączeniu do zestawów danych. Kolumna Identyfikator pacjenta jest również oflagowana jako kategoryczna , aby upewnić się, że nie jest używana w obliczeniach, ale nie jest używana jako wartość ciągu.
Analiza tonacji w serwisie Twitter: pokazuje, jak używać funkcji Edytuj metadane , aby upewnić się, że kolumny są traktowane jako funkcje. W dalszej części eksperymentu metadane funkcji są czyszowane.
Przetwarzanie i analiza danych: w tym przykładzie polecenie Edytuj metadane służy do definiowania nowych nazw kolumn dla danych załadowanych ze strony internetowej.
Uwagi techniczne
Ta sekcja zawiera znane problemy, często zadawane pytania i przykłady typowych obejść.
Znane problemy
Metadane niestandardowe nie są obsługiwane. Nie można używać metadanych niestandardowych w Machine Learning ani edytować metadanych kolumn poza edytować metadane. Na przykład nie można dodać metadanych wskazujących, że kolumna jest unikatowym identyfikatorem, lub dodać innych atrybutów opisowych . Machine Learning obsługuje tylko atrybuty metadanych, które są używane w obrębie środowiska R do pracy z czynnikami, funkcjami, wagami i etykietami.
Nieobsługiwane typy danych. Następujące typy danych liczbowych nie są obsługiwane: Double (decimal) i TimeStamp.
Identyfikowanie kolumn wyników. Obecnie w oknie Edytowanie metadanych nie ma opcji oznaczania kolumny jako zawierającej wyniki. Można jednak użyć modułu Execute R Script (Wykonywanie skryptu R ) ze skryptem podobnym do poniższego, aby wskazać, że kolumna zawiera wyniki:
dataset <- maml.mapInputPort(1) attr(dataset$x, "label.type")= "True Labels" attr(dataset$y, "feature.channel")= "Multiclass Classification Scores" attr(dataset$y, "score.type")= "Assigned Labels" maml.mapOutputPort("dataset");
Problemy z formatami daty/godziny. Podstawowym typem
datetime
danych używanym przez Machine Learning jestPOSIXct
.Jeśli wszystkie daty w kolumnie mogą być analizowane przez domyślny parser, kolumna jest importowana i traktowana jako dane ciągu.
Jeśli spróbujesz
DateTime
przekonwertować kolumnę na przy użyciu modułu Edit Metadata (Edytowanie metadanych) i wystąpi błąd, oznacza to, że data nie jest w formacie domyślnym akceptowanym przez platformę .Net. W takim przypadku zalecamy użycie modułu Execute R Script (Wykonanie skryptu R) lub modułu Apply SQL Transformation (Stosowanie przekształcenia kodu SQL) w celu przekształcenia kolumny do formatu akceptowanego przez domyślny parser.
Wybieranie kolumn przy użyciu indeksów kolumn
W bardzo dużych zestawach danych nie można ręcznie wpisać ani wybrać wszystkich nazw kolumn. Użycie indeksu kolumn to skrót, który umożliwia określenie wielu kolumn. Ta sekcja zawiera kilka porad dotyczących używania indeksów kolumn.
Na przykład otwórz selektora kolumn, kliknij pozycję WITH RULES (Z REGUŁAMI), wybierz pozycję Include and column indices (Dołącz i indeksy kolumn), a następnie wpisz zakres lub serię liczb w następujący sposób:
- Wpisz
1-20
, aby wybrać 20 pierwszych kolumn - Wpisz
5-20
, aby wybrać zakres kolumn rozpoczynający się od 5 i obejmujący kolumnę 20. - Typ wybierania
1,5,10,15
kolumn nieciągłych - Wpisz
1-2, 5
, aby wybrać kolumny 1, 2 i 5, pomijając kolumny 3 i 4 - Nie można wpisać wartości indeksu, która jest większa niż liczba kolumn dostępnych w zestawie danych.
Poniższe eksperymenty zawierają kilka przykładów innych metod wybierania i modyfikowania wielu kolumn:
Klasyfikacja binarna: Wykrywanie raka: Oryginalne dane zawierały wiele pustych kolumn wygenerowanych podczas importowania z arkusza kalkulacyjnego. Dodatkowe kolumny zostały usunięte przez określenie kolumn 1–11 w module Split Data (Podział danych).
Pobierz zestaw danych z uci: pokazuje, jak można podać nazwy kolumn jako listę przy użyciu modułu Enter Data Manually (Wprowadź dane ręcznie), a następnie wstawić listę do zestawu danych jako nagłówki przy użyciu modułu Execute R script (Wykonywanie skryptu R).
Regex Select Columns (Wybieranie kolumn wyrażeń regularnych): ten eksperyment zawiera moduł niestandardowy, który umożliwia zastosowanie wyrażenia regularnego do nazw kolumn. Możesz użyć tego modułu jako danych wejściowych do edytowania metadanych.
Alternatywne metody modyfikowania nazw kolumn
Jeśli masz wiele kolumn do zmiany nazwy, możesz użyć modułu Execute R Script (Wykonywanie skryptu R) lub SQL Transformation (Stosowanie przekształcenia kodu).
Korzystanie ze skryptu w języku R
Zestawy danych używane przez Machine Learning są przekazywane do tego modułu jako data.frame, co oznacza, że możesz użyć funkcji R colnames()
i innych powiązanych funkcji R, aby wyświetlić lub zmienić nazwy kolumn.
Na przykład poniższy kod tworzy listę nowych nazw kolumn, a następnie stosuje listę do wejściowego zestawu danych w celu wygenerowania nowych nagłówków kolumn.
irisdata <- maml.mapInputPort(1);
newnames <- c("CLASS", "SEPAL LENGTH", "SEPAL WIDTH", "PETAL LENGTH", "PETAL WIDTH");
colnames(irisdata) = newnames
maml.mapOutputPort("irisdata");
W poniższym przykładzie użyto wyrażenia regularnego w programie R, aby globalnie zastąpić wszystkie wystąpienia określonego ciągu w nazwach kolumn dla :irisdata
# Map input dataset to variable
newirisdata <- maml.mapInputPort(1) # class: data.frame
names(newirisdata) <- gsub("col", "iris", names(newirisdata))
maml.mapOutputPort("newirisdata");
Korzystanie z SQL
Poniższy przykład przyjmuje zestaw danych jako dane wejściowe, a następnie zmienia nazwy kolumn przy użyciu słowa kluczowego AS .
SELECT col1 as [C1],
col2 as [C2],
col3 as [C3],
col4 as [C4],
col5 as [C5]
FROM t1;
Oczekiwane dane wejściowe
Nazwa | Typ | Opis |
---|---|---|
Zestaw danych | Tabela danych | Wejściowy zestaw danych |
Parametry modułu
Nazwa | Zakres | Typ | Domyślny | Opis |
---|---|---|---|---|
Kolumna | Dowolne | ColumnSelection | Wybierz kolumny, do których mają zostać wprowadzone zmiany. | |
Typ danych | Lista | Typ danych edytora metadanych | Niezmienione | Określ nowy typ danych dla kolumny. |
Podzielone na kategorie | Lista | Edytor metadanych z kategorii | Niezmienione | Wskaż, czy kolumna powinna być oflagowana jako kategorii. |
Pola | Lista | Flaga edytora metadanych | Niezmienione | Określ, czy kolumna ma być traktowana jako funkcja, czy etykieta przez algorytmy uczenia. |
Nazwy nowych kolumn | dowolny | Ciąg | Wpisz nowe nazwy kolumn. |
Dane wyjściowe
Nazwa | Typ | Opis |
---|---|---|
Zestaw danych wyników | Tabela danych | Zestaw danych ze zmienionymi metadanymi |
Wyjątki
Wyjątek | Opis |
---|---|
Błąd 0003 | Wyjątek występuje, gdy co najmniej jeden wejściowy zestaw danych 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, gdy liczba kolumn w niektórych zestawach danych przekazywanych do modułu jest zbyt mała. |
Błąd 0031 | Wyjątek występuje, gdy liczba kolumn w zestawie kolumn jest mniejsza niż potrzebna. |
Błąd 0027 | Wyjątek występuje, gdy dwa obiekty muszą mieć ten sam rozmiar, ale nie. |
Błąd 0028 | Wyjątek występuje, gdy zestaw kolumn zawiera zduplikowane nazwy kolumn i nie jest dozwolony. |
Błąd 0037 | Wyjątek występuje, jeśli określono wiele kolumn etykiet i dozwolona jest tylko jedna. |
Aby uzyskać listę błędów specyficznych dla modułów programu Studio (wersja klasyczna), zobacz Machine Learning Kodów błędów.
Aby uzyskać listę wyjątków interfejsu API, zobacz Machine Learning API REST Error Codes (Kody błędów interfejsu API REST).