Strojové učení (ML) vzešlo z módního slova, které je hezké mít ve své aplikaci, na funkci, kterou musíte mít, která funguje a přidává hodnotu. Datoví vědci vyvíjejí modely ML v různých rámcích ML, jako je TensorFlow, Scikit-learn, PyTorch, Azure ML atd. Než se ML.NET stal dostupným pro všechny vývojáře, vyžadovalo přidání funkcí ML do aplikací .NET znalosti v některých rámcích ML pro vytváření a vlakové modely ML. Také to vyžadovalo další čas a úsilí k integraci tohoto modelu do aplikací .NET.
ML.NET tuto práci velmi usnadnil vývojářům .NET díky Model Builder, grafickému rozšíření Visual Studio pro vytváření, trénování a nasazení vlastních modelů ML. Pomocí nástroje ML.NET's Model Builder a jeho funkcí AutoML mohou vývojáři, kteří nemají zkušenosti se strojovým učením, jako jsem já, stále vyvíjet a používat modely ML během několika minut.
O ML.NET
Než se ponoříme do našeho příkladu, promluvme si trochu o historii ML.NET a jeho současném stavu.
ML.NET čerpá svůj původ z výzkumného projektu společnosti Microsoft z roku 2002 s názvem TMSN, což je zkratka pro „zkušební těžební vyhledávání a navigaci“. Později byl přejmenován na TLC, „výukový kód“. Válka ML.NET odvozená z knihovny TLC. Zpočátku byl používán v interních produktech společnosti Microsoft.
První veřejně dostupná verze ML.NET 1.0 byla vydána v roce 2019. Zahrnovala doplněk Model Builder a funkce AutoML (Automated Machine Learning).
Aktuální verze je 1.6.0. Další podrobnosti o všech verzích lze nalézt na oficiální stránce vydání ML.NET.
Některé úkoly, které můžeme s ML.NET provádět, jsou:
– Analýza sentimentu
– Doporučení produktu
– Predikce ceny
– Segmentace zákazníků
– Detekce objektů
– Detekce podvodů
– Detekce nárůstu prodeje
– Klasifikace obrázků
– Prognózy prodeje
Instalace a nastavení
Minimální požadovaná verze sady Visual Studio je 16.6.1. Následující kroky se provádějí v sadě Visual Studio 16.9.2. Pokud tedy používáte jinou verzi, některé detaily se mohou lišit.
Nainstalujte ML.NET Model Builder
- Otevřete instalační program sady Visual Studio
- Zkontrolujte vývoj počítače .NET možnost
- V pravém podokně rozbalte .NET desktop development> rozbalte Volitelné > zkontrolujte ML.NET Model Builder (náhled)
Poznámka:ML.NET Model Builder je k dispozici na .NET cross-platform development možnost.
Povolte ML.NET Model Builder v sadě Visual Studio
- Přejděte na Nástroje > Možnosti > Životní prostředí > Funkce náhledu
- Zaškrtněte Povolit ML.NET Model Builder zaškrtávací políčko
Vytváření modelu ML
Klikněte pravým tlačítkem na projekt a vyberte Přidat > Strojové učení
Vyberte scénář
Vyberte Klasifikace textu – přidáme jednoduchou funkci analýzy sentimentu:
Vyberte školicí prostředí
V našem případě se jedná o místní počítač.
Přidat data
Použijeme soubor ZIP datové sady UCI Sentiment Labeled Sentences k dispozici ke stažení.
Vyberte výstup, který chcete předvídat
V našem případě se jedná o druhý sloupec, takže vybereme col1 . Vstupní sloupce jsou vybírány automaticky, protože máme k dispozici pouze dva sloupce.
Vycvičte si model
Vyberte čas tréninku a klikněte na Zahájit trénink :
Níže uvedené obrázky ukazují výstup a výsledky tréninku:
Vyhodnoťte model
Pokud zadáme Janice byla milá do vzorového vstupu dat, výstup ukazuje, že tato věta je pozitivní se 100% jistotou:
Pokud zadáme Janice byla hrubá do vzorového vstupu dat, výstup ukazuje, že tato věta není pozitivní se 100% jistotou:
Nasazení a využití modelu ML
Nezbývá než použít model, který v naší aplikaci postavíme. Potřebujeme přidat odkaz na náš projekt modelu ML.
Také musíme nainstalovat Microsoft.ML z NuGet.
Microsoft.ML podporuje pouze x64 a x86 architektura procesoru. Při sestavování aplikace se proto ujistěte, že vyberete jednu z nich.
A to je vše. Zde můžeme vidět náš kód v akci.
Závěr
Celý proces od instalace ML.NET po první aplikaci s funkcí ML lze provést během několika minut. Samozřejmě, je to velmi základní příklad s jediným cílem seznámit se s rámcem ML.NET. Nicméně i bez předchozích zkušeností bych dokázal sestavit aplikaci, která s určitými úpravami a vylepšeními může skutečně fungovat v reálném scénáři.
To znamená, že ML.NET je nástroj. Budete jej moci používat efektivněji s více znalostmi o algoritmech a principech strojového učení.
Děkujeme, že jste vydrželi až do konce, a doufáme, že se k nám připojíte v dalším článku o ML.NET.