Zelfstudie: Ontwerpfunctie : 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 de Azure Machine Learning-ontwerpfunctie gebruikt voor meer informatie. Zie Wat is Azure Machine Learning Designer?

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 Werkruimtebronnen 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 soorten onderdelen, klassieke vooraf samengestelde onderdelen en aangepaste onderdelen. Deze twee typen onderdelen zijn niet compatibel.

Klassieke vooraf samengestelde onderdelen bieden vooraf samengestelde onderdelen met grote grote schaal 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 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 samengestelde onderdelen.

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

  2. Designer selecteren ->Klassiek vooraf samengesteld

    Schermopname van de visuele werkruimte waarin wordt getoond hoe u toegang hebt tot de ontwerpfunctie.

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

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

Schermopname van het potloodpictogram om de naam van het pijplijnconcept te wijzigen.

Het standaardrekendoel instellen

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

Belangrijk

Gekoppelde berekeningen worden niet ondersteund, gebruiken 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 ML-rekenproces maken.

    Als u al een beschikbaar rekendoel hebt, kunt u dit selecteren in de vervolgkeuzelijst Azure ML-rekenproces selecteren om deze pijplijn uit te voeren.

  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 bevindt zich een palet met gegevenssets en onderdelen. Selecteer Component ->Sample data.

  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 autoprijsgegevens (Raw) en selecteer Voorbeeldgegevens.

  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 ontbreekt de kolom normalized-losses veel waarden, dus sluit u die kolom helemaal uit van het model.

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

  2. Sleep het onderdeel Kolommen selecteren in gegevensset naar het canvas. Verwijder 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 onderaan de gegevensset op het canvas, naar de invoerpoort van Select Columns in Dataset. Dit is de kleine cirkel boven aan het onderdeel.

    Tip

    U maakt een gegevensstroom via 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 Kolommen selecteren in gegevensset .

  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 selecteren in gegevensset 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 Knooppuntgegevensuit in het deelvenster Kolommen selecteren in het detailvenster Gegevenssetonderdeel.

  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 Clean Missing Data .

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 Ontbrekende gegevens opschonen naar het pijplijncanvas. Verbind deze met het onderdeel Kolommen selecteren in gegevensset .

  3. Selecteer het onderdeel Ontbrekende gegevens opschonen .

  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 het onderdeel Ontbrekende gegevensopschonen in de modus Opschonende optie Hele rij verwijderen.

  9. Vouw in het detailvenster Ontbrekende gegevens opschonende knooppuntgegevens uit.

  10. Selecteer het tekstvak Opmerking en voer ontbrekende waarderijen verwijderen in.

    Uw pijplijn ziet er als volgt uit:

    Schermopname van autoprijsgegevens die zijn verbonden met het selecteren van kolommen in het gegevenssetonderdeel, die 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 Component en zoek naar het onderdeel Split Data .

  2. Sleep het onderdeel Split Data naar het pijplijncanvas.

  3. Koppel de linkerpoort van het onderdeel Clean Missing Data aan 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 Split Data .

  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 Gegevens splitsen om het detailvenster te openen.

  6. Stel in het deelvenster Gegevens splitsen het deel 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 knooppuntgegevens uit.

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

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 Component en zoek naar het component Lineaire regressie .

  2. Sleep het component Linear Regression naar het pijplijncanvas.

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

  4. Sleep het onderdeel Train Model naar het pijplijncanvas.

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

  6. Verbind de uitvoer van de trainingsgegevens (linkerpoort) van het onderdeel Split Data met de juiste invoer 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 linkerpoort van Train Model en de Split Data maakt verbinding met de rechterpoort van Train Model.

  7. Selecteer het onderdeel Train Model .

  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 Component 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 de testgegevens (rechterpoort) van het onderdeel Split Data aan de juiste invoerpoort van Score Model.

Het onderdeel Evaluate Model toevoegen

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

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

  2. Sleep het onderdeel Evaluate Model naar het pijplijncanvas.

  3. Verbind de uitvoer van het onderdeel Score Model met 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 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 tijdens de ontwikkeling te controleren.

  1. Bovenaan het canvas selecteert u Indienen.

  2. Selecteer nieuwe maken in het dialoogvenster Pijplijntaak instellen.

    Notitie

    Experimenten groeperen vergelijkbare pijplijntaken samen. 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 wordt een melding weergegeven in de rechterbovenhoek van de pagina. U kunt de koppeling Taakdetails selecteren om naar de pagina met taakdetails 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 de pijplijn is uitgevoerd. 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 ontwerper resultaten in de cache voor elk onderdeel om de efficiëntie verder te verbeteren.

Gescoorde labels weergeven

Op de pagina met taakdetails 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 de gegevensset>Scored 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.