Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Meer informatie over het trainen van een aanbevelingsmodel met Behulp van Model builder om films aan te bevelen.
In deze zelfstudie gaat u:
- De gegevens voorbereiden en begrijpen
- Een Model Builder-configuratiebestand maken
- Een scenario kiezen
- De gegevens laden
- Het model trainen
- Het model evalueren
- Het model gebruiken
Vereisten
Ga voor een lijst met vereisten en installatie-instructies naar de installatiehandleiding van Model Builder.
Een C#-klassebibliotheek maken
Maak een C#-klassebibliotheek met de naam MovieRecommender.
De gegevens voorbereiden en begrijpen
Er zijn verschillende manieren om problemen met aanbevelingen te benaderen, zoals het aanbevelen van een lijst met films of het aanbevelen van een lijst met gerelateerde producten, maar in dit geval voorspelt u welke waardering (1-5) een gebruiker aan een bepaalde film geeft en beveelt u die film aan als deze hoger is dan een gedefinieerde drempelwaarde (hoe hoger de waardering, hoe groter de kans dat een gebruiker een bepaalde film leuk vindt).
Klik met de rechtermuisknop op recommendation-ratings-train.csv en selecteer 'Koppeling opslaan (of doel) als...'
Elke rij in de gegevensset bevat informatie over een filmclassificatie.
| userId | movieId | rating | tijdstempel |
|---|---|---|---|
| 1 | 1 | 4 | 964982703 |
- userId: de id van de gebruiker
- movieId De id van de film
- beoordeling: de beoordeling die de gebruiker voor de film heeft gemaakt
- timestamp: de tijdstempel die de beoordeling heeft gemaakt
Een Model Builder-configuratiebestand maken
Wanneer u Model Builder voor het eerst toevoegt aan de oplossing, wordt u gevraagd een mbconfig bestand te maken. Het mbconfig bestand houdt alles bij wat u in Model builder doet, zodat u de sessie opnieuw kunt openen.
- Klik in Solution Explorer met de rechtermuisknop op het project MovieRecommender en selecteer Machine Learning-model toevoegen>....
- Geef in het dialoogvenster het project Modelbouwer de naam MovieRecommender en klik op Toevoegen.
Een scenario kiezen
Als u uw model wilt trainen, moet u een keuze maken uit de lijst met beschikbare machine learning-scenario's van Model Builder.
Voor dit voorbeeld is de taak een aanbeveling. Selecteer in de scenariostap van het hulpprogramma Model builder het scenario Aanbeveling .
Een omgeving selecteren
Model builder kan de training uitvoeren in verschillende omgevingen, afhankelijk van het geselecteerde scenario.
Selecteer Lokaal als uw omgeving en klik op de knop Volgende stap .
De gegevens laden
- Selecteer in de gegevensstap van het hulpprogramma Modelbouwer de knop naast het tekstvak Een map selecteren .
- Gebruik Bestandenverkenner om het gedownloade bestand te bladeren en te selecteren -recommendation-ratings-train.csv.
- Selecteer de knop Volgende stap om naar de volgende stap in het hulpprogramma Modelbouwer te gaan.
- Zodra de gegevens zijn geladen, selecteert u beoordeling in de vervolgkeuzelijst Kolom om te voorspellen.
- Selecteer voor de vervolgkeuzelijst User columnde optie userId.
- Selecteer movieId voor de vervolgkeuzelijst Itemkolom.
Het model trainen
Het machine learning-algoritme dat wordt gebruikt om het aanbevelingsmodel te trainen, is Matrix Factorization. Tijdens het modeltrainingsproces gebruikt Model Builder verschillende instellingen voor het algoritme om het best presterende model voor uw gegevensset te vinden.
De tijd die het model nodig heeft om te trainen, is evenredig met de hoeveelheid gegevens. Model builder selecteert automatisch een standaardwaarde voor Tijd om te trainen (seconden) op basis van de grootte van uw gegevensbron.
- Model builder stelt de waarde van Tijd om te trainen (seconden) in op 60 seconden. Met training voor een langere periode kan Model Builder een groter aantal algoritmen en een combinatie van parameters verkennen op zoek naar het beste model.
- Klik op Training starten.
Tijdens het trainingsproces worden voortgangsgegevens weergegeven in de Training results sectie van de treinstap.
- Status geeft de voltooiingsstatus van het trainingsproces weer.
- Beste kwaliteit de R-kwadraat van het best presterende model dat tot nu toe door Model Builder is gevonden. De lagere R-kwadraat betekent dat het model correcter is voorspeld op basis van testgegevens.
- Beste algoritme geeft de naam weer van het best presterende algoritme dat tot nu toe door Model Builder is gevonden.
- Laatste algoritme geeft de naam weer van het algoritme dat het meest recent door Model Builder is gebruikt om het model te trainen.
Zodra de training is voltooid, bevat het mbconfig bestand het gegenereerde model met de naam MovieRecommender.zip na de training en twee C#-bestanden:
- MovieRecommender.consumption.cs: Dit bestand heeft een openbare methode
Predictwaarmee het model wordt geladen en een PredictionEngine wordt gemaakt om voorspellingen te doen. PredictionEngine is een handige API voor het maken van voorspellingen op één gegevensexemplaren. - MovieRecommender.training.cs: Dit bestand bestaat uit de trainingspijplijn die modelbouwer heeft bedacht om het beste model te bouwen, inclusief hyperparameters die zijn gebruikt.
Klik op de knop Volgende stap om naar de evaluatiestap te gaan.
Het model evalueren
Het resultaat van de trainingsstap is één model met de beste prestaties. In de evaluatiestap van het hulpprogramma Modelbouwer bevat in de sectie Beste model het algoritme dat wordt gebruikt door het best presterende model in de vermelding Model , samen met metrische gegevens voor dat model in RSquared.
Daarnaast ziet u in het venster Uitvoer van Visual Studio een overzichtstabel met de belangrijkste modellen en de bijbehorende metrische gegevens.
In deze sectie kunt u uw model ook testen door één voorspelling uit te voeren. Het biedt tekstvakken om waarden in te voeren voor elk van uw functiekolommen en u kunt de knop Voorspellen selecteren om een voorspelling te krijgen met behulp van het beste model. Standaard wordt dit ingevuld door de eerste rij in uw gegevensset.
(Optioneel) Het model gebruiken
Deze stap bevat projectsjablonen die u kunt gebruiken om het model te gebruiken. Deze stap is optioneel en u kunt de methode kiezen die het beste past bij uw behoeften voor het leveren van het model.
- Console-app
- Web-API
Console-app
Wanneer u een console-app aan uw oplossing toevoegt, wordt u gevraagd het project een naam te geven.
Selecteer Toevoegen aan oplossing voor de consolesjabloon.
Noem het consoleproject MovieRecommender_Console.
Klik op Toevoegen aan oplossing om het project toe te voegen aan uw huidige oplossing.
Voer de toepassing uit.
De uitvoer die door het programma wordt gegenereerd, moet er ongeveer uitzien als in het onderstaande fragment:
UserId: 1 MovieId: 1 Rating: 4 Predicted Rating: 4.577113
Web-API
Wanneer u een web-API toevoegt aan uw oplossing, wordt u gevraagd om het project een naam te geven.
Selecteer Toevoegen aan oplossing voor de web-API-sjabloon.
Noem het web-API-project MovieRecommender_WebApi.
Klik op Toevoegen aan oplossing* om het project toe te voegen aan uw huidige oplossing.
Voer de toepassing uit.
Open PowerShell en voer de volgende code in, waarbij PORT de poort is waarop uw toepassing luistert.
$body = @{ UserId=1.0 MovieId=1.0 } Invoke-RestMethod "https://localhost:<PORT>/predict" -Method Post -Body ($body | ConvertTo-Json) -ContentType "application/json"Als dit lukt, moet de uitvoer er ongeveer uitzien als de onderstaande tekst. De score-uitvoer is de voorspelde beoordeling voor de aangevraagde gebruikers-id en film-id.
score ----- 4.577113
Gefeliciteerd U hebt een machine learning-model gebouwd om het risico van statusschendingen te categoriseren met Behulp van Model Builder. U vindt de broncode voor deze zelfstudie in de GitHub-opslagplaats dotnet/machinelearning-samples .
Aanvullende resources
Ga naar de volgende bronnen voor meer informatie over onderwerpen die in deze zelfstudie worden genoemd:
