Delen via


Zelfstudie: Ontwerper - een regressiemodel zonder code trainen

Train een lineair regressiemodel dat autoprijzen voorspelt met behulp van de Azure Machine Learning-ontwerpfunctie. Deze zelfstudie is deel één van een serie van twee.

In deze zelfstudie wordt gebruikgemaakt van de Azure Machine Learning-ontwerpfunctie. Zie Wat is Azure Machine Learning Designer? voor meer informatie.

Notitie

Designer ondersteunt twee typen onderdelen: klassieke vooraf samengestelde onderdelen (v1) en aangepaste onderdelen (v2). Deze twee typen onderdelen zijn NIET compatibel.

Klassieke vooraf samengestelde onderdelen bieden vooraf gebouwde onderdelen voor het grootste gedeelte voor gegevensverwerking en traditionele machine learning-taken, zoals regressie en classificatie. Dit type onderdeel wordt nog steeds ondersteund, maar er worden geen nieuwe onderdelen toegevoegd.

Met aangepaste onderdelen kunt u uw eigen code als onderdeel verpakken. Het ondersteunt het delen van onderdelen tussen werkruimten en naadloze creatie in studio-, CLI v2- en SDK v2-interfaces.

Voor nieuwe projecten raden we u ten zeerste aan om een aangepast onderdeel te gebruiken dat compatibel is met AzureML V2 en dat nieuwe updates blijft ontvangen.

Dit artikel is van toepassing op klassieke vooraf gebouwde onderdelen en niet compatibel met CLI v2 en SDK v2.

In deel één van de zelfstudie leert u het volgende:

  • Een nieuwe pijplijn maken.
  • Gegevens importeren.
  • Gegevens voorbereiden.
  • Een machine learning-model trainen.
  • Een machine learning-model evalueren.

In deel twee van de zelfstudie implementeert u uw model als een realtime deductie-eindpunt om de prijs van een auto te voorspellen op basis van technische specificaties die u verzendt.

Notitie

Een voltooide versie van deze zelfstudie is als voorbeeldpijplijn beschikbaar.

Ga naar de ontwerpfunctie in uw werkruimte om deze te zoeken. In de sectie Nieuwe pijplijn selecteert u Voorbeeld 1 - Regressie: Voorspelling van de autoprijs (basis) .

Belangrijk

Als u grafische elementen die in dit document worden vermeld, zoals knoppen in Studio of Designer, niet ziet, hebt u mogelijk niet het juiste machtigingsniveau voor de werkruimte. Neem contact op met de beheerder van uw Azure-abonnement om te controleren of u het juiste toegangsniveau hebt gekregen. Zie Gebruikers en rollen beherenvoor meer informatie.

Een nieuwe pijplijn maken

Met Azure Machine Learning-pijplijnen kunnen meerdere stappen voor machine learning en gegevensverwerking in één resource worden georganiseerd. Met pijplijnen kunt u complexe machine learning-workflows voor verschillende projecten en gebruikers organiseren, beheren en opnieuw gebruiken.

Als u een Azure Machine Learning-pijplijn wilt maken, hebt u een Azure Machine Learning-werkruimte nodig. In deze sectie leert u hoe u deze beide resources maakt.

Een nieuwe werkruimte maken

Als u de ontwerpfunctie wilt gebruiken, hebt u een Azure Machine Learning-werkruimte nodig. De werkruimte is de resource op het hoogste niveau voor Azure Machine Learning en biedt een gecentraliseerde werkplek met alle artefacten die u in Azure Machine Learning maakt. Zie Werkruimteresources maken voor instructies over het maken van een werkruimte.

Notitie

Als uw werkruimte gebruikmaakt van een virtueel netwerk, zijn er aanvullende configuratiestappen om de ontwerpfunctie te kunnen gebruiken. Zie Azure Machine Learning Studio gebruiken in een virtueel Azure-netwerk voor meer informatie

Maak de pijplijn

Notitie

Designer ondersteunt twee typen onderdelen: klassieke vooraf gemaakte onderdelen en aangepaste onderdelen. Deze twee typen onderdelen zijn niet compatibel.

Klassieke vooraf gemaakte onderdelen bieden vooraf gedefinieerde onderdelen voor de verwerking van gegevens en traditionele machine learning-taken, zoals regressie en classificatie. Dit type onderdeel wordt nog steeds ondersteund, maar er worden geen nieuwe onderdelen toegevoegd.

Met aangepaste onderdelen kunt u uw eigen code als onderdeel opgeven. Het biedt ondersteuning voor delen tussen werkruimten en naadloze creatie in Studio-, CLI- en SDK-interfaces.

Dit artikel is van toepassing op klassieke vooraf gemaakte onderdelen.

  1. Meld u aan op ml.azure.com en selecteer de werkruimte waar u mee wilt werken.

  2. Selecteer Designer ->Vooraf gedefinieerd klassiek

    Schermopname van de visuele werkruimte die laat zien hoe u toegang tot de ontwerpfunctie kunt krijgen.

  3. Selecteer Een nieuwe pijplijn maken met klassieke vooraf gemaakte onderdelen.

  4. Klik op het potloodpictogram naast de automatisch gegenereerde conceptnaam van de pijplijn en wijzig de naam ervan in Autoprijsvoorspelling. De naam hoeft niet uniek te zijn.

Schermopname van potloodpictogram om de conceptnaam van de pijplijn te wijzigen.

Het standaardrekendoel instellen

Een pijplijn voert uit op een rekendoel. Dit is een rekenresource die is gekoppeld aan uw werkruimte. Nadat u een rekendoel hebt gemaakt, kunt u dit opnieuw gebruiken voor toekomstige taken.

Belangrijk

Gekoppelde rekenkracht wordt niet ondersteund. Gebruik in plaats daarvan rekeninstanties of -clusters .

U kunt een standaard rekendoel instellen voor de hele pijplijn, zodat elk onderdeel standaard hetzelfde rekendoel moet gebruiken. U kunt echter ook rekendoelen per module opgeven.

  1. Selecteer Schermopname van het tandwielpictogram in de gebruikersinterface.Instellingen rechts van het canvas om het deelvenster Instellingen te openen.

  2. Selecteer Azure Machine Learning-rekenproces maken.

    • Als u al een beschikbaar rekendoel hebt, kunt u dit selecteren in de vervolgkeuzelijst Azure Machine Learning-rekenexemplaren selecteren om deze pijplijn uit te voeren.

    • Of selecteer Serverloos om serverloze rekenkracht (preview) te gebruiken.

  3. Voer een naam in voor de rekenresource.

  4. Selecteer Maken.

    Notitie

    Het duurt ongeveer vijf minuten om een rekenresource te maken. Nadat de resource is gemaakt, kunt u deze opnieuw gebruiken en deze wachttijd voor toekomstige taken overslaan.

    De schaal van de rekenresource wordt automatisch aangepast naar nul knooppunten wanneer deze inactief is, om kosten te besparen. Wanneer u de resource na een vertraging opnieuw nodig hebt, duurt het mogelijk ongeveer vijf minuten voordat de schaal weer terug is gezet.

Gegevens importeren

Er zijn diverse voorbeeldgegevenssets meegeleverd in de ontwerpfunctie waarmee u kunt experimenteren. Voor deze zelfstudie gebruikt u Automobile price data (Raw) .

  1. Links van het pijplijncanvas ziet u een palet met gegevenssets en onderdelen. Selecteer Onderdeel ->Voorbeeldgegevens.

  2. Selecteer de gegevensset Automobile price data (Raw) en sleep deze naar het canvas.

    Gif van het slepen van de autoprijsgegevens naar het canvas.

De gegevens visualiseren

U kunt de gegevens visualiseren voor meer informatie over de gegevensset die u gebruikt.

  1. Klik met de rechtermuisknop op de automobile price data (Raw) en selecteer Preview Data.

  2. Selecteer de verschillende kolommen in het gegevensvenster om informatie over elke kolom weer te geven.

    Elke auto wordt weergegeven als een rij. De variabelen die aan elke auto zijn gekoppeld, worden weergegeven als kolommen. Er zijn 205 rijen en 26 kolommen in deze gegevensset.

Gegevens voorbereiden

Voor gegevenssets moet u doorgaans enige verwerking vooraf uitvoeren voordat u de analyse kunt uitvoeren. U hebt wellicht al gezien dat er een aantal waarden ontbreekt toen u de gegevensset inspecteerde. Deze ontbrekende waarden moeten worden opgeschoond, zodat de gegevens correct kunnen worden geanalyseerd.

Een kolom verwijderen

Wanneer u een model traint, moet u iets doen aan de ontbrekende gegevens. In deze gegevensset ontbreken in de kolom normalized-losses veel waarden, dus u sluit die kolom helemaal uit van het model.

  1. Klik in het palet met gegevenssets en onderdelen links van het canvas op Onderdeel en zoek naar het onderdeel Kolommen in gegevensset selecteren .

  2. Sleep het onderdeel Select Columns in Dataset naar het canvas. Plaats het onderdeel onder het gegevenssetonderdeel.

  3. Verbind de gegevensset Automobile price data (Raw) met het onderdeel Select Columns in Dataset . Sleep vanaf de uitvoerpoort van de gegevensset, de kleine cirkel onder aan de gegevensset op het canvas, naar de invoerpoort van Kolommen selecteren in gegevensset. Dit is de kleine cirkel boven aan het onderdeel.

    Tip

    U maakt een gegevensstroom door uw pijplijn wanneer u de uitvoerpoort van het ene onderdeel verbindt met een invoerpoort van een ander onderdeel.

    Schermopname van het verbinden van het onderdeel Automobile price data om kolommen in het gegevenssetonderdeel te selecteren.

  4. Selecteer het onderdeel Select Columns in Dataset .

  5. Klik op het pijlpictogram onder Instellingen rechts van het canvas om het detailvenster van het onderdeel te openen. U kunt ook dubbelklikken op het onderdeel Kolommen in gegevensset selecteren om het detailvenster te openen.

  6. Selecteer Kolom bewerken rechts van het deelvenster.

  7. Vouw de vervolgkeuzelijst Kolomnamen naast Opnemen uit en selecteer Alle kolommen.

  8. Selecteer de + om een nieuwe regel toe te voegen.

  9. Bij de vervolgkeuzemenu's selecteert u Uitsluiten en Kolomnamen.

  10. Voer normalized-losses in het tekstvak in.

  11. Rechtsonder selecteert u Opslaan om de kolomselector te sluiten.

    Schermopname van geselecteerde kolommen met uitsluiten gemarkeerd.

  12. Vouw in het deelvenster Details van het onderdeel Kolommen selecteren in gegevenssetde optie Knooppuntgegevens uit.

  13. Selecteer het tekstvak Opmerking en voer Genormaliseerde verliezen uitsluiten in.

    Opmerkingen worden op de grafiek weergegeven om uw pijplijn te helpen organiseren.

Ontbrekende gegevens opschonen

Er ontbreken nog steeds waarden in uw gegevensset nadat u de kolom normalized-losses hebt verwijderd. U kunt de resterende ontbrekende gegevens verwijderen met behulp van het onderdeel Ontbrekende gegevens opschonen .

Tip

Het opschonen van de ontbrekende waarden uit invoergegevens is een vereiste voor het gebruik van de meeste onderdelen in de ontwerpfunctie.

  1. Klik in het palet met gegevenssets en onderdelen links van het canvas op Onderdeel en zoek naar het onderdeel Ontbrekende gegevens opschonen .

  2. Sleep het onderdeel Clean Missing Data naar het pijplijncanvas. Verbind het met het onderdeel Select Columns in Dataset .

  3. Selecteer het onderdeel Clean Missing Data .

  4. Klik op het pijlpictogram onder Instellingen rechts van het canvas om het detailvenster van het onderdeel te openen. U kunt ook dubbelklikken op het onderdeel Ontbrekende gegevens opschonen om het detailvenster te openen.

  5. Selecteer Kolom bewerken rechts van het deelvenster.

  6. In het venster Kolommen die moeten worden gewist dat wordt weergegeven, vouwt u het vervolgkeuzemenu naast Invoegen uit. Selecteer Alle kolommen

  7. Selecteer Opslaan

  8. Selecteer in het deelvenster Details van ontbrekende gegevens opschonen onder Opschoningsmodus de optie Hele rij verwijderen.

  9. Vouw in het deelvenster Details van ontbrekende gegevens opschonende optie Knooppuntgegevens uit.

  10. Selecteer het tekstvak Opmerking en voer rijen met ontbrekende waarden verwijderen in.

    Uw pijplijn ziet er als volgt uit:

    Schermopname van autoprijsgegevens die zijn verbonden met geselecteerde kolommen in het gegevenssetonderdeel, dat is verbonden met het opschonen van ontbrekende gegevens.

Een machine learning-model trainen

Nu u de onderdelen hebt om de gegevens te verwerken, kunt u de trainingsonderdelen instellen.

Omdat u de prijs wilt voorspellen, wat een getal is, gebruikt u een regressiealgoritme. In dit voorbeeld gebruikt u een lineair regressiemodel.

De gegevens splitsen

Het splitsen van gegevens is een algemene taak bij machine learning. U splitst uw gegevens op in twee afzonderlijke gegevenssets. Met de ene gegevensset wordt het model getraind en met de andere gegevensset wordt getest hoe goed het model presteert.

  1. Klik in het palet met gegevenssets en onderdelen links van het canvas op Onderdeel en zoek naar het onderdeel Split Data .

  2. Sleep het onderdeel Split Data naar het pijplijncanvas.

  3. Verbind de linkerpoort van het onderdeel Clean Missing Data met het onderdeel Split Data .

    Belangrijk

    Zorg ervoor dat de linkeruitvoerpoort van Clean Missing Data verbinding maakt met Split Data. De linkerpoort bevat de opgeschoonde gegevens. De rechterpoort bevat de verwijderde gegevens.

  4. Selecteer het onderdeel Gegevens splitsen .

  5. Klik op het pijlpictogram onder Instellingen rechts van het canvas om het detailvenster van het onderdeel te openen. U kunt ook dubbelklikken op het onderdeel Split Data om het detailvenster te openen.

  6. Stel in het detailvenster Gegevens splitsen de breuk van rijen in de eerste uitvoergegevensset in op 0,7.

    Met deze optie wordt 70% van de gegevens gebruikt om het model te trainen en 30% om het model te testen. De gegevensset van 70% is toegankelijk via de linkeruitvoerpoort. De resterende gegevens zijn beschikbaar via de rechteruitvoerpoort.

  7. Vouw in het deelvenster Gegevens splitsen de optie Knooppuntgegevens uit.

  8. Selecteer het tekstvak Opmerking en voer De gegevensset splitsen in trainingsset (0.7) en testset (0.3) in.

Het model trainen

Train het model door hiervoor een gegevensset te gebruiken waarin de prijs een van de elementen is. Het algoritme bouwt een model waarmee de relatie tussen de functies en de prijs wordt uitgelegd, zoals dat uit de trainingsgegevens blijkt.

  1. Klik in het palet met gegevenssets en onderdelen links van het canvas op Onderdeel en zoek naar het onderdeel Lineaire regressie .

  2. Sleep het onderdeel Linear Regression naar het pijplijncanvas.

  3. Klik in het palet met gegevenssets en onderdelen links van het canvas op Onderdeel en zoek naar het onderdeel Model trainen .

  4. Sleep het onderdeel Train Model naar het pijplijncanvas.

  5. Verbind de uitvoer van het onderdeel Linear Regression met de linkerinvoer van het onderdeel Train Model .

  6. Koppel de uitvoer van trainingsgegevens (linkerpoort) van het onderdeel Split Data aan de rechterinvoer van het onderdeel Train Model .

    Belangrijk

    Zorg ervoor dat de linkeruitvoerpoort van Split Data verbinding maakt met Train Model. De linkerpoort bevat de trainingsset. De rechterpoort bevat de testset.

    Schermopname van de lineaire regressie maakt verbinding met de linkerpoort van Train Model en de Split Data maakt verbinding met de rechterpoort van Train Model.

  7. Selecteer het onderdeel Model trainen .

  8. Klik op het pijlpictogram onder Instellingen rechts van het canvas om het detailvenster van het onderdeel te openen. U kunt ook dubbelklikken op het onderdeel Model trainen om het detailvenster te openen.

  9. Selecteer Kolom bewerken rechts van het deelvenster.

  10. Vouw in het venster Labelkolom dat wordt weergegeven de vervolgkeuzelijst uit en selecteer Kolomnamen.

  11. In het tekstvak voert u price in om de waarde op te geven die door uw model gaat worden voorspeld.

    Belangrijk

    Zorg ervoor dat u de kolomnaam exact opgeeft. Gebruik geen hoofdletters in het woord price.

    Uw pijplijn ziet er als volgt uit:

    Schermopname van de juiste configuratie van de pijplijn na het toevoegen van het onderdeel Train Model.

Het onderdeel Score Model toevoegen

Nadat u uw model hebt getraind aan de hand van 70% van de gegevens, kunt u dit gebruiken om de overige 30% van een score te voorzien, om te zien hoe goed uw model werkt.

  1. Klik in het palet met gegevenssets en onderdelen links van het canvas op Onderdeel en zoek naar het onderdeel Score Model .

  2. Sleep het onderdeel Score Model naar het pijplijncanvas.

  3. Verbind de uitvoer van het onderdeel Train Model met de linkerinvoerpoort van Score Model. Koppel de uitvoer van testgegevens (rechterpoort) van het onderdeel Split Data aan de rechterinvoerpoort van Score Model.

Het onderdeel Evaluate Model toevoegen

Gebruik het onderdeel Model evalueren om te evalueren hoe goed uw model de testgegevensset heeft gescoord.

  1. Klik in het palet met gegevenssets en onderdelen links van het canvas op Onderdeel en zoek naar het onderdeel Model evalueren .

  2. Sleep het onderdeel Evaluate Model naar het pijplijncanvas.

  3. Koppel de uitvoer van het onderdeel Score Model aan de linkerinvoer van Evaluate Model.

    De uiteindelijke pijplijn ziet er als volgt uit:

    Schermopname met de juiste configuratie van de pijplijn.

De pijplijn indienen

Nu uw pijplijn volledig is ingesteld, kunt u een pijplijntaak indienen om uw machine learning-model te trainen. U kunt op elk gewenst moment een geldige pijplijntaak indienen, die kan worden gebruikt om wijzigingen in uw pijplijn te controleren tijdens de ontwikkeling.

  1. Bovenaan het canvas selecteert u Indienen.

  2. Selecteer in het dialoogvenster Pijplijntaak instellen de optie Nieuwe maken.

    Notitie

    Experimenten groeperen vergelijkbare pijplijntaken. Als u een pijplijn meerdere keren uitvoert, kunt u hetzelfde experiment selecteren voor opeenvolgende taken.

    1. Voer Zelfstudie-CarPrices in voor Naam van nieuw experiment.

    2. Selecteer Indienen.

    3. U ziet een inzendingslijst in het linkerdeelvenster van het canvas en er verschijnt een melding in de rechterbovenhoek van de pagina. U kunt de koppeling Taakdetails selecteren om naar de pagina met taakgegevens te gaan voor foutopsporing.

      Schermopname van de lijst met ingediende taken met een melding dat het is gelukt.

    Als dit de eerste taak is, kan het tot 20 minuten duren voordat uw pijplijn is voltooid. De standaardrekeninstellingen hebben een minimale knooppuntgrootte van 0, wat betekent dat de ontwerpfunctie na inactiviteit resources moet toewijzen. Herhaalde pijplijntaken nemen minder tijd in beslag omdat de rekenresources al zijn toegewezen. Daarnaast gebruikt de ontwerpfunctie resultaten in de cache voor elk onderdeel om de efficiëntie verder te verbeteren.

Gescoorde labels weergeven

Op de pagina met taakgegevens kunt u de status, resultaten en logboeken van de pijplijntaak controleren.

Schermopname van de detailpagina van de pijplijntaak.

Nadat de taak is voltooid, kunt u de resultaten van de pijplijntaak bekijken. Kijk eerst naar de voorspellingen die door het regressiemodel zijn gegenereerd.

  1. Klik met de rechtermuisknop op het onderdeel Score Model en selecteer Voorbeeld van gegevens>Gescoorde gegevensset om de uitvoer ervan weer te geven.

    Hier ziet u de voorspelde prijzen en de daadwerkelijke prijzen van de testgegevens.

    Schermopname van de uitvoervisualisatie met de kolom Scored Label gemarkeerd.

Modellen evalueren

Gebruik Evaluate Model om te zien hoe goed het getrainde model heeft gepresteerd met de testgegevensset.

  1. Klik met de rechtermuisknop op het onderdeel Evaluate Model en selecteer Preview data>Evaluation results om de uitvoer ervan weer te geven.

De volgende statistieken worden weergegeven voor uw model:

  • Gemiddelde absolute fout (Mean Absolute Error of MAE): Het gemiddelde van de absolute fouten. Een fout is het verschil tussen de voorspelde waarde en de daadwerkelijke waarde.
  • Standaardafwijking (Root Mean Squared Error of RMSE): De vierkantswortel uit het gemiddelde aan kwadratische fouten voor de voorspellingen op basis van de testgegevensset.
  • Relatieve absolute fout: Het gemiddelde aan absolute fouten ten opzichte van het absolute verschil tussen de werkelijke waarden en het gemiddelde van alle werkelijke waarden.
  • Relatieve kwadratische fout: Het gemiddelde aan kwadratische fouten ten opzichte van het kwadratische verschil tussen de werkelijke waarden en het gemiddelde van alle werkelijke waarden.
  • Determinatiecoëfficiënt: Deze statische meetwaarde, ook wel R²-waarde genoemd, geeft aan hoe goed het model is in het voorspellen van de gegevens.

Voor elk van de foutstatistieken geldt: hoe kleiner hoe beter. Een lagere waarde geeft aan dat de voorspellingen dichter bij de daadwerkelijke waarden liggen. Hoe dichter de determinatiecoëfficiënt bij één (1,0) ligt, hoe beter de voorspellingen.

Resources opschonen

Sla deze sectie over als u door wilt gaan met deel 2 van de zelfstudie Modellen implementeren.

Belangrijk

U kunt de resources die u hebt gemaakt, gebruiken als vereisten voor andere Azure Machine Learning-zelfstudies en artikelen met procedures.

Alles verwijderen

Als u niets wilt gebruiken dat u hebt gemaakt, kunt u de hele resourcegroep verwijderen zodat er geen kosten voor in rekening worden gebracht.

  1. Selecteer in Azure Portal, aan de linkerkant in het venster, de optie Resourcegroepen.

    Een resourcegroep verwijderen in de Azure-portal

  2. Selecteer de resourcegroep die u hebt gemaakt in de lijst.

  3. Selecteer Resourcegroep verwijderen.

Als u de resource groep verwijdert, worden ook alle resources verwijderd die u in de ontwerpfunctie hebt gemaakt.

Afzonderlijke assets verwijderen

In de ontwerpfunctie waar u uw experiment hebt gemaakt, verwijdert u afzonderlijke assets door ze te selecteren en vervolgens de knop Verwijderen te selecteren.

Het rekendoel dat u hier hebt gemaakt, wordt, wanneer het niet wordt gebruikt, automatisch geschaald naar nul knooppunten. Deze actie wordt uitgevoerd om de kosten te minimaliseren.  Als u het rekendoel wilt verwijderen, voert u de volgende stappen uit:

Assets verwijderen

U kunt de registratie van gegevenssets vanuit uw werkruimte opheffen door alle gegevenssets te selecteren en Registratie opheffen te selecteren.

Registratie van gegevensset ongedaan maken

Als u een gegevensset wilt verwijderen, gaat u naar het opslagaccount via Azure Portal of Azure Storage Explorer en verwijdert u de assets handmatig.

Volgende stappen

In deel 2 leert u hoe u uw model kunt implementeren als een realtime-eindpunt.