Sdílet prostřednictvím


Úpravy metadat

Důležité

Podpora studia Machine Learning (Classic) skončí 31. srpna 2024. Doporučujeme do tohoto data přejít na službu Azure Machine Learning.

Od 1. prosince 2021 nebude možné vytvářet nové prostředky studia Machine Learning (Classic). Do 31. srpna 2024 můžete pokračovat v používání stávajících prostředků studia Machine Learning (Classic).

Dokumentace ke studiu ML (Classic) se vyřazuje z provozu a v budoucnu se nemusí aktualizovat.

Upraví metadata přidružená ke sloupcům v datové sadě.

Kategorie: Transformace a manipulace s daty

Poznámka

Platí pro: Machine Learning Studio (classic)

Podobné moduly s přetahováním jsou k dispozici v Azure Machine Learning návrháři.

Přehled modulu

Tento článek popisuje, jak pomocí modulu Upravit metadata v Machine Learning Studiu (klasickém) změnit metadata přidružená ke sloupcům v datové sadě. Hodnoty a datové typy v datové sadě se ve skutečnosti nemění. Co se změní, jsou metadata uvnitř Machine Learning která sděluje komponentě podřízeného serveru, jak sloupec používat.

Typické změny metadat můžou zahrnovat:

  • Zacházení s logickými nebo číselnými sloupci jako s kategorickými hodnotami

  • Určuje, který sloupec obsahuje popisek třídy nebo hodnoty, které chcete kategorizovat nebo predikovat.

  • Označení sloupců jako funkcí

  • Změna hodnot data a času na číselnou hodnotu nebo naopak

  • Přejmenování sloupců

Možnost Upravit metadata použijte pokaždé, když potřebujete upravit definici sloupce, obvykle tak, aby splňovala požadavky podřízeného modulu. Některé moduly mohou například pracovat pouze s konkrétními datovými typy nebo vyžadovat u sloupců příznaky, jako je nebo IsFeatureIsCategorical.

Po provedení požadované operace můžete obnovit metadata do původního stavu.

Jak nakonfigurovat úpravy metadat

  1. V Machine Learning Studio (classic) přidejte k experimentu modul Upravit metadata a připojte datovou sadu, kterou chcete aktualizovat. Najdete ji v části Transformace dat vkategorii Manipulace .

  2. Klikněte na Launch the column selector (Spustit selektor sloupců) a zvolte sloupec nebo sadu sloupců, se které chcete pracovat. Sloupce můžete zvolit jednotlivě, podle názvu nebo indexu, nebo můžete zvolit skupinu sloupců podle typu.

    Tip

    Potřebujete pomoc s používáním indexů sloupců? Viz část Technické poznámky .

  3. Pokud potřebujete vybraným sloupcům přiřadit jiný datový typ, vyberte možnost Datový typ. Změna datového typu může být potřebná pro určité operace: například pokud zdrojová datová sada obsahuje čísla zřezená jako text, musíte je před použitím matematických operací změnit na číselný datový typ.

    • Podporované datové typy jsou String, Integer, Floating point, Boolean, DateTimea TimeSpan.

    • Pokud je vybráno více sloupců, je nutné použít změny metadat na všechny vybrané sloupce. Řekněme například, že zvolíte 2 až 3 číselné sloupce. Všechny můžete změnit na řetězcový datový typ a přejmenovat je v jedné operaci. Nemůžete ale změnit jeden sloupec na datový typ řetězce a jiný sloupec z float na celé číslo.

    • Pokud nezadáte nový datový typ, metadata sloupce se nezmění.

    • Změny datového typu ovlivňují pouze metadata přidružená k datové sadě a způsob zpracování dat v operacích podřízeného serveru. Hodnoty skutečných sloupců se nezmění, pokud u sloupce nesnídíte jinou operaci (například zaokrouhlení). Původní datový typ můžete kdykoli obnovit pomocí příkazu Upravit metadata a obnovit datový typ sloupce.

    Poznámka

    Pokud změníte libovolný typ čísla na typ DateTime , ponechte pole Formát Data a času prázdné. V současné době není možné zadat formát cílových dat.

Machine Learning může převést kalendářní data na čísla nebo čísla na kalendářní data, pokud jsou čísla kompatibilní s jedním z podporovaných objektů .NET DateTime. Další informace najdete v části Technické poznámky.

  1. Výběrem možnosti Kategorické určete, že se hodnoty ve vybraných sloupcích mají považovat za kategorie.

    Můžete mít například sloupec, který obsahuje čísla 0,1 a 2, ale víte, že čísla ve skutečnosti znamenají "Smoker", "Non smoker" a "Unknown". V takovém případě můžete označením sloupce jako kategorické zajistit, aby se hodnoty nepoužívali v číselných výpočtech, pouze k seskupení dat.

  2. Možnost Pole použijte, pokud chcete změnit způsob, jakým Machine Learning používá data v modelu.

    • Funkce: Tuto možnost použijte, pokud chcete označit sloupec příznakem jako funkci pro použití s moduly, které pracují pouze se sloupci funkcí. Ve výchozím nastavení jsou všechny sloupce zpočátku považovány za funkce.

    • Popisek: Tuto možnost použijte k označení popisku (označované také jako předvídatelný atribut nebo cílová proměnná). Mnoho modulů vyžaduje, aby v datové sadě byl alespoň jeden (a jenom jeden) sloupec popisků.

      V mnoha případech Machine Learning, že sloupec obsahuje popisek třídy, ale nastavením těchto metadat můžete zajistit, aby byl sloupec identifikován správně. Nastavením této možnosti se nezmění hodnoty dat, ale jenom způsob, jakým je zvládá některé algoritmy strojového učení.

    • Váha: Tuto možnost použijte s číselnými daty k označení, že hodnoty sloupců představují váhy pro použití při bodování nebo trénování strojového učení. V datové sadě může být pouze jeden sloupec váhy a sloupec musí být číselný. Tato možnost funguje pouze v těchto modelech: Two-Class logistická regrese, Two-Class support vector machine a Two-Class neurální síť.

    Tip

    Máte data, která se do těchto kategorií nevejdou? Datová sada může například obsahovat hodnoty, jako jsou jedinečné identifikátory, které nejsou užitečné jako proměnné. ID někdy mohou způsobovat problémy při použití v modelu.

    Naštěstí "pod pokryvem" Machine Learning uchovává všechna vaše data, takže nemusíte takové sloupce z datové sady odstraňovat. Pokud potřebujete provádět operace s nějakou speciální sadou sloupců, stačí dočasně odebrat všechny ostatní sloupce pomocí modulu Výběr sloupců v datové sadě. Později můžete sloupce sloučit zpět do datové sady pomocí modulu Přidat sloupce.

  3. Pomocí následujících možností vymažte předchozí výběry a obnovte metadata na výchozí hodnoty.

    • Vymazat funkci: Tuto možnost použijte k odebrání příznaku funkce.

      Vzhledem k tomu, že se všechny sloupce zpočátku zachází jako s funkcemi, pro moduly, které provádějí matematické operace, možná budete muset použít tuto možnost, abyste zabránili tomu, že se číselné sloupce budou považovat za proměnné.

    • Vymazat popisek: Tuto možnost použijte k odebrání metadat popisku ze zadaného sloupce.

    • Vymazat skóre: Tuto možnost použijte k odebrání metadat skóre ze zadaného sloupce.

      V současné době není možnost explicitně označit sloupec jako skóre v Machine Learning. Některé operace ale mají za následek interní příznak sloupce jako skóre. Výstupem vlastního modulu R mohou být také hodnoty skóre.

    • Čistá váha: Tuto možnost použijte, pokud chcete odebrat metadata váhy ze zadaného sloupce.

  4. Do pole Nové názvy sloupců zadejte nový název vybraného sloupce nebo sloupců.

    • Názvy sloupců mohou používat pouze znaky podporované kódováním UTF-8. Prázdné řetězce, hodnoty null nebo názvy skládající se výhradně z mezer nejsou povolené.

    • Pokud chcete přejmenovat více sloupců, zadejte názvy jako seznam oddělený čárkami v pořadí indexů sloupců.

    • Všechny vybrané sloupce je nutné přejmenovat. Sloupce nelze vynechat ani přeskočit.

    Tip

    Pokud potřebujete přejmenovat více sloupců, můžete předem připravený řetězec s oddělovači vložit. Nebo použijte moduly Execute R Script (Spustit skript R) nebo Apply SQL Transformation (Použít transformaci kódu). Kód a příklady najdete v části Technické poznámky.

  5. Spusťte experiment.

Příklady

Příklady použití funkce Upravit metadata při přípravě dat a vytváření modelů najdete v Azure AI Gallery:

Technické poznámky

Tato část obsahuje známé problémy, nejčastější dotazy a několik příkladů běžných řešení.

Známé problémy

  • Vlastní metadata se nepodporují. v Machine Learning není možné používat vlastní metadata ani upravovat metadata sloupce mimo upravit metadata. Nemůžete například přidat metadata indikující, že je sloupec jedinečným identifikátorem, nebo přidat další popisné atributy. Machine Learning podporuje pouze atributy metadat používané v R pro práci s faktory, funkcemi, tloušťkami a popisky.

  • Nepodporované datové typy. Následující číselné datové typy nejsou podporovány: Double (Decimal) a TimeStamp.

  • Identifikují se sloupce skóre. V současné době není v úpravách metadat žádná možnost k označení sloupce jako obsahujícího skóre. K označení toho, že sloupec obsahuje skóre, ale můžete použít modul skriptu Execute R podobný skriptu, který je podobný následujícímu:

    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");
    
  • Problémy s formáty data a času. základní datetime datový typ používaný Machine Learning je POSIXct .

    Pokud se všechna data ve sloupci dají analyzovat pomocí výchozího analyzátoru, sloupec se naimportuje a zpracuje jako řetězcová data.

    Pokud se pokusíte převést sloupec na DateTime pomocí modulu Upravit metadata a získat chybu, znamená to, že toto datum není ve formátu, který ve výchozím nastavení standardně přijímá rozhraní .NET. v takovém případě doporučujeme k transformaci sloupce na formát přijatý výchozím analyzátorem použít modul spuštění skriptu jazyka R nebo modul použití SQL transformace .

    DateTime. Parse – metoda

    Řetězce standardního formátu data a času

Výběr sloupců pomocí indexů sloupců

Ve velkých datových sadách není možné ručně zadávat ani vybírat všechny názvy sloupců. Použití indexu sloupce je jedna klávesová zkratka, kterou můžete použít k zadání mnoha sloupců. V této části najdete několik tipů k použití indexů sloupců.

Otevřete například selektor sloupců, klikněte na pravidla, vyberte Zahrnout a indexy sloupcůa pak zadejte rozsah nebo řadu čísel následujícím způsobem:

  • Typ 1-20 pro výběr prvních 20 sloupců
  • Zadejte 5-20 , chcete-li vybrat rozsah sloupců počínaje 5 a včetně sloupce 20.
  • Typ 1,5,10,15 pro výběr nesouvislých sloupců
  • Typ 1-2, 5 pro výběr sloupců 1, 2 a 5, vynechané sloupce 3 a 4
  • Nelze zadat hodnotu indexu, která je větší než počet sloupců dostupných v datové sadě.

Následující experimenty obsahují některé příklady jiných metod pro výběr a úpravu více sloupců:

  • Binární klasifikace: detekce prsních rakoviny: původní data obsahovala mnoho prázdných sloupců vygenerovaných během importu z tabulky. Nadbytečné sloupce byly odebrány zadáním sloupců 1-11 v modulu Split data .

  • Stáhnout datovou sadu z aplikace UCI: demonstruje, jak můžete zadat názvy sloupců jako seznam pomocí ručního modulu zadat data a pak tento seznam vložit do datové sady jako záhlaví pomocí modulu skriptu Execute R .

  • Regex Select Columns: Tento experiment poskytuje vlastní modul, který umožňuje použít regulární výraz pro názvy sloupců. Tento modul můžete použít jako vstup pro úpravu metadat.

Alternativní metody úprav názvů sloupců

pokud máte mnoho sloupců k přejmenování, můžete použít modul spuštění skriptu jazyka R nebo modul použít SQL transformaci .

Použití skriptu jazyka R

sady dat používané v Machine Learning jsou předány do tohoto modulu jako data. rámec, což znamená, že můžete použít funkci r colnames() a další související funkce jazyka r k vypsání nebo změně názvů sloupců.

Například následující kód vytvoří seznam nových názvů sloupců a pak použije tento seznam na vstupní datovou sadu pro generování nových záhlaví sloupců.

irisdata <- maml.mapInputPort(1);    
newnames <- c("CLASS", "SEPAL  LENGTH", "SEPAL WIDTH", "PETAL LENGTH", "PETAL WIDTH");
colnames(irisdata) = newnames
maml.mapOutputPort("irisdata");

Následující příklad používá regulární výraz v R k globálně nahrazuje všechny výskyty zadaného řetězce v názvech sloupců pro irisdata :

# Map input dataset to variable
newirisdata <- maml.mapInputPort(1) # class: data.frame
names(newirisdata) <- gsub("col", "iris", names(newirisdata))
maml.mapOutputPort("newirisdata");

Použití SQL

Následující příklad přebírá datovou sadu jako vstup a potom mění názvy sloupců pomocí klíčového slova as .

SELECT col1 as [C1], 
  col2 as [C2], 
  col3 as [C3], 
  col4 as [C4],
  col5 as [C5] 
FROM t1;

Očekávaný vstup

Název Typ Description
Datová sada Tabulka dat Vstupní datová sada

Parametry modulu

Name Rozsah Typ Výchozí Description
Sloupec Všechny ColumnSelection Vyberte sloupce, na které by se měly změny vztahovat.
Datový typ Seznam Datový typ editoru metadat Oproti Zadejte nový datový typ pro sloupec.
Kategorické Seznam Editor metadat kategorií Oproti Určete, jestli by měl být sloupec označený jako kategorií.
Pole Seznam Příznak editoru metadat Oproti Určete, jestli se má sloupec považovat za funkci nebo popisek prostřednictvím výukových algoritmů.
Nové názvy sloupců Libovolný Řetězec Zadejte nové názvy sloupců.

Výstup

Název Typ Description
Datová sada výsledků Tabulka dat Datová sada se změněnými metadaty

Výjimky

Výjimka Description
Chyba 0003 K výjimce dojde, pokud jedna nebo více vstupních datových sad je null nebo prázdné.
Chyba 0017 K výjimce dojde v případě, že jeden nebo více zadaných sloupců má typ, který není podporovaný aktuálním modulem.
Chyba 0020 K výjimce dojde, pokud je počet sloupců v některých datových sadách předaných do modulu příliš malý.
Chyba 0031 K výjimce dojde, pokud je počet sloupců v sadě sloupců menší, než je potřeba.
Chyba 0027 K výjimce dojde, pokud musí mít dva objekty stejnou velikost, ale nejsou.
Chyba 0028 K výjimce dojde, pokud sada sloupců obsahuje duplicitní názvy sloupců a není povolená.
Chyba 0037 K výjimce dojde, pokud je zadáno více sloupců popisků a je povolen pouze jeden.

Seznam chyb specifických pro moduly sady Studio (classic) najdete v Machine Learning kódy chyb.

Seznam výjimek rozhraní API najdete v tématu Machine Learning REST API kódy chyb.

Viz také

Manipulace
Transformace dat
Seznam modulů A až Z