Modellbetanítás automatizálása a ML.NET parancssori felülettel

A ML.NET parancssori felület automatizálja a modellgenerálást a .NET-fejlesztők számára.

A ML.NET API önmagában való használatához (az ML.NET AutoML CLI nélkül) ki kell választania egy oktatót (egy gépi tanulási algoritmus implementálása egy adott feladathoz), valamint az adatokra való alkalmazáshoz szükséges adatátalakításokat (funkciófejlesztést). Az optimális folyamat az egyes adathalmazok esetében eltérő lesz, és az optimális algoritmus kiválasztása az összes választási lehetőség közül hozzáadja az összetettséghez. Még tovább, minden algoritmus több hiperparaméterrel rendelkezik, amelyeket hangolni kell. Ezért heteket és néha hónapokat tölthet a gépi tanulási modellek optimalizálásával, és megpróbálhatja megtalálni a funkciófejlesztés, a tanulási algoritmusok és a hiperparaméterek legjobb kombinációját.

A ML.NET parancssori felület leegyszerűsíti ezt a folyamatot az automatikus gépi tanulás (AutoML) használatával.

Feljegyzés

Ez a cikk ML.NET parancssori felületre és ML.NET AutoML-re hivatkozik, amelyek jelenleg előzetes verzióban érhetők el, és az anyagok változhatnak.

Mi az ML.NET parancssori felület (CLI)?

A ML.NET parancssori felület egy .NET-eszköz. A telepítés után gépi tanulási feladatot és betanítási adatkészletet ad neki, és létrehoz egy ML.NET modellt, valamint egy C#-kódot, amely a modell alkalmazásbeli használatához fut.

Az alábbi ábrán látható módon egyszerűen létrehozhat egy kiváló minőségű ML.NET modellt (szerializált modell .zip fájl), valamint a modell futtatásához/pontozásához szükséges C#-mintakódot. Emellett a modell létrehozásához/betanításához használt C#-kód is létrejön, így a létrehozott "legjobb modell" algoritmusát és beállításait is megvizsgálhatja és iterálhatja.

AutoML-motor a ML.NET parancssori felületén

Ezeket az eszközöket saját adathalmazokból anélkül hozhatja létre, hogy saját maga kódolt volna, így akkor is javítja a hatékonyságot, ha már ismeri ML.NET.

Jelenleg a ML.NET parancssori felület által támogatott ml-feladatok a következők:

  • Osztályozás
  • Regresszió
  • Ajánlás
  • képbesorolás
  • Előrejelzés
  • Vonat

A ML.NET parancssori felület az operációs rendszer és annak architektúrája alapján telepíthető az alábbi paranccsal:

dotnet tool install --global mlnet-<OS>-<ARCH>

A Windows x64-es verziója például a következőkkel telepíthető:

dotnet tool install --global mlnet-win-x64

További információkért tekintse meg a ML.NET parancssori felület telepítésével kapcsolatos útmutatót.

Példa a használatra (besorolási forgatókönyv):

mlnet classification --dataset "yelp_labelled.txt" --label-col 1 --has-header false --train-time 10

ML.NET besorolás a parancssorból

Ugyanúgy futtatható Windows PowerShellen, macOS/Linux bashen vagy Windows CMD-n is. A táblázatos automatikus kiegészítés (paraméterjavaslatok) azonban nem működnek a Windows CMD-n.

Létrehozott kimeneti eszközök

A parancssori felület ml-feladatparancsai a következő objektumokat generálják a kimeneti mappában:

  • A szerializált modell .zip ("legjobb modell") készen áll az előrejelzések futtatására.
  • C#-megoldás a következőkkel:
    • C#-kód a létrehozott modell futtatásához/pontszámához (az adott modellel rendelkező végfelhasználói alkalmazások előrejelzéseihez).
    • C# kód a modell létrehozásához használt betanítási kóddal (tanulási célokra vagy modell újratanítására).
  • Naplófájl a kiértékelt algoritmusok iterációinak/nyereményjátékainak adataival, beleértve azok részletes konfigurációját/folyamatát.

Az első két eszköz közvetlenül használható a végfelhasználói alkalmazásokban (például ASP.NET Core webalkalmazásokban, szolgáltatásokban és asztali alkalmazásokban), hogy előrejelzéseket készítsen a létrehozott ML-modellel.

A harmadik eszköz, a betanítási kód bemutatja, hogy a cli milyen ML.NET API-kódot használt a létrehozott modell betanításához, így újrataníthatja a modellt, és megvizsgálhatja és iterálhatja, hogy a cli és az AutoML melyik oktatót/algoritmust és hiperparamétereket választotta ki a borítók alatt.

A modell minőségének megismerése

Amikor létrehoz egy "legjobb modellt" a CLI-eszközzel, a célként megadott ML-tevékenységhez megfelelő minőségi metrikákat (például pontosságot és R-Négyzetes) jelenik meg.

Itt ezeket a metrikákat gépi tanulási feladat szerint csoportosítjuk, így megértheti az automatikusan létrehozott "legjobb modell" minőségét.

Metrikák besorolási modellekhez

Az alábbi képen a parancssori felület által talált öt modell besorolási metrikáinak listája látható:

Besorolási metrikák az első öt modellhez

A pontosság a besorolási problémák népszerű mérőszáma, azonban a pontosság nem mindig a legjobb metrika a legjobb modell kiválasztásához az alábbi hivatkozásokban leírtak szerint. Vannak olyan esetek, amikor további metrikákkal kell kiértékelnie a modell minőségét.

A CLI által előállított metrikák megismeréséhez és megértéséhez tekintse meg a besorolás kiértékelési metrikáit.

Regressziós és javaslatmodellek metrikái

A regressziós modell jól illeszkedik az adatokhoz, ha a megfigyelt értékek és a modell előrejelzett értékei közötti különbségek kicsik és elfogulatlanok. A regresszió bizonyos metrikákkal kiértékelhető.

A CLI által talált öt legjobb minőségi modell metrikáinak hasonló listája jelenik meg, de ebben az esetben az első öt egy regressziós ML-feladathoz kapcsolódik:

Regressziós metrikák az első öt modellhez

A parancssori felület által előállított metrikák megismeréséhez és megértéséhez tekintse meg a regresszió értékelési metrikáit.

Lásd még