Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Megtudhatja, hogyan hozhat létre többosztályos besorolási modellt a Model Builder használatával az éttermi jogsértések kockázati szintjének kategorizálásához az állapotvizsgálatok során.
Ebben az oktatóanyagban a következőket sajátíthatja el:
- Az adatok előkészítése és értelmezése
- Model Builder konfigurációs fájl létrehozása
- Forgatókönyv kiválasztása
- Adatok betöltése adatbázisból
- A modell betanítása
- A modell kiértékelése
- A modell használata előrejelzésekhez
Előfeltételek
Az előfeltételek és a telepítési utasítások listáját a Model Builder telepítési útmutatójában találja.
A Model Builder többosztályos besorolásának áttekintése
Ez a minta létrehoz egy C#-konzolalkalmazást, amely a Model Builderrel készült gépi tanulási modell használatával kategorizálja az állapotsértések kockázatát. Az oktatóanyag forráskódját a dotnet/machinelearning-samples GitHub-adattárban találja.
Konzolalkalmazás létrehozása
Hozzon létre egy "RestaurantViolations" nevű C#-konzolalkalmazást .
Az adatok előkészítése és értelmezése
A gépi tanulási modell betanításához és kiértékeléséhez használt adatkészlet eredetileg a San Francisco-i Közegészségügyi Minisztérium éttermi biztonsági pontszámaiból származik. Az egyszerűség kedvéért az adathalmazt úgy tömörítették, hogy csak a modell betanítása és az előrejelzések készítése szempontjából releváns oszlopokat tartalmazza. Az adatkészletről az alábbi webhelyen tájékozódhat.
Töltse le az Restaurant Safety Scores adatkészletet , és bontsa ki.
Az adathalmaz minden egyes sora információkat tartalmaz az egészségügyi részleg ellenőrzése során megfigyelt jogsértésekről, valamint a közegészségügyre és a biztonságra vonatkozó fenyegetések kockázatfelmérését.
| InspekcióTípus | Jogszabálysértés leírása | RiskCategory |
|---|---|---|
| Rutin – Nem ütemezett | Nem megfelelően tisztított vagy fertőtlenített élelmiszerrel érintkező felületek | Közepes kockázat |
| Új tulajdonjog | Magas kockázatú kártevőfertőzés | Magas kockázat |
| Rutin – Nem ütemezett | Nem tiszta, nem megfelelően tárolt törlőrongyok vagy nem megfelelően fertőtlenítettek | Alacsony kockázat |
- InspectionType: az ellenőrzés típusa. Ez lehet egy új létesítmény első alkalommal végzett vizsgálata, rutinvizsgálat, panaszvizsgálat és sok más típus.
- ViolationDescription: a vizsgálat során talált jogsértés leírása.
- RiskCategory: a jogsértés kockázat súlyossága a közegészségre és a biztonságra is kihat.
Ez a label oszlop, amelyet előre szeretne jelezni. Besorolási feladat végrehajtásakor a cél egy kategória (szöveg vagy numerikus) hozzárendelése. Ebben a besorolási forgatókönyvben a szabálysértés súlyossága alacsony, közepes vagy magas kockázatú. Ezért a RiskCategory tekinthető címkének. Ezek features azok a bemenetek, amelyeket a modell használ, hogy előrejelezze a label. Ebben az esetben az InspectionType és a ViolationDescription funkcióként vagy bemenetként szolgál a RiskCategory előrejelzéséhez.
Model Builder konfigurációs fájl létrehozása
Amikor először hozzáadja a Model Buildert a megoldáshoz, arra kéri, hogy hozzon létre egy mbconfig fájlt. A mbconfig fájl nyomon követi a Model Builderben elvégezhető összes műveletet, hogy újra megnyissa a munkamenetet.
- A Megoldáskezelőben kattintson a jobb gombbal a RestaurantViolations projektre, és válassza aMachine Learning-modellhozzáadása> lehetőséget.
- Nevezze el a
mbconfigrestaurantViolationsPrediction projektet, és kattintson a Hozzáadás gombra.
Forgatókönyv kiválasztása
A modell betanítása érdekében válasszon a Model Builder által biztosított elérhető gépi tanulási forgatókönyvek listájából. Ebben az esetben a forgatókönyv az adatbesorolás.
- Ebben a mintában a feladat többosztályos besorolás. A Model Builder Forgatókönyv lépésében válassza ki az Adatbesorolási forgatókönyvet.
Töltse be az adatokat
A Model Builder egy SQL Server-adatbázisból vagy egy helyi fájlból fogad adatokat csv, tsv vagy txt formátumban.
- A Model Builder eszköz adatlépésében válassza ki az SQL Servert az adatforrástípus kiválasztásából.
- Válassza az Adatforrás kiválasztása gombot.
- Az Adatforrás kiválasztása párbeszédpanelen válassza a Microsoft SQL Server-adatbázisfájlt.
- Törölje a jelet a Mindig használja ezt a jelölőnégyzet négyzetből, és kattintson a Folytatás gombra.
- A Kapcsolat tulajdonságai párbeszédpanelen válassza a Tallózás lehetőséget , és válassza ki a letöltött RestaurantScores.mdf fájlt.
- Kattintson az OK gombra.
- Válassza a Szabálysértések lehetőséget a Tábla legördülő listában.
- Válassza a RiskCategory lehetőséget a Oszlop az előrejelzéshez (Címke) legördülő listában.
- Hagyja meg az alapértelmezett beállításokat a Speciális adatbeállításokban.
- A Következő lépés gombra kattintva lépjen a Model Builder képzési lépésére.
A modell betanítása
Az oktatóanyagban a problémabesorolási modell betanítása során használt gépi tanulási feladat a többosztályos besorolás. A modellbetanítási folyamat során a Model Builder különböző többosztályos besorolási algoritmusokkal és beállításokkal tanítja be a különböző modelleket, hogy megtalálja az adathalmaz legjobban teljesítő modelljét.
A modell betanítása során szükséges idő arányos az adatok mennyiségével. A Model Builder automatikusan kiválaszt egy alapértelmezett értéket idő a betanulásra (másodpercben) az adatforrás mérete alapján.
- A Model Builder a betanítás (másodperc) értékét 60 másodpercre állítja. A hosszabb ideig tartó betanítás lehetővé teszi, hogy a Model Builder nagyobb számú algoritmust és paraméterek kombinációját vizsgálja meg a legjobb modell keresése érdekében.
- Kattintson a(z) Betanítás indításagombra.
A betanítási folyamat során az előrehaladási adatok a tréning lépés Training results szakaszában jelennek meg.
- Az állapot megjeleníti a betanítási folyamat befejezési állapotát.
- A legjobb pontosság a Model Builder által eddig talált legjobban teljesítő modell pontosságát jeleníti meg. A nagyobb pontosság azt jelenti, hogy a modell helyesebben van előrejelezve a tesztadatokon.
- A legjobb algoritmus megjeleníti a Model Builder által eddig legjobban teljesítő algoritmus nevét.
- Az utolsó algoritmus megjeleníti annak az algoritmusnak a nevét, amelyet a Model Builder legutóbb használt a modell betanítása érdekében.
A betanítás befejezése után a mbconfig fájl a betanítás után RestaurantViolationsPrediction.zip nevű létrehozott modellt és két C#-fájlt tartalmaz:
- RestaurantViolationsPrediction.consumption.cs: Ez a fájl egy nyilvános metódussal rendelkezik, amely betölti a modellt, és létrehoz egy előrejelzési motort vele, és visszaadja az előrejelzést.
- RestaurantViolationsPrediction.training.cs: Ez a fájl a Model Builder által létrehozott betanítási folyamatból áll, amely a legjobb modellt hozza létre, beleértve a használt hiperparamétereket is.
Kattintson a Következő lépés gombra a kiértékelő lépéshez való navigáláshoz.
A modell kiértékelése
A betanítási lépés eredménye egy olyan modell lesz, amely a legjobb teljesítményt nyújtotta. A Model Builder eszköz kiértékelési lépésében, a Legjobb modell szakaszban a Modell bejegyzésben a legjobban teljesítő modell által használt algoritmust, valamint az adott modell pontossági metrikáit fogja tartalmazni.
Emellett a Visual Studio Kimeneti ablakában megjelenik egy összefoglaló táblázat, amely a legnépszerűbb modelleket és azok metrikáit tartalmazza.
Ez a szakasz azt is lehetővé teszi, hogy egyetlen előrejelzés végrehajtásával tesztelje a modellt. A program szövegmezőket kínál az értékek kitöltéséhez, és az Előrejelzés gombra kattintva előrejelzést kaphat a legjobb modelltől. Ezt alapértelmezés szerint egy véletlenszerű sor tölti ki az adathalmazban.
(Nem kötelező) A modell felhasználása
Ebben a lépésben projektsablonok lesznek, amelyekkel felhasználhatja a modellt. Ez a lépés nem kötelező, és kiválaszthatja az igényeinek leginkább megfelelő módszert a modell kiszolgálásához.
- Konzolalkalmazás
- Web API
Konzolalkalmazás
Amikor konzolalkalmazást ad hozzá a megoldáshoz, a rendszer kérni fogja, hogy nevezze el a projektet.
Nevezze el a konzolprojektet RestaurantViolationsPrediction_Console.
Kattintson a Hozzáadás a projekthez gombra a projekt hozzáadásához az aktuális megoldáshoz.
Indítsa el az alkalmazást.
A program által generált kimenetnek az alábbi kódrészlethez hasonlóan kell kinéznie:
InspectionType: Routine - Unscheduled ViolationDescription: Moderate risk food holding temperature Predicted RiskCategory: Moderate Risk
Webes API
Amikor webes API-t ad hozzá a megoldáshoz, a rendszer kérni fogja, hogy nevezze el a projektet.
Nevezze el a web API projektet RestaurantViolationsPrediction_API.
Kattintson a Hozzáadás a megoldáshoz* elemre a projekt aktuális megoldáshoz való hozzáadásához.
Indítsa el az alkalmazást.
Nyissa meg a PowerShellt, és írja be a következő kódot, amelyben az alkalmazás által figyelt PORT portot adja meg.
$body = @{ InspectionType="Reinspection/Followup" ViolationDescription="Inadequately cleaned or sanitized food contact surfaces" } Invoke-RestMethod "https://localhost:<PORT>/predict" -Method Post -Body ($body | ConvertTo-Json) -ContentType "application/json"Ha sikeres, a kimenetnek az alábbi szöveghez hasonlóan kell kinéznie. A kimenet közepes kockázatúként az előrejelzett RiskCategory értéket adja meg, és az egyes bemeneti címkék pontszámával rendelkezik – alacsony kockázat, magas kockázat és közepes kockázat.
prediction score ---------- ----- Moderate Risk {0.055566575, 0.058012854, 0.88642055}
Gratulálok! Sikeresen létrehozott egy gépi tanulási modellt a Model Builder használatával, hogy kategorizálja az egészségügyi szabályszegések kockázatát. Az oktatóanyag forráskódját a dotnet/machinelearning-samples GitHub-adattárban találja.
További erőforrások
Az oktatóanyagban említett témakörökről az alábbi forrásokból tudhat meg többet: