Ú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).
- Podívejte se na informace o přesunu projektů strojového učení z ML Studia (klasického) do Azure Machine Learning.
- Další informace o Azure Machine Learning.
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 IsFeature
IsCategorical
.
Po provedení požadované operace můžete obnovit metadata do původního stavu.
Jak nakonfigurovat úpravy metadat
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 .
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 .
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
,DateTime
aTimeSpan
.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.
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.
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.
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.
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.
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:
Detekce rakoviny onemocnění: Názvy sloupců se po připojení k datovým sadám mění. Sloupec Patient ID (ID pacienta) je také označen jako kategorický, aby se zajistilo, že se nebude používat ve výpočtu, ale nezvládá se jako řetězcová hodnota.
Analýza mínění na Twitteru: Ukazuje, jak pomocí funkce Upravit metadata zajistit, aby se se sloupci zacházely jako s funkcemi. Později v experimentu se metadata funkce vyčistí.
Zpracování a analýza dat: V této ukázce se funkce Upravit metadata používá k definování nových názvů sloupců pro data načtená z webové stránky.
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 jePOSIXct
.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 .
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.