Kies uw scenario en bereid gegevens voor

Voltooid

In deze les leert u hoe u een scenario kiest, een trainingsomgeving selecteert en uw gegevens voorbereidt voor training in Model Builder.

Het trainingsproces starten

Als u het trainingsproces wilt starten, moet u een nieuw Machine Learning Model-item (ML.NET) toevoegen aan een nieuwe of bestaande .NET-toepassing.

Tip

Portability is een van de voordelen die klassenbibliotheken u bieden. Met klassebibliotheken kunt u eenvoudig verwijzen naar alle modellen die deel uitmaken van de console, desktop, web en elk ander type .NET-toepassing. U wordt aangeraden machine learning-modelitems (ML.NET) toe te voegen aan een klassebibliotheek.

Met het item Machine Learning Model (ML.NET) wordt een bestand aan uw project toegevoegd met de bestandsextensie .mbconfig . Bestanden die de extensie .mbconfig gebruiken, zijn Model Builder-configuratiebestanden die zijn geschreven in JSON. Met deze bestanden kunt u het volgende doen:

  • Geef een naam op voor uw model.
  • Werk samen met anderen aan uw team via broncodebeheer.
  • Status behouden. Als u op enig moment in het trainingsproces modelbouwer moet sluiten, wordt uw status opgeslagen en kunt u de locatie ophalen waar u was gebleven.

Een scenario selecteren

De eerste stap voor het trainen van een machine learning-model is het bepalen welk scenario en welke machine learning-taak het meest geschikt is, gezien wat u probeert te voorspellen.

Wat is een scenario?

In een scenario wordt het probleem beschreven dat u probeert op te lossen met behulp van uw gegevens. Veelvoorkomende scenario's zijn de scenario's die in de vorige les worden vermeld:

  • Gegevens categoriseren: nieuwsartikelen organiseren op onderwerp.
  • Een numerieke waarde voorspellen: Schat de prijs van een woning in.
  • Items groeperen met vergelijkbare kenmerken: Segmentklanten.
  • Afbeeldingen classificeren: Tag een afbeelding op basis van de inhoud.
  • Aanbevolen items: Films aanbevelen.
  • Objecten in een afbeelding detecteren: voetgangers en fietsen detecteren op een kruispunt.

De scenario's zijn toegewezen aan machine learning-taken. Een machine learning-taak is het type voorspelling of deductie dat wordt gemaakt, op basis van het probleem of de vraag die wordt gesteld en de beschikbare gegevens.

Machine learning-taken vallen meestal in twee categorieën:

  • Begeleid
  • Zonder supervisie

Het belangrijkste verschil is of het label of de waarde die u probeert te voorspellen, al dan niet bekend is.

Voor taken onder supervisie staat het label bekend. Voorbeelden van machine learning-taken onder supervisie zijn:

  • Indeling
    • Binair (twee categorieën)
    • Meerdere klassen (twee of meer categorieën)
    • Afbeelding
  • Regressie

Voor taken zonder supervisie is het label onbekend. Voorbeelden van machine learning-taken zonder supervisie zijn:

  • Clustering
  • Anomaliedetectie

Ondersteunde scenario's in Model Builder

Model Builder ondersteunt de volgende scenario's die zijn toegewezen aan machine learning-taken:

Scenario Machine learning-taak Gebruiksscenario
Gegevensclassificatie Classificatie van binaire en meerdere klassen Artikelen organiseren op onderwerp.
Waardevoorspelling Lineaire regressie Voorspel de prijs van een woning op basis van kenmerken van het huis.
Afbeeldingsclassificatie Afbeeldingsclassificatie (deep learning) Organiseer afbeeldingen op diersoorten op basis van de inhoud van een afbeelding.
Aanbeveling Aanbeveling Aanbevolen films op basis van de voorkeuren van vergelijkbare gebruikers.
Objectdetectie Objectdetectie (deep learning) Fysieke schade in een afbeelding identificeren.

Een scenario kiezen voor voorspellend onderhoud

Afhankelijk van hoe uw gegevens eruit zien, kan het voorspellende onderhoudsprobleem worden gemodelleerd via verschillende taken. Voor uw use-case is het label een binaire waarde (0 of 1) die beschrijft of een machine is verbroken of niet, het scenario voor gegevensclassificatie is geschikt.

Uw omgeving kiezen

Nu u de gegevensclassificatie hebt geselecteerd, is het tijd om de omgeving te kiezen waarin u uw machine learning-model wilt trainen. Omgevingen beschrijven de rekenresources die u gaat gebruiken om uw machine learning-model te trainen.

Ondersteunde omgevingen in Model Builder

Model Builder ondersteunt de volgende omgevingsopties:

Scenario Lokale CPU Lokale GPU Azure GPU
Gegevensclassificatie ✔️
Waardevoorspelling ✔️
Afbeeldingsclassificatie ✔️ ✔️ ✔️
Aanbeveling ✔️
Objectdetectie ✔️

Afhankelijk van uw use-case zijn er verschillende redenen waarom u een lokale of Azure-omgeving kunt kiezen.

Lokale omgevingen

Redenen waarom u lokale rekenomgevingen kunt overwegen, zijn onder andere:

  • Lokaal trainen kost u niets omdat u de resources van uw computer gebruikt.
  • U wilt niet dat uw gegevens uw computer of datacenter verlaten.

Azure-omgevingen

Scenario's zoals afbeeldingsclassificatie en objectdetectie zijn resource-intensief. Met behulp van een GPU kan het trainingsproces vaak worden versneld. Als u geen GPU of computer met voldoende CPU of RAM hebt, kan het offloaden van het trainingsproces naar Azure de belasting van uw systeem verlichten.

Uw gegevens laden en voorbereiden

Nu uw scenario en trainingsomgeving zijn geselecteerd, is het tijd om uw gegevens te laden en voor te bereiden.

Gegevens zijn het belangrijkste onderdeel voor het bouwen van machine learning-modellen. Het proces voor het laden van gegevens in Model Builder bestaat uit drie stappen:

  1. Kies uw gegevensbrontype.
  2. Geef de locatie van uw gegevens op.
  3. Kies kolomdoel.

Kies uw gegevensbrontype

Afhankelijk van uw scenario ondersteunt Model Builder het laden van gegevens uit de volgende bronnen:

  • Bestanden met scheidingstekens (komma, puntkomma en tabblad)
  • Lokale en externe SQL Server-databases
  • Afbeeldingen (.jpg en .png)

Geef de locatie van uw gegevens op

Nadat u het gegevensbrontype hebt geselecteerd, moet u de locatie opgeven waar uw gegevensset is opgeslagen. Deze locatie kan een map, bestandspad of database verbindingsreeks zijn. Dit is afhankelijk van het scenario en het gegevensbrontype dat u hebt geselecteerd.

Wanneer een gegevensbron is geselecteerd in Model Builder, worden de gegevens geparseerd en wordt de beste poging gedaan om het volgende te identificeren:

  • Kop- en kolomnamen
  • Kolomscheidingsteken
  • Kolomgegevenstypen
  • Kolomdoel
  • Decimaaltekens

Nadat de gegevens zijn geladen, geeft Model Builder een voorbeeld weer van enkele elementen in uw gegevensset.

Kolomdoel kiezen

Afhankelijk van het scenario dat u kiest, moet u het doel van bepaalde kolommen definiëren. In scenario's zoals gegevensclassificatie en waardevoorspelling moet u kiezen welke van uw kolommen de kolom is die u wilt voorspellen (label).

Standaard worden alle andere kolommen die niet het label zijn, gebruikt als functies. Functies zijn kolommen die worden gebruikt als invoer om het label te voorspellen.

Geavanceerde gegevensopties

Model Builder biedt geavanceerde gegevensopties om aan te passen hoe uw gegevens worden geladen. Met deze opties kunt u instellingen aanpassen die betrekking hebben op de opmaak van uw kolommen en gegevenssets.

Voor kolommen kunt u de volgende instellingen kiezen:

  • Doel: Moet de kolom een functie zijn, een label zijn of worden genegeerd? U kunt slechts één kolom als label selecteren.
  • Gegevenstype: Is de waarde een floatwaarde met één precisie, tekenreeks of Booleaanse waarde?
  • Categorisch: Staat de kolom voor een categorische waarde (bijvoorbeeld: laag, gemiddeld of hoog)?

Als u gegevens wilt opmaken, kunt u kiezen of de gegevens kolomkoppen, het kolomscheidingsteken (komma, puntkomma of tab) en het scheidingsteken voor decimalen (punt of komma) bevatten.

Informatie over de gegevensset voor predictief onderhoud

De gegevensset die in deze module wordt gebruikt, is de AI4I 2020 Predictive Maintenance Dataset. Deze synthetische gegevensset weerspiegelt echte voorspellende onderhoudsgegevens die in de branche zijn aangetroffen. Het bestaat uit 10.000 gegevenspunten en 14 kolommen. Het is van:

Uitlegbare kunstmatige intelligentie voor toepassingen voor voorspellend onderhoud, StephanMat, derde internationale conferentie over kunstmatige intelligentie voor industrieën (AI4I 2020), 2020 (in pers) en gehost in de UCI Machine Learning Repository - Dua, D. en Graff, C. (2019). UCI Machine Learning Repository http://archive.ics.uci.edu/ml. Irvine, CA: University of California, School of Information and Computer Science.

Hier volgt een voorbeeld van hoe de gegevens eruit zien:

UDI Product-id Type Luchttemperatuur [K] Procestemperatuur [K] Draaisnelheid [rpm] Koppel [Nm] Slijtage van gereedschap [min] Computerfout TWF HDF PWF OSF RNF
1 M14860 M 298.1 308.6 1551 42.8 0 0 0 0 0 0 0
162 L47341 L 298.3 308.1 1412 52.3 218 1 0 0 0 1 0

De kolommen worden als volgt gedefinieerd:

  • UDI: De index van de rij.
  • Product-id: een product-id die een producttypecategorie en een variantspecifiek serienummer bevat.
  • Type: Productkwaliteitscategorie. De waarden zijn L (laag; 50% van alle producten), M (gemiddeld; 30%), of H (hoog; 20%).
  • Luchttemperatuur [K], Procestemperatuur [K], Rotatiesnelheid [rpm], Koppel [Nm], Gereedschap dragen [min]: Waarden verzameld van sensoren.
  • Computerfout: Binair label (0 of 1) dat aangeeft of de machine is mislukt.
  • TWF, HDF, PWF, OSF, RNF: Onafhankelijke machinefoutmodi. Een waarde van 1 geeft aan dat de respectieve foutmodus is opgetreden.

Voor dit scenario gebruikt u niet alle kolommen in de gegevensset, omdat ze de voorspelling niet informeren of redundante informatie bevatten.

Omdat u wilt kunnen voorspellen of een machine mislukt of niet, is de kolom Machinefout het label. In Model Builder kunt u voor functies gegevens uit de kolommen Product-id, Type en verschillende sensor gebruiken.

Hoewel de foutmodi handig zijn bij het diagnosticeren van de hoofdoorzaak van een fout, zijn ze niet nuttig voor uw use-case. De reden hiervoor is dat u alleen wilt weten of een machine is mislukt of niet. Daarnaast wordt vergelijkbare informatie al vastgelegd door de kolom Machinefout . U kunt deze kolommen dus negeren.

Ga verder met de volgende les om uw kennis over scenario's, omgevingen en gegevensvoorbereiding te controleren.