Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Příkazy classificationa regression , recommendationjsou hlavní příkazy poskytované nástrojem ML.NET CLI. Tyto příkazy umožňují generovat kvalitní ML.NET modely pro klasifikaci, regresi a doporučení pomocí automatizovaného strojového učení (AutoML) a ukázkového kódu jazyka C# pro spuštění a hodnocení tohoto modelu. Kromě toho se vygeneruje kód jazyka C# pro trénování modelu, abyste mohli prozkoumat algoritmus a nastavení modelu.
Poznámka:
Tento článek se týká ML.NET rozhraní příkazového řádku a ML.NET AutoML, které jsou aktuálně ve verzi Preview, a materiál se může změnit.
Přehled
Příklad použití:
mlnet regression --dataset "cars.csv" --label-col price
Příkazy mlnet úkolů ML (classification, regression, recommendationa forecasting) generují následující prostředky:
- Serializovaný model .zip ("nejlepší model") připravený k použití.
- Kód v jazyce C# pro spuštění a hodnocení vygenerovaného modelu.
- Kód jazyka C# s trénovacím kódem použitým k vygenerování modelu.
První dva prostředky je možné přímo použít v aplikacích pro koncové uživatele (ASP.NET core webovou aplikaci, služby, desktopovou aplikaci a další) k předpovědím s modelem.
Třetí prvek, trénovací kód, ukazuje, jaký kód rozhraní API ML.NET použilo rozhraní příkazového řádku k trénování vygenerovaného modelu, abyste mohli prozkoumat konkrétní algoritmus a nastavení modelu.
Příklady
Nejjednodušší příkaz rozhraní příkazového řádku pro problém klasifikace (AutoML odvodí většinu konfigurace ze zadaných dat):
mlnet classification --dataset "customer-feedback.tsv" --label-col Sentiment
Další jednoduchý příkaz rozhraní příkazového řádku pro problém s regresí:
mlnet regression --dataset "cars.csv" --label-col Price
Vytvořte a trénujte klasifikační model pomocí trénovací datové sady, testovací datové sady a explicitních argumentů pro další přizpůsobení.
mlnet classification --dataset "/MyDataSets/Population-Training.csv" --test-dataset "/MyDataSets/Population-Test.csv" --label-col "InsuranceRisk" --cache on --train-time 600
Možnosti příkazů
Příkazy mlnet úloh ML (classification, regression, recommendation, forecasting a train) trénují více modelů na základě poskytnuté datové sady a možností rozhraní příkazového řádku ML.NET. Tyto příkazy také vyberou nejlepší model, uloží model jako serializovaný soubor .zip a vygenerují související kód jazyka C# pro bodování a trénování.
Možnosti klasifikace
Spuštění mlnet classification vytrénuje klasifikační model. Tento příkaz zvolte, pokud chcete, aby model ML kategorizoval data do 2 nebo více tříd (například analýza mínění).
mlnet classification
--dataset <path> (REQUIRED)
--label-col <col> (REQUIRED)
--cache <option>
--has-header (Default: true)
--ignore-cols <cols>
--log-file-path <path>
--name <name>
-o, --output <path>
--test-dataset <path>
--train-time <time> (Default: 30 minutes, in seconds)
--validation-dataset <path>
-v, --verbosity <v>
-?, -h, --help
Možnosti regrese
Spuštění mlnet regression vytrénuje regresní model. Tento příkaz zvolte, pokud chcete, aby model ML předpověděl číselnou hodnotu (například předpověď ceny).
mlnet regression
--dataset <path> (REQUIRED)
--label-col <col> (REQUIRED)
--cache <option>
--has-header (Default: true)
--ignore-cols <cols>
--log-file-path <path>
--name <name>
-o, --output <path>
--test-dataset <path>
--train-time <time> (Default: 30 minutes, in seconds)
--validation-dataset <path>
-v, --verbosity <v>
-?, -h, --help
Možnosti doporučení
Spuštěním mlnet recommendation se bude trénovat model doporučení. Tento příkaz zvolte, pokud chcete, aby model ML doporučoval položky uživatelům na základě hodnocení (například doporučení k produktu).
mlnet recommendation
--dataset <path> (REQUIRED)
--item-col <col> (REQUIRED)
--rating-col <col> (REQUIRED)
--user-col <col> (REQUIRED)
--cache <option>
--has-header (Default: true)
--log-file-path <path>
--name <name>
-o, --output <path>
--test-dataset <path>
--train-time <time> (Default: 30 minutes, in seconds)
--validation-dataset <path>
-v, --verbosity <v>
-?, -h, --help
Neplatné možnosti vstupu způsobí, že nástroj rozhraní příkazového řádku vygeneruje seznam platných vstupů a chybovou zprávu.
Možnosti prognózování
Spuštění mlnet forecasting vytrénuje model prognózování časových řad. Tento příkaz zvolte, pokud chcete, aby model ML předpověděl hodnotu na základě historických dat (například prognózování prodeje).
mlnet forecasting
--dataset <dataset> (REQUIRED)
--horizon <horizon> (REQUIRED)
--label-col <label-col> (REQUIRED)
--time-col <time-col> (REQUIRED)
--cache <Auto|Off|On>
--has-header
--log-file-path <log-file-path>
--name <name>
-o, --output <output>
--test-dataset <test-dataset>
--train-time <train-time>
-v, --verbosity <verbosity>
Možnosti vlaku
Spuštění mlnet train vytrénuje model na základě souboru mbconfig vygenerovaného z Tvůrce modelů. Aby tento příkaz fungoval, musí být trénovací data ve stejném adresáři jako soubor mbconfig.
-training-config <training-config> (REQUIRED)
--log-file-path <log-file-path>
-v, --verbosity <verbosity>
Datová sada
--dataset | -d (řetězec)
Tento argument poskytuje cestu k souboru u jedné z následujících možností:
A: Celý soubor datové sady: Pokud použijete tuto možnost a uživatel neposkytuje
--test-dataseta--validation-dataset, interně se pro validaci modelu použije křížová validace (k-fold atd.) nebo automatizované rozdělení dat. V takovém případě bude uživatel muset zadat cestu k souboru datové sady.B: Soubor trénovací datové sady: Pokud uživatel také poskytuje datové sady pro ověření modelu (použití
--test-dataseta volitelně--validation-dataset),--datasetznamená to, že argument má jenom trénovací datovou sadu. Například při použití přístupu 80% – 20% k ověření kvality modelu a získání metrik přesnosti bude mít "trénovací datová sada" 80% dat a testovací datová sada bude mít 20% dat.
Testovací datová sada
--test-dataset | -t (řetězec)
Cesta k souboru testovací datové sady, například při použití přístupu 80% – 20%, kdy se provádí pravidelné ověření za účelem získání metrik přesnosti.
Pokud používáte --test-dataset, --dataset je vyžadováno také.
Argument --test-dataset je nepovinný, pokud se nepoužívá datová sada --validation. V takovém případě musí uživatel použít tři argumenty.
Ověřovací datová sada
--validation-dataset | -v (řetězec)
Cesta k souboru odkazující na soubor ověřovací datové sady Ověřovací datová sada je v každém případě volitelná.
Pokud používáte validation dataset, mělo by se jednat o následující chování:
Argumenty
test-dataseta--datasetjsou také povinné.Datová
validation-datasetsada se používá k odhadu chyby předpovědi pro výběr modelu.Slouží
test-datasetk posouzení zobecnění chyby konečného zvoleného modelu. V ideálním případě by se testovací sada měla uchovávat v trezoru a měla by být uvedena pouze na konci analýzy dat.
V podstatě platí, že při použití validation dataset plus test dataset, fáze ověřování je rozdělena do dvou částí:
- V první části se podíváte na modely a vyberete nejlepší přístup s využitím ověřovacích dat (=ověření).
- Pak odhadnete přesnost vybraného přístupu (=test).
Proto rozdělení dat může být 80.10.10 nebo 75.15.10. Například:
-
training-datasetsoubor by měl mít 75% dat. -
validation-datasetsoubor by měl mít 15% dat. -
test-datasetsoubor by měl obsahovat 10% dat.
V každém případě o procentech rozhodne uživatel, který pomocí rozhraní příkazového řádku poskytne již rozdělené soubory.
Rozlišovací sloupec
--label-col (int nebo řetězec)
Pomocí tohoto argumentu je možné určit konkrétní sloupec cíle/cíle (proměnnou, kterou chcete predikovat) pomocí názvu sloupce nastaveného v záhlaví datové sady nebo číselného indexu sloupce v souboru datové sady (hodnoty indexu sloupce začínají hodnotou 0).
Tento argument se používá pro problémy klasifikace a regrese .
Sloupec položky
--item-col (int nebo řetězec)
Sloupec položky obsahuje seznam položek, které uživatelé hodnotí a které se doporučují uživatelům. Tento sloupec lze zadat pomocí názvu sloupce nastaveného v záhlaví datové sady nebo číselného indexu sloupce v souboru datové sady (hodnoty indexu sloupce začínají hodnotou 0).
Tento argument se používá pouze pro úlohu doporučení .
Sloupec Hodnocení
--rating-col (int nebo řetězec)
Sloupec hodnocení obsahuje seznam hodnocení, která uživatelé přidělují položkám. Tento sloupec lze zadat pomocí názvu sloupce nastaveného v záhlaví datové sady nebo číselného indexu sloupce v souboru datové sady (hodnoty indexu sloupce začínají hodnotou 0).
Tento argument se používá pouze pro úlohu doporučení .
Sloupec Uživatele
--user-col (int nebo řetězec)
Sloupec uživatele obsahuje seznam uživatelů, kteří udávají hodnocení položkám. Tento sloupec lze zadat pomocí názvu sloupce nastaveného v záhlaví datové sady nebo číselného indexu sloupce v souboru datové sady (hodnoty indexu sloupce začínají hodnotou 0).
Tento argument se používá pouze pro úlohu doporučení .
Ignorovat sloupce
--ignore-columns (řetězec)
Pomocí tohoto argumentu můžete ignorovat existující sloupce v souboru datové sady, aby nebyly načteny a používány trénovacími procesy.
Zadejte názvy sloupců, které chcete ignorovat. K oddělení více názvů sloupců použijte ", " (čárka s mezerou) nebo " (mezera). U názvů sloupců obsahujících prázdné znaky (například "přihlášeno") můžete použít uvozovky.
Příklad:
--ignore-columns email, address, id, logged_in
Obsahuje záhlaví
--has-header (bool)
Určete, jestli mají soubory datových sad řádek záhlaví. Možné hodnoty:
truefalse
Rozhraní příkazového řádku ML.NET se pokusí tuto vlastnost zjistit, pokud tento argument uživatel nezadá.
Čas vlaku
--train-time (řetězec)
Ve výchozím nastavení je maximální doba průzkumu nebo trénování 30 minut.
Tento argument nastaví maximální dobu (v sekundách) pro proces pro prozkoumání několika školitelů a konfigurací. Nakonfigurovaný časový limit může být překročen, pokud je příliš krátký (řekněme 2 sekundy) pro jednu iteraci. V tomto případě je skutečný čas potřebný k vytvoření jedné konfigurace modelu v jedné iteraci.
Doba potřebná pro iterace se může lišit v závislosti na velikosti datové sady.
Mezipaměť
--cache (řetězec)
Pokud používáte ukládání do mezipaměti, načte se celá trénovací datová sada do paměti.
U malých a středních datových sad může používání mezipaměti výrazně zlepšit výkon trénování, což znamená, že doba trénování může být kratší, než když mezipaměť nepoužíváte.
Nicméně, u velkých datových sad může načítání všech dat do paměti negativně ovlivnit výkon, protože může dojít k vyčerpání paměti. Při trénování s velkými soubory datových sad a bez použití mezipaměti bude ML.NET streamovat části dat z jednotky, když při trénování potřebuje načíst více dat.
Můžete určit tyto hodnoty:
on: Nutí ke využití cache při trénování.
off: Vynutí použití mezipaměti při trénování.
auto: V závislosti na heuristice AutoML se mezipaměť použije, nebo ne. Malé nebo střední datové sady obvykle budou používat mezipaměť a velké datové sady nebudou používat mezipaměť, pokud zvolíte tuto auto možnost.
Pokud parametr nezadáte --cache , použije se ve výchozím nastavení konfigurace mezipaměti auto .
Název
--name (řetězec)
Název vytvořeného výstupního projektu nebo řešení Pokud není zadaný žádný název, použije se název sample-{mltask} .
Soubor modelu ML.NET (soubor .ZIP) získá také stejný název.
Výstupní cesta
--output | -o (řetězec)
Kořenové umístění nebo složka pro generovaný výstup. Výchozí hodnota je aktuální adresář.
Mnohomluvnost
--verbosity | -v (řetězec)
Nastaví úroveň podrobností standardního výstupu.
Povolené hodnoty jsou:
q[uiet]-
m[inimal](ve výchozím nastavení) -
diag[nostic](informační úroveň protokolování)
Ve výchozím nastavení by nástroj rozhraní příkazového řádku měl při práci zobrazit určitou minimální zpětnou vazbu (minimal), například zmínku o tom, že funguje, a pokud je to možné, kolik času zbývá nebo jaké % času je dokončeno.
Pomoc
-h |--help
Vytiskne nápovědu pro příkaz s popisem parametru každého příkazu.