Dela via


Automatisera modellträning med ML.NET CLI

ML.NET CLI automatiserar modellgenereringen för .NET-utvecklare.

Om du vill använda ML.NET API:et på egen hand (utan ML.NET AutoML CLI) måste du välja en tränare (implementering av en maskininlärningsalgoritm för en viss uppgift) och den uppsättning datatransformeringar (funktionsteknik) som ska tillämpas på dina data. Den optimala pipelinen varierar för varje datauppsättning och om du väljer den optimala algoritmen från alla alternativ läggs komplexiteten till. Dessutom har varje algoritm en uppsättning hyperparametrar som ska justeras. Därför kan du ägna veckor och ibland månader åt maskininlärningsmodelloptimering för att hitta de bästa kombinationerna av funktionsutveckling, inlärningsalgoritmer och hyperparametrar.

ML.NET CLI förenklar den här processen med hjälp av automatisk maskininlärning (AutoML).

Kommentar

Den här artikeln refererar till ML.NET CLI och ML.NET AutoML, som för närvarande finns i förhandsversion, och material kan komma att ändras.

Vad är det ML.NET kommandoradsgränssnittet (CLI)?

ML.NET CLI är ett .NET-verktyg. När du har installerat den ger du den en maskininlärningsuppgift och en träningsdatauppsättning, och den genererar en ML.NET modell, samt C#-koden som ska köras för att använda modellen i ditt program.

Som du ser i följande bild är det enkelt att generera en ML.NET modell av hög kvalitet (serialiserad modell .zip fil) plus C#-exempelkoden för att köra/poängsätta modellen. Dessutom genereras C#-koden för att skapa/träna modellen, så att du kan undersöka och iterera på algoritmen och inställningarna som används för den genererade "bästa modellen".

AutoML-motorn fungerar i ML.NET CLI

Du kan generera dessa tillgångar från dina egna datauppsättningar utan att koda själv, så det förbättrar även produktiviteten även om du redan vet ML.NET.

För närvarande är ML-uppgifter som stöds av ML.NET CLI:

  • Klassificering
  • Regression
  • Rekommendation
  • bildklassificering
  • Prognoser
  • Tåg

ML.NET CLI kan installeras baserat på ditt operativsystem och dess arkitektur med följande kommando:

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

Till exempel kan x64-versionen av Windows installeras med:

dotnet tool install --global mlnet-win-x64

Mer information finns i guiden Installera ML.NET CLI .

Ett exempel på användning (klassificeringsscenario):

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

Det finns också ett kommando där du kan träna med hjälp av en mbconfig-fil . Mbconfig-filen skapas när du startar en Model Builder-session.

ML.NET klassificering från kommandoraden

Du kan köra det på samma sätt på Windows PowerShell, macOS/Linux bash eller Windows CMD. Tabellbaserad automatisk komplettering (parameterförslag) fungerar dock inte i Windows CMD.

Utdatatillgångar som genereras

ML-uppgiftskommandona i CLI genererar följande tillgångar i utdatamappen:

  • C#-lösning med:
    • En konsolapp för att köra/poängsätta den genererade modellen (för att göra förutsägelser i dina slutanvändarappar med den modellen).
    • En konsolapp med träningskoden som används för att generera den modellen (i utbildningssyfte eller för omträning av modeller).
      • Den här serialiserade modellen ("bästa modellen") tillhandahålls också som en komprimerad .zip fil som är redo att användas för att köra förutsägelser.
      • En mbconfig-fil som innehåller konfigurationsdata som gör att du kan öppna modellen i Model Builder.
  • Loggfil med information om alla iterationer/svep över flera utvärderade algoritmer, inklusive deras detaljerade konfiguration/pipeline.

De första två tillgångarna kan användas direkt i dina slutanvändarappar (till exempel ASP.NET Core-webbappar, tjänster och skrivbordsappar) för att göra förutsägelser med den genererade ML-modellen.

Den tredje tillgången, träningskoden, visar vilken ML.NET API-kod som användes av CLI för att träna den genererade modellen, så att du kan träna om din modell och undersöka och iterera på vilken specifik tränare/algoritm och hyperparametrar som valts av CLI och AutoML under täcket.

Förstå modellens kvalitet

När du genererar en "bästa modell" med CLI-verktyget ser du kvalitetsmått (till exempel noggrannhet och R-kvadrat) efter behov för den ML-uppgift som du riktar in dig på.

Här sammanfattas dessa mått grupperade efter ML-uppgift så att du kan förstå kvaliteten på den automatiskt genererade "bästa modellen".

Mått för klassificeringsmodeller

Följande bild visar klassificeringsstatistiklistan för de fem bästa modellerna som finns i CLI:

Klassificeringsmått för de fem främsta modellerna

Noggrannhet är ett populärt mått för klassificeringsproblem, men noggrannhet är inte alltid det bästa måttet för att välja den bästa modellen från enligt beskrivningen i följande referenser. Det finns fall där du behöver utvärdera modellens kvalitet med ytterligare mått.

Information om hur du utforskar och förstår de mått som utdata från CLI finns i Utvärderingsmått för klassificering.

Mått för modeller för regression och rekommendation

En regressionsmodell passar databrunnarna om skillnaderna mellan de observerade värdena och modellens förutsagda värden är små och opartiska. Regression kan utvärderas med vissa mått.

Du ser en liknande lista över mått för de fem bästa kvalitetsmodellerna som hittas av CLI, förutom i det här fallet är de fem främsta relaterade till en ML-uppgift för regression:

Regressionsmått för de fem främsta modellerna

Information om hur du utforskar och förstår de mått som utdata från CLI finns i Utvärderingsmått för regression.

Se även