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).

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

  1. 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 .

  2. 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.

  3. 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, DateTimei TimeSpan.

    • 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.

  1. 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.

  2. 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 .

  3. 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.

  4. 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.

  5. Uruchom eksperyment.

Przykłady

Przykłady sposobu, w jaki edytowanie metadanych jest używane podczas przygotowywania danych i tworzenia modeli, zobacz Azure AI Gallery:

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 jest POSIXct.

    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.

    DateTime.Parse, metoda

    Standardowe ciągi formatowe daty i czasu

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).

Zobacz też

Manipulacji
Przekształcanie danych
Lista modułów A–Z