Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Lär dig hur du tränar en rekommendationsmodell med Model Builder för att rekommendera filmer.
I den här kursen får du:
- Förbereda och förstå data
- Skapa en model builder-konfigurationsfil
- Välj ett scenario
- Läsa in data
- Träna modellen
- Utvärdera modellen
- Använda modellen
Krav
En lista över krav och installationsinstruktioner finns i installationsguiden för Model Builder.
Skapa ett C#-klassbibliotek
Skapa ett C#-klassbibliotek med namnet "MovieRecommender".
Förbereda och förstå data
Det finns flera sätt att hantera rekommendationsproblem, till exempel att rekommendera en lista över filmer eller rekommendera en lista över relaterade produkter, men i det här fallet kommer du att förutsäga vilket omdöme (1–5) en användare kommer att ge till en viss film och rekommendera filmen om den är högre än ett definierat tröskelvärde (ju högre omdöme, desto högre är sannolikheten för att en användare gillar en viss film).
Högerklicka på recommendation-ratings-train.csv och välj "Spara länk (eller mål) som..."
Varje rad i datamängden innehåller information om en filmklassificering.
| userId | movieId | rating | timestamp |
|---|---|---|---|
| 1 | 1 | 4 | 964982703 |
- userId: Användarens ID
- movieId Filmens ID
- rating: Det omdöme som användaren gjorde i filmen
- timestamp: Tidsstämpeln som recensionen gjordes
Skapa en model builder-konfigurationsfil
När du först lägger till Model Builder i lösningen uppmanas du att skapa en mbconfig fil. Filen mbconfig håller reda på allt du gör i Model Builder så att du kan öppna sessionen igen.
- I Solution Explorer högerklickar du på projektet MovieRecommender och väljer Lägg till > maskininlärningsmodell....
- I dialogrutan ger du Model Builder-projektet namnet MovieRecommender och klickar på Lägg till.
Välj ett scenario
För att träna din modell måste du välja från listan över tillgängliga maskininlärningsscenarier som tillhandahålls av Model Builder.
För det här exemplet är uppgiften rekommendation. I scenariosteget i verktyget Model Builder väljer du rekommendationsscenariot .
Välj en miljö
Model Builder kan köra träningen i olika miljöer beroende på vilket scenario som valdes.
Välj Lokal som miljö och klicka på knappen Nästa steg .
Läsa in data
- I datasteget i verktyget Model Builder väljer du knappen bredvid textrutan Välj en mapp .
- Använd Utforskaren för att bläddra och välja den nedladdade filen –recommendation-ratings-train.csv.
- Välj knappen Nästa steg för att gå vidare till nästa steg i verktyget Model Builder.
- När data har lästs in väljer du Omdöme i listrutan Kolumn för att förutsäga.
- I listrutan Användarkolumn väljer du userId.
- I listrutan Objektkolumn väljer du movieId.
Träna modellen
Maskininlärningsalgoritmen som används för att träna rekommendationsmodellen är Matrisfaktorisering. Under modellträningsprocessen använder Model Builder olika inställningar för algoritmen för att hitta den bäst presterande modellen för din datauppsättning.
Den tid som krävs för att modellen ska tränas är proportionell mot mängden data. Model Builder väljer automatiskt ett standardvärde för Tid att träna (sekunder) baserat på datakällans storlek.
- Model Builder anger värdet för Tid att träna (sekunder) till 60 sekunder. Träning under en längre tidsperiod gör att Model Builder kan utforska ett större antal algoritmer och en kombination av parametrar för att söka efter den bästa modellen.
- Klicka på Starta träning.
Under hela träningsprocessen visas förloppsdata i Training results avsnittet i träningssteget.
- Status visar slutförandestatus för träningsprocessen.
- Bästa kvalitet R Squared av den bäst presterande modellen som hittats av Model Builder hittills. Den lägre R-kvadraten innebär att modellen förutsägs mer korrekt på testdata.
- Den bästa algoritmen visar namnet på den algoritm med bäst prestanda som har hittats av Model Builder hittills.
- Den senaste algoritmen visar namnet på den algoritm som senast användes av Model Builder för att träna modellen.
När träningen är klar mbconfig anropas den genererade modellen MovieRecommender.zip efter träningen och två C#-filer med den:
- MovieRecommender.consumption.cs: Den här filen har en offentlig metod
Predictsom läser in modellen och skapar en PredictionEngine för att göra förutsägelser. PredictionEngine är ett bekvämlighets-API för att göra förutsägelser på en enda datainstans. - MovieRecommender.training.cs: Den här filen består av träningspipelinen som Model Builder kom på för att skapa den bästa modellen, inklusive alla hyperparametrar som den använde.
Klicka på knappen Nästa steg för att gå till utvärderingssteget.
Utvärdera modellen
Resultatet av träningssteget blir en modell som hade bästa prestanda. I utvärderingssteget i verktyget Model Builder i avsnittet Bästa modell innehåller algoritmen som används av den bäst presterande modellen i modellposten tillsammans med mått för den modellen i RSquared.
I fönstret Utdata i Visual Studio finns det dessutom en sammanfattningstabell som innehåller de översta modellerna och deras mått.
I det här avsnittet kan du också testa din modell genom att utföra en enda förutsägelse. Den ger dig textrutor för att mata in värden för var och en av dina funktionskolumner och du kan välja knappen Förutsäga för att få en förutsägelse med hjälp av den bästa modellen. Som standard fylls detta i av den första raden i datauppsättningen.
(Valfritt) Använda modellen
Det här steget innehåller projektmallar som du kan använda för att använda modellen. Det här steget är valfritt och du kan välja den metod som bäst passar dina behov för hur modellen ska hanteras.
- Konsolapp
- Webb-API
Konsolapp
När du lägger till en konsolapp i din lösning uppmanas du att namnge projektet.
Välj Lägg till i lösning för konsolmallen.
Ge konsolprojektet namnet MovieRecommender_Console.
Klicka på Lägg till i lösning för att lägga till projektet i den aktuella lösningen.
Kör appen.
Utdata som genereras av programmet bör se ut ungefär som kodfragmentet nedan:
UserId: 1 MovieId: 1 Rating: 4 Predicted Rating: 4.577113
Webb-API
När du lägger till ett webb-API i din lösning uppmanas du att namnge projektet.
Välj Lägg till i lösning för webb-API-mallen.
Ge webb-API-projektet namnet MovieRecommender_WebApi.
Klicka på Lägg till i lösning* för att lägga till projektet i den aktuella lösningen.
Kör appen.
Öppna PowerShell och ange följande kod där PORT är den port som programmet lyssnar på.
$body = @{ UserId=1.0 MovieId=1.0 } Invoke-RestMethod "https://localhost:<PORT>/predict" -Method Post -Body ($body | ConvertTo-Json) -ContentType "application/json"Om det lyckas bör utdata se ut ungefär som texten nedan. Resultatet blir det förutsagda omdömet för det begärda användar-ID:t och film-ID:t.
score ----- 4.577113
Grattis! Du har skapat en maskininlärningsmodell för att kategorisera risken för hälsoöverträdelser med hjälp av Model Builder. Du hittar källkoden för den här självstudien på GitHub-lagringsplatsen dotnet/machinelearning-samples .
Ytterligare resurser
Mer information om ämnen som nämns i den här självstudien finns i följande resurser:
