Automatizace trénování modelů pomocí rozhraní příkazového řádku ML.NET
Rozhraní příkazového řádku ML.NET automatizuje generování modelů pro vývojáře .NET.
Pokud chcete rozhraní API ML.NET používat samostatně (bez rozhraní příkazového řádku ML.NET AutoML), musíte zvolit trenéra (implementaci algoritmu strojového učení pro konkrétní úlohu) a sadu transformací dat (příprava funkcí), která se použije na vaše data. Optimální pipeline se bude lišit pro každou datovou sadu a výběr optimálního algoritmu ze všech možností přidává ke složitosti. Ještě více má každý algoritmus sadu hyperparametrů, které se mají ladit. Proto můžete strávit týdny a někdy měsíce na optimalizaci modelu strojového učení a snažit se najít nejlepší kombinace technik funkcí, algoritmů učení a hyperparametrů.
Rozhraní příkazového řádku ML.NET tento proces zjednodušuje pomocí automatizovaného strojového učení (AutoML).
Poznámka
Tento článek se týká ML.NET CLI a ML.NET AutoML, které jsou aktuálně ve verzi náhledu, a materiál se může změnit.
Co je rozhraní příkazového řádku (CLI) ML.NET?
Rozhraní příkazového řádku ML.NET je .NET nástroj . Po instalaci získáte úlohu strojového učení a trénovací datovou sadu a vygeneruje ML.NET model a také kód jazyka C#, který se má spustit, aby používal model ve vaší aplikaci.
Jak je znázorněno na následujícím obrázku, je jednoduché vygenerovat vysoce kvalitní model ML.NET (serializovaný model .zip soubor) a vzorový kód jazyka C# pro spuštění/skóre tohoto modelu. Kromě toho se vygeneruje také kód jazyka C#, který vytvoří nebo vytrénuje tento model, abyste mohli prozkoumat a iterovat algoritmus a nastavení používané pro vygenerovaný "nejlepší model".
rozhraní příkazového řádku ML.NET
Tyto aktiva můžete vygenerovat ze svých vlastních datových sad, aniž byste museli sami psát kód, což také zvýší vaši produktivitu, i když už znáte ML.NET.
V současné době jsou úlohy STROJOVÉho učení podporované rozhraním příkazového řádku ML.NET:
- klasifikace
- regrese
- doporučení
- klasifikace obrázků
- prognostika
- vlak
Rozhraní příkazového řádku ML.NET je možné nainstalovat na základě operačního systému a jeho architektury pomocí následujícího příkazu:
dotnet tool install --global mlnet-<OS>-<ARCH>
Například verzi systému Windows x64 je možné nainstalovat s:
dotnet tool install --global mlnet-win-x64
Další informace najdete v tématu Návod na instalaci rozhraní příkazového řádku ML.NET CLI.
Příklad použití (scénář klasifikace):
mlnet classification --dataset "yelp_labelled.txt" --label-col 1 --has-header false --train-time 10
K dispozici je také příkaz, ve kterém můžete trénovat pomocí souboru
Můžete ho spustit stejným způsobem na windows PowerShellu, macOS/Linux bashnebo windows CMD. Tabulkové automatické dokončování (návrhy parametrů) ale nebudou fungovat na systému Windows CMD .
Vygenerované výstupní prostředky
Příkazy úloh ML v rozhraní příkazového řádku generují ve výstupní složce následující prostředky:
- Řešení jazyka C# s:
- Konzolová aplikace, která spustí nebo vyhodnotí vygenerovaný model (aby se předpovědi v aplikacích koncových uživatelů s tímto modelem vytvořily).
- Konzolová aplikace s trénovacím kódem použitým k vygenerování tohoto modelu (pro účely učení nebo opětovné trénování modelu).
- Tento serializovaný model ("nejlepší model") se také poskytuje jako komprimovaný .zip soubor, který je připravený k použití pro spouštění předpovědí.
- Soubor
mbconfig, který obsahuje konfigurační data, která umožňují otevřít model v Tvůrci modelů.
- Soubor protokolu s informacemi o všech iteracích a průchodech napříč více vyhodnocenými algoritmy, včetně jejich podrobné konfigurace a postupu.
První dva prostředky je možné přímo použít v aplikacích pro koncové uživatele (například ASP.NET core webových aplikací, služeb a desktopových aplikací) k předpovědím s tímto vygenerovaným modelem ML.
Třetí součást, trénovací kód, ukazuje, jaký kód API ML.NET použilo CLI k trénování vytvořeného modelu, takže můžete model znovu vytrénovat a prověřit a pracovat na iteracích, který konkrétní trenér/algoritmus a hyperparametry byly vybrány příkazovým řádkem a AutoML.
Porozumění kvalitě modelu
Když vygenerujete pomocí nástroje rozhraní příkazového řádku "nejlepší model", zobrazí se metriky kvality (například přesnost a R-Squared), které jsou vhodné pro úlohu ML, na kterou cílíte.
Tady jsou tyto metriky shrnuté podle úlohy ML, abyste pochopili kvalitu automaticky generovaného "nejlepšího modelu".
Metriky pro klasifikační modely
Následující obrázek zobrazuje seznam metrik klasifikace pro prvních pět modelů nalezených rozhraním příkazového řádku:
metriky klasifikace
Přesnost je oblíbenou metrikou pro problémy klasifikace, ale přesnost není vždy nejlepší metrikou pro výběr nejlepšího modelu, jak je vysvětleno v následujících odkazech. Existují případy, kdy potřebujete vyhodnotit kvalitu modelu s dalšími metrikami.
Pokud chcete prozkoumat a pochopit metriky, které jsou výstupem rozhraní příkazového řádku, projděte si metriky vyhodnocení pro klasifikaci.
Metriky pro modely regrese a doporučení
Regresní model dobře odpovídá datům, pokud jsou rozdíly mezi pozorovanými hodnotami a predikovanými hodnotami modelu malé a nestranné. Regresi je možné vyhodnotit pomocí určitých metrik.
Zobrazí se podobný seznam metrik pro pět nejlepších modelů kvality nalezených rozhraním příkazového řádku, s výjimkou tohoto případu, prvních pět se vztahuje k úloze ML regrese:
Pokud chcete prozkoumat a pochopit metriky, které CLI generuje, projděte si metriky vyhodnocení pro regresi.
Viz také
- Postup instalace nástroje rozhraní příkazového řádku ML.NET
- Návod : Analýza sentimentu pomocí rozhraní příkazového řádku ML.NET
- Referenční příručka příkazů ML.NET CLI
- telemetrie v rozhraní příkazového řádku ML.NET