Kies uw scenario en bereid gegevens voor
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:
- Kies uw gegevensbrontype.
- Geef de locatie van uw gegevens op.
- 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.