Mi a Model Builder, és hogyan működik?
ML.NET Model Builder egy intuitív grafikus Visual Studio-bővítmény egyéni gépi tanulási modellek létrehozásához, betanításához és üzembe helyezéséhez. Automatizált gépi tanulást (AutoML) használ a különböző gépi tanulási algoritmusok és beállítások megismeréséhez, hogy segítsen megtalálni a forgatókönyvnek leginkább megfelelőt.
A Model Builder használatához nincs szükség gépi tanulási szakértelemre. Mindössze néhány adatra és egy megoldandó problémára van szüksége. A Model Builder létrehozza a kódot, hogy hozzáadja a modellt a .NET-alkalmazáshoz.
Model Builder-projekt létrehozása
A Model Builder első indításakor a rendszer megkéri, hogy nevezze el a projektet, majd létrehoz egy mbconfig
konfigurációs fájlt a projekten belül. A mbconfig
fájl nyomon követi a Model Builderben elvégezhető összes műveletet, hogy újra megnyissa a munkamenetet.
A betanítás után a *.mbconfig fájlban három fájl jön létre:
- Model.consumption.cs: Ez a fájl tartalmazza a
ModelInput
modell felhasználásához létrehozott sémákat ésModelOutput
sémákatPredict
. - Model.training.cs: Ez a fájl tartalmazza a Model Builder által a modell betanításához kiválasztott betanítási folyamatot (adatátalakítások, algoritmusok, algoritmus hiperparaméterek). Ezt a folyamatot használhatja a modell újratanításához.
- Model.zip: Ez egy szerializált zip-fájl, amely a betanított ML.NET modellt jelöli.
A fájl létrehozásakor mbconfig
a rendszer egy nevet kér. A rendszer ezt a nevet alkalmazza a használati, betanítási és modellfájlokra. Ebben az esetben a használt név a Modell.
Eset
Számos különböző forgatókönyvet hozhat létre a Model Builderben, hogy gépi tanulási modellt hozzon létre az alkalmazáshoz.
A forgatókönyv az adatokkal használni kívánt előrejelzés típusának leírása. Példa:
- A jövőbeli termékértékesítések mennyiségének előrejelzése az előzmény értékesítési adatok alapján.
- A véleményeket az ügyfelek véleménye alapján pozitívnak vagy negatívnak minősítheti.
- Észleli, hogy egy banki tranzakció hamis-e.
- Az ügyfelek visszajelzési problémáinak átirányítása a vállalat megfelelő csapatához.
Az egyes forgatókönyvek egy másik gépi tanulási feladatra képeznek le, amely a következőket tartalmazza:
Task | Eset |
---|---|
Bináris besorolás | Az adatok besorolása |
Többosztályos besorolás | Az adatok besorolása |
Képbesorolás | Képbesorolás |
Szövegbesorolás | Szövegbesorolás |
Regresszió | Érték előrejelzése |
Ajánlás | Ajánlás |
Előrejelzés | Előrejelzés |
A hangulatok pozitívként vagy negatívként való besorolásának forgatókönyve például a bináris besorolási feladat alá esne.
Az ML.NET által támogatott különböző gépi tanulási feladatokról további információt a ML.NET gépi tanulási feladatai című témakörben talál.
Melyik gépi tanulási forgatókönyv a megfelelő számomra?
A Model Builderben ki kell választania egy forgatókönyvet. A forgatókönyv típusa attól függ, hogy milyen típusú előrejelzést szeretne készíteni.
Táblázatos
Az adatok besorolása
A besorolás az adatok kategóriákba való kategorizálására szolgál.
Mintabemenet
Példakimenet
SepalLength | SepalWidth | Szirom hossza | Sziromszélesség | Species (Verseny) |
---|---|---|---|---|
5,1 | 3,5 | 1.4 | 0,2 | setosa |
Előrejelzett fajok |
---|
setosa |
Érték előrejelzése
A regressziós feladat alá tartozó érték-előrejelzés számok előrejelzésére szolgál.
Mintabemenet
Példakimenet
vendor_id | rate_code | passenger_count | trip_time_in_secs | trip_distance | payment_type | fare_amount |
---|---|---|---|---|---|---|
CMT | 0 | 0 | 1271 | 3,8 | CRD | 17.5 |
Előrejelzett viteldíj |
---|
4,5 |
Ajánlás
A javaslati forgatókönyv előrejelzi a javasolt elemek listáját egy adott felhasználó számára, attól függően, hogy a kedveléseik és a nem kedvelésük mennyire hasonlít a többi felhasználóhoz".
A javaslati forgatókönyvet akkor használhatja, ha több felhasználóval és "termékekkel" rendelkezik, például megvásárolni kívánt elemeket, filmeket, könyveket vagy tv-műsorokat, valamint a felhasználók "minősítéseit" is.
Mintabemenet
Példakimenet
UserId | ProductId | Minősítés |
---|---|---|
0 | 2 | 4.2 |
Előrejelzett minősítés |
---|
4,5 |
Előrejelzés
Az előrejelzési forgatókönyv előzményadatokat használ egy idősorozattal vagy szezonális összetevővel.
Az előrejelzési forgatókönyv használatával előre jelezheti egy termék keresletét vagy eladását.
Mintabemenet
Példakimenet
Dátum | SaleQty |
---|---|
1/1/1970 | 1000 |
3 napos előrejelzés |
---|
[1000,1001,1002] |
Számítógépes látástechnológia
Képbesorolás
A rendszerkép-besorolás különböző kategóriák képeinek azonosítására szolgál. Például különböző típusú terepek vagy állatok vagy gyártási hibák.
A képbesorolási forgatókönyvet akkor használhatja, ha rendelkezik képkészlettel, és a képeket különböző kategóriákba szeretné sorolni.
Mintabemenet
Példakimenet
Előrejelzett címke |
---|
Kutya |
Objektumészlelés
Az objektumészlelés a képeken belüli entitások megkeresésére és kategorizálására szolgál. Például egy képen lévő autók és személyek keresése és azonosítása.
Objektumészlelést akkor használhat, ha a képek több különböző típusú objektumot tartalmaznak.
Mintabemenet
Példakimenet
Természetes nyelvek feldolgozása
Szövegbesorolás
A szövegbesorolás kategorizálja a nyers szövegbevitelt.
A szövegbesorolási forgatókönyvet akkor használhatja, ha dokumentumokkal vagy megjegyzésekkel rendelkezik, és különböző kategóriákba szeretné sorolni őket.
Példa bemenet
Példakimenet
Áttekintés |
---|
Nagyon tetszik ez a steak! |
Hangulat |
---|
Pozitív |
Környezet
A gépi tanulási modellt helyileg taníthatja be a gépén vagy az Azure felhőjében, a forgatókönyvtől függően.
Helyi betanításkor a számítógép erőforrásainak (CPU, memória és lemez) korlátain belül kell dolgoznia. A felhőben végzett betanítása során az erőforrásokat felskálázhatja a forgatókönyv igényeinek megfelelően, különösen nagy adathalmazok esetén.
Eset | Helyi PROCESSZOR | Helyi GPU | Azure |
---|---|---|---|
Az adatok besorolása | ✔️ | ❌ | ❌ |
Érték előrejelzése | ✔️ | ❌ | ❌ |
Ajánlás | ✔️ | ❌ | ❌ |
Előrejelzés | ✔️ | ❌ | ❌ |
Képbesorolás | ✔️ | ✔️ | ✔️ |
Objektumészlelés | ❌ | ❌ | ✔️ |
Szövegbesorolás | ✔️ | ✔️ | ❌ |
Adatok
Miután kiválasztotta a forgatókönyvet, a Model Builder megkéri, hogy adjon meg egy adathalmazt. Az adatok a forgatókönyvhöz legjobb modell betanítása, kiértékelése és kiválasztása céljából használhatók.
A Model Builder .tsv, .csv, .txt és SQL-adatbázisformátumokban támogatja az adathalmazokat. Ha .txt fájllal rendelkezik, az oszlopokat el kell különíteni ,
az , ;
vagy \t
.
Ha az adathalmaz képekből áll, a támogatott fájltípusok .jpg
a következők: és .png
.
További információ: Betanítási adatok betöltése a Model Builderbe.
Válassza ki a megjósolni kívánt kimenetet (címke)
Az adathalmaz betanítási példák sorait és attribútumoszlopokat tartalmazó táblázat. Minden sor a következő:
- egy címke (az előrejelezni kívánt attribútum)
- szolgáltatások (a címke előrejelzéséhez bemenetként használt attribútumok)
A házárak előrejelzési forgatókönyvében a funkciók a következőek lehetnek:
- A ház alapterülete.
- A hálószobák és fürdőszobák száma.
- Az irányítószám.
A címke a történelmi ház ára, hogy a sor négyzet felvétel, hálószoba, és fürdőszoba értékek és irányítószám.
Példaadatkészletek
Ha még nem rendelkezik saját adatokkal, próbálja ki az alábbi adatkészletek egyikét:
Eset | Példa | Adatok | Címke | Funkciók |
---|---|---|---|---|
Osztályozás | Értékesítési anomáliák előrejelzése | termékértékesítési adatok | Termékértékesítés | Month |
A webhely megjegyzéseinek hangulatának előrejelzése | webhely megjegyzésadatai | Címke (0 negatív hangulat esetén, 1 pozitív esetén) | Megjegyzés, év | |
Hamis hitelkártya-tranzakciók előrejelzése | hitelkártyaadatok | Osztály (1 ha csalárd, 0 egyébként) | Amount, V1-V28 (anonimizált funkciók) | |
A probléma típusának előrejelzése egy GitHub-adattárban | GitHub-probléma adatai | Terület | Cím, leírás | |
Érték előrejelzése | Taxi viteldíjának előrejelzése | taxi viteldíj adatai | Viteldíj | Utazási idő, távolság |
Képbesorolás | A virág kategóriájának előrejelzése | virágos képek | A virág típusa: százszorszép, pitypang, rózsa, napraforgó, tulipán | Maga a képadatok |
Ajánlás | Olyan filmek előrejelzése, amelyeket valaki kedvelni fog | filmbesorolások | Felhasználók, filmek | Minősítések |
Betanítás
Miután kiválasztotta a forgatókönyvet, a környezetet, az adatokat és a címkét, a Model Builder betanozza a modellt.
Mi az a betanítás?
A betanítás egy automatikus folyamat, amellyel a Model Builder megtanítja a modellnek, hogyan válaszolhat a forgatókönyvével kapcsolatos kérdésekre. A betanítása után a modell olyan bemeneti adatokkal készíthet előrejelzéseket, amelyeket korábban nem látott. Ha például előrejelzi a lakásárakat, és egy új ház jelenik meg a piacon, előrejelezheti annak eladási árát.
Mivel a Model Builder automatizált gépi tanulást (AutoML) használ, nincs szükség semmilyen bemenetre vagy hangolásra a betanítás során.
Mennyi ideig kell betanulnom?
A Model Builder az AutoML használatával több modellt is megvizsgál, hogy megtalálja a legjobban teljesítő modellt.
A hosszabb betanítási időszakok lehetővé teszik az AutoML számára, hogy több modellt fedezzen fel szélesebb körű beállításokkal.
Az alábbi táblázat összefoglalja, hogy egy helyi gépen milyen átlagosan mennyi idő szükséges egy példaadatkészlet megfelelő teljesítményéhez.
Adathalmaz mérete | Átlagos betanított idő |
---|---|
0 – 10 MB | 10 mp |
10 –100 MB | 10 perc |
100 – 500 MB | 30 perc |
500 – 1 GB | 60 perc |
1 GB+ | 3+ óra |
Ezek a számok csak útmutatók. A képzés pontos hossza a következőtől függ:
- A modell bemeneteként használt funkciók (oszlopok) száma.
- Az oszlopok típusa.
- Az ML-feladat.
- A betanításhoz használt gép processzor-, lemez- és memóriateljesítménye.
Általában azt javasoljuk, hogy több mint 100 sort használjon olyan adathalmazokként, amelyeknél kevesebb van, nem biztos, hogy eredményt ad.
Értékelés
A kiértékelés a modell jó állapotának mérésére szolgáló folyamat. A Model Builder a betanított modell használatával készít előrejelzéseket új tesztadatokkal, majd méri, hogy milyen jók az előrejelzések.
A Model Builder felosztja a betanítási adatokat egy betanítási csoportra és egy tesztkészletre. A betanítási adatok (80%) a modell betanítására szolgálnak, a tesztadatok (20%) pedig vissza lesznek tartva a modell kiértékeléséhez.
Hogyan megérteni a modell teljesítményét?
Egy forgatókönyv gépi tanulási feladatra képez le. Minden ml-tevékenység saját értékelési metrikákkal rendelkezik.
Érték előrejelzése
Az érték-előrejelzési problémák alapértelmezett metrikája az RSquared, az RSquared értéke 0 és 1 között van. Az 1 a lehető legjobb érték, vagyis minél közelebb van az RSquared értéke 1-hez, annál jobb a modell teljesítménye.
Az egyéb jelentett metrikák, például az abszolút veszteség, a négyzetes veszteség és az RMS-veszteség további metrikák, amelyek felhasználhatók annak megértésére, hogy a modell hogyan teljesít, és összehasonlítja azt más érték-előrejelzési modellekkel.
Besorolás (2 kategória)
A besorolási problémák alapértelmezett metrikája a pontosság. A pontosság határozza meg a modell által a tesztadatkészleten végzett helyes előrejelzések arányát. Minél közelebb van a 100%-hoz vagy az 1,0-hoz, annál jobb.
Más jelentett metrikák, például az AUC (a görbe alatti terület), amelyek a valódi pozitív arányt mérik, és a hamis pozitív aránynak 0,50-nél nagyobbnak kell lennie ahhoz, hogy a modellek elfogadhatók legyenek.
A pontosság és a visszahívás közötti egyensúly szabályozásához további metrikák, például az F1 pontszám használható.
Besorolás (3+ kategória)
A többosztályos besorolás alapértelmezett metrikája a Mikro pontosság. Minél közelebb van a Mikro pontosság 100%-hoz vagy 1,0-hoz, annál jobb.
A többosztályos besorolás egy másik fontos mérőszáma a makró pontossága, amely a Mikro pontossághoz hasonlóan minél közelebb van az 1,0-hoz, annál jobb. A pontosságnak az alábbi két típusára érdemes gondolni:
- Mikropontosság: Milyen gyakran kerül besorolásra egy bejövő jegy a megfelelő csapathoz?
- Makró pontossága: Egy átlagos csapat esetében milyen gyakran helyes egy bejövő jegy a csapat számára?
További információ a kiértékelési metrikákról
További információ: modellértékelési metrikák.
Javulás
Ha a modell teljesítmény-pontszáma nem olyan jó, mint amilyennek szeretné, a következőkre van lehetőség:
Hosszabb ideig taníts be. Az automatizált gépi tanulási motor több algoritmussal és beállítással kísérletezik.
Adjon hozzá további adatokat. Néha az adatok mennyisége nem elegendő egy kiváló minőségű gépi tanulási modell betanítása érdekében. Ez különösen igaz az olyan adathalmazokra, amelyek kevés példával rendelkeznek.
Egyensúlyba hozhatja az adatokat. Besorolási feladatok esetén győződjön meg arról, hogy a betanítási csoport kiegyensúlyozott a kategóriák között. Ha például négy osztálya van 100 betanítási példához, és a két első osztályt (címke1 és címke2) 90 rekordhoz használja, a másik kettőt (tag3 és tag4) azonban csak a fennmaradó 10 rekordon használja, a kiegyensúlyozott adatok hiánya miatt a modell nehezen tudja megfelelően előrejelezni a címke3-at vagy a címke4-et.
Felhasználás
A kiértékelési fázis után a Model Builder egy modellfájlt és egy kódot ad ki, amellyel hozzáadhatja a modellt az alkalmazáshoz. ML.NET modellek zip-fájlként vannak mentve. A modell betöltéséhez és használatához használt kód új projektként lesz hozzáadva a megoldáshoz. A Model Builder emellett egy mintakonzolalkalmazást is hozzáad, amely futtatható a modell működés közbeni megtekintéséhez.
A Model Builder emellett lehetővé teszi a modellt használó projektek létrehozását is. A Model Builder jelenleg a következő projekteket hozza létre:
- Konzolalkalmazás: Létrehoz egy .NET-konzolalkalmazást, amely előrejelzéseket készít a modellből.
- Webes API: Létrehoz egy ASP.NET Core Web API-t, amely lehetővé teszi a modell internetes használatát.
A következő lépések
Telepítse a Model Builder Visual Studio bővítményt.
Próbálja ki az ár-előrejelzést vagy bármilyen regressziós forgatókönyvet.
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: