Machine Learning (ML) is uitgegroeid van een modewoord dat leuk is om in je applicatie te hebben tot een onmisbare functie die werkt en waarde toevoegt. Gegevenswetenschappers ontwikkelen ML-modellen in verschillende ML-frameworks zoals TensorFlow, Scikit-learn, PyTorch, Azure ML, enz. Voordat ML.NET beschikbaar kwam voor alle ontwikkelaars, vereiste het toevoegen van de ML-functionaliteit aan .NET-toepassingen kennis van sommige ML-frameworks om te bouwen en ML-modellen trainen. Het vergde ook extra tijd en moeite om dat model te integreren in .NET-applicaties.
ML.NET maakte deze taak een stuk eenvoudiger voor .NET-ontwikkelaars met Model Builder, een grafische Visual Studio-extensie voor het bouwen, trainen en implementeren van aangepaste ML-modellen. Met de Model Builder en de AutoML-functionaliteit van ML.NET kunnen ontwikkelaars die geen ervaring hebben met machine learning, zoals ikzelf, toch binnen enkele minuten ML-modellen ontwikkelen en gebruiken.
Over ML.NET
Voordat we in ons voorbeeld duiken, laten we het eerst hebben over de geschiedenis van ML.NET en de huidige staat ervan.
ML.NET vindt zijn oorsprong in het Microsoft Research-project uit 2002, genaamd TMSN, wat staat voor 'test mining search and navigation'. Later werd het omgedoopt tot TLC, "de leercode". ML.NET war afgeleid van de TLC-bibliotheek. Aanvankelijk werd het gebruikt op interne Microsoft-producten.
De eerste openbaar beschikbare versie ML.NET 1.0 werd uitgebracht in 2019. Het bevatte de invoegtoepassing Model Builder en AutoML (Automated Machine Learning)-mogelijkheden.
De huidige versie is 1.6.0. Meer details over alle releases zijn te vinden op de officiële ML.NET release-pagina.
Enkele taken die we kunnen doen met ML.NET zijn:
– Sentimentanalyse
– Productaanbeveling
– Prijsvoorspelling
– Klantsegmentatie
– Objectdetectie
– Fraudedetectie
– Detectie van verkooppieken
– Beeldclassificatie
– Verkoopprognoses
Installeren en instellen
De minimaal vereiste Visual Studio-versie is 16.6.1. De volgende stappen worden uitgevoerd in Visual Studio 16.9.2. Dus als je een andere versie gebruikt, kunnen sommige details anders zijn.
Installeer ML.NET Model Builder
- Open Visual Studio Installer
- Controleer de .NET desktop ontwikkeling optie
- Klap in het rechterdeelvenster .NET desktop development> . uit uitvouwen Optioneel > controleer ML.NET Model Builder (preview)
Opmerking:ML.NET Model Builder is beschikbaar op de .NET platformonafhankelijke ontwikkeling optie.
ML.NET Model Builder inschakelen in Visual Studio
- Ga naar Extra > Opties > Omgeving > Preview-functies
- Controleer de Enable ML.NET Model Builder selectievakje
ML-model bouwen
Klik met de rechtermuisknop op het project en selecteer Toevoegen > Machineleren
Selecteer een scenario
Selecteer Tekstclassificatie – we zullen een eenvoudige functie voor sentimentanalyse toevoegen:
Selecteer trainingsomgeving
In ons geval is het een lokale machine.
Gegevens toevoegen
We gebruiken het UCI Sentiment Labeled Sentences dataset ZIP-bestand beschikbaar om te downloaden.
Selecteer de uitvoer die u wilt voorspellen
In ons geval is dit de tweede kolom, dus we zullen col1 . selecteren . De invoerkolommen worden automatisch geselecteerd omdat we slechts twee kolommen beschikbaar hebben.
Train het model
Selecteer de tijd om te trainen en klik op Start training :
De onderstaande afbeeldingen tonen de output en trainingsresultaten:
Evalueer het model
Als we Janice was leuk invoeren in de voorbeeldgegevensinvoer, laat de uitvoer zien dat deze zin met 100% zekerheid positief is:
Als we invoeren Janice was onbeleefd in de voorbeeldgegevensinvoer, toont de uitvoer dat deze zin met 100% zekerheid niet positief is:
Het ML-model implementeren en gebruiken
Het enige dat overblijft is om het model te gebruiken dat we in onze applicatie hebben gebouwd. We moeten een verwijzing naar ons ML-modelproject toevoegen.
We moeten ook Microsoft.ML van NuGet installeren.
Microsoft.ML ondersteunt alleen x64 en x86 processorarchitectuur. Zorg er dus voor dat u een van deze selecteert bij het bouwen van de app.
En dat is alles. Hier kunnen we onze code in actie zien.
Conclusie
Het hele proces van het installeren van ML.NET tot de eerste applicatie met ML-functionaliteit kan in enkele minuten worden gedaan. Het is natuurlijk een heel eenvoudig voorbeeld met als enig doel om vertrouwd te raken met het ML.NET-framework. Maar zelfs zonder eerdere ervaring zou ik een applicatie kunnen bouwen die, met wat aanpassingen en verbeteringen, echt kan werken in een realistisch scenario.
Dat gezegd hebbende, ML.NET is een hulpmiddel. U kunt het efficiënter gebruiken met meer kennis over algoritmen en principes voor machine learning.
Bedankt dat je je aan het einde hebt gehouden en ik hoop dat je meedoet in het volgende artikel op ML.NET.