Dela via


Självstudie: Designer – träna en regressionsmodell utan kod

Träna en linjär regressionsmodell som förutsäger bilpriser med hjälp av Azure Machine Learning-designern. Den här självstudien är del ett i en serie med två delar.

I den här självstudien används Azure Machine Learning-designern. Mer information finns i Vad är Azure Machine Learning-designern?

Anteckning

Designer stöder två typer av komponenter, klassiska fördefinierade komponenter (v1) och anpassade komponenter (v2). Dessa två typer av komponenter är INTE kompatibla.

Klassiska fördefinierade komponenter tillhandahåller fördefinierade komponenter som främst används för databearbetning och traditionella maskininlärningsuppgifter som regression och klassificering. Den här typen av komponent stöds fortfarande, men inga nya komponenter läggs till.

Med anpassade komponenter kan du omsluta din egen kod som en komponent. Den stöder delning av komponenter mellan arbetsytor och sömlös redigering i Gränssnitten Studio, CLI v2 och SDK v2.

För nya projekt rekommenderar vi starkt att du använder anpassad komponent, som är kompatibel med AzureML V2 och fortsätter att ta emot nya uppdateringar.

Den här artikeln gäller för klassiska fördefinierade komponenter som inte är kompatibla med CLI v2 och SDK v2.

I del ett av självstudien lär du dig att:

  • Skapa en ny pipeline.
  • Importera data.
  • Förbereda data.
  • Träna en maskininlärningsmodell.
  • Utvärdera en maskininlärningsmodell.

I del två av självstudien distribuerar du din modell som en slutpunkt för slutsatsdragning i realtid för att förutsäga priset på en bil baserat på de tekniska specifikationer som du skickar den till.

Anteckning

En färdig version av den här självstudien är tillgänglig som en exempelpipeline.

Du hittar den genom att gå till designern på din arbetsyta. I avsnittet Ny pipeline väljer du Exempel 1 – Regression: Automobile Price Prediction(Basic).

Viktigt

Om du inte ser grafiska element som nämns i det här dokumentet, till exempel knappar i Studio eller Designer, kanske du inte har rätt behörighetsnivå för arbetsytan. Kontakta administratören för Azure-prenumerationen för att kontrollera att du har beviljats rätt åtkomstnivå. Mer information finns i Hantera användare och roller.

Skapa en ny pipeline

Azure Machine Learning-pipelines organiserar flera steg för maskininlärning och databearbetning i en enda resurs. Med pipelines kan du organisera, hantera och återanvända komplexa arbetsflöden för maskininlärning mellan projekt och användare.

Om du vill skapa en Azure Machine Learning-pipeline behöver du en Azure Machine Learning-arbetsyta. I det här avsnittet får du lära dig hur du skapar båda dessa resurser.

Skapa en ny arbetsyta

Du behöver en Azure Machine Learning-arbetsyta för att kunna använda designern. Arbetsytan är resursen på den översta nivån för Azure Machine Learning. Den är en central plats där du kan arbeta med alla artefakter som du skapar i Azure Machine Learning. Anvisningar om hur du skapar en arbetsyta finns i Skapa arbetsyteresurser.

Anteckning

Om arbetsytan använder ett virtuellt nätverk finns det ytterligare konfigurationssteg som du måste använda för att använda designern. Mer information finns i Använda Azure Machine Learning-studio i ett virtuellt Azure-nätverk

Skapa pipelinen

Anteckning

Designer stöder två typer av komponenter, klassiska fördefinierade komponenter och anpassade komponenter. Dessa två typer av komponenter är inte kompatibla.

Klassiska fördefinierade komponenter tillhandahåller fördefinierade komponenter som främst används för databearbetning och traditionella maskininlärningsuppgifter som regression och klassificering. Den här typen av komponent stöds fortfarande, men inga nya komponenter läggs till.

Med anpassade komponenter kan du ange din egen kod som en komponent. Det finns stöd för delning mellan arbetsytor och sömlös redigering i Studio-, CLI- och SDK-gränssnitt.

Den här artikeln gäller för klassiska fördefinierade komponenter.

  1. Logga in på ml.azure.com och välj den arbetsyta som du vill arbeta med.

  2. Välj Designer –>klassisk fördefinierade

    Skärmbild av den visuella arbetsytan som visar hur du kommer åt designern.

  3. Välj Skapa en ny pipeline med hjälp av klassiska fördefinierade komponenter.

  4. Klicka på pennikonen bredvid det automatiskt genererade pipelineutkastnamnet och byt namn på det till Förutsägelse av bilpriser. Namnet behöver inte vara unikt.

Skärmbild av pennikonen för att ändra pipelinens utkastnamn.

Ange standardberäkningsmålet

Ett pipelinejobb på ett beräkningsmål, vilket är en beräkningsresurs som är kopplad till din arbetsyta. När du har skapat ett beräkningsmål kan du återanvända det för framtida jobb.

Viktigt

Ansluten beräkning stöds inte, använd beräkningsinstanser eller kluster i stället.

Du kan ange ett standardberäkningsmål för hela pipelinen, vilket instruerar varje komponent att använda samma beräkningsmål som standard. Du kan dock ange beräkningsmål per modul.

  1. Välj Skärmbild av kugghjulsikonen som finns i användargränssnittet.Inställningar till höger om arbetsytan för att öppna fönstret Inställningar.

  2. Välj Skapa Azure Machine Learning-beräkningsinstans.

    • Om du redan har ett tillgängligt beräkningsmål kan du välja det i listrutan Välj Azure Machine Learning-beräkningsinstans för att köra den här pipelinen.

    • Eller välj "Serverlös" för att använda serverlös beräkning (förhandsversion).

  3. Ange ett namn för beräkningsresursen.

  4. Välj Skapa.

    Anteckning

    Det tar ungefär fem minuter att skapa en beräkningsresurs. När resursen har skapats kan du återanvända den och hoppa över den här väntetiden för framtida jobb.

    Beräkningsresursen skalas automatiskt till noll noder när den är inaktiv för att spara kostnader. När du använder den igen efter en fördröjning kan det uppstå ungefär fem minuters väntetid när den skalar upp igen.

Importera data

Det finns flera exempeldatauppsättningar som du kan experimentera med i designern. I den här självstudien använder du Automobile price data (Raw).

  1. Till vänster om pipelinearbetsytan finns en palett med datauppsättningar och komponenter. Välj Komponent –>Exempeldata.

  2. Välj datauppsättningen Automobile price data (Raw) och dra den till arbetsytan.

    Gif för att dra prisdata för Bilar till arbetsytan.

Visualisera datan

Du kan visualisera data för att förstå den datauppsättning som du ska använda.

  1. Högerklicka på Prisdata för bilar (rådata) och välj Förhandsgranska data.

  2. Välj de olika kolumnerna i datafönstret för att visa information om var och en.

    Varje rad representerar en bil och variablerna som är associerade med varje bil visas som kolumner. Det finns 205 rader och 26 kolumner i den här datauppsättningen.

Förbereda data

Datauppsättningar kräver vanligtvis viss förbearbetning före analys. Du kanske har märkt några saknade värden när du inspekterade datauppsättningen. Dessa saknade värden måste rensas så att modellen kan analysera data korrekt.

Ta bort en kolumn

När du tränar en modell måste du göra något åt de data som saknas. I den här datauppsättningen saknar kolumnen normalized-losses många värden, så du utesluter kolumnen från modellen helt och hållet.

  1. I datauppsättningarna och komponentpaletten till vänster om arbetsytan klickar du på Komponent och söker efter komponenten Välj kolumner i datauppsättning .

  2. Dra komponenten Select Columns in Dataset (Välj kolumner i datamängd ) till arbetsytan. Släpp komponenten under datamängdskomponenten.

  3. Anslut datauppsättningen Automobile price data (Raw) till komponenten Select Columns in Dataset (Välj kolumner i datamängd). Dra från datauppsättningens utdataport, som är den lilla cirkeln längst ned i datauppsättningen på arbetsytan, till indataporten för Välj kolumner i datauppsättning, som är den lilla cirkeln överst i komponenten.

    Tips

    Du skapar ett dataflöde via din pipeline när du ansluter utdataporten för en komponent till en annan indataport.

    Skärmbild som visar hur du ansluter komponenten Automobile price data (Bilprisdata) för att välja kolumner i datamängdskomponenten.

  4. Välj komponenten Välj kolumner i datauppsättning .

  5. Klicka på pilikonen under Inställningar till höger om arbetsytan för att öppna komponentinformationsfönstret. Du kan också dubbelklicka på komponenten Välj kolumner i datauppsättning för att öppna informationsfönstret .

  6. Välj Redigera kolumn till höger om fönstret.

  7. Expandera listrutan Kolumnnamn bredvid Inkludera och välj Alla kolumner.

  8. + Välj för att lägga till en ny regel.

  9. I de nedrullningsbara menyerna väljer du Exkludera och Kolumnnamn.

  10. Ange normalized-losses i textrutan.

  11. Längst ned till höger väljer du Spara för att stänga kolumnväljaren.

    Skärmbild av utvalda kolumner med exkludering markerat.

  12. I fönstret Select Columns in Dataset component details (Välj kolumner i datauppsättningskomponenten ) expanderar du Node info (Nodinformation).

  13. Välj textrutan Kommentar och ange Exkludera normaliserade förluster.

    Kommentarer visas i diagrammet som hjälper dig att organisera din pipeline.

Rensa data som saknas

Datauppsättningen saknar fortfarande värden när du har tagit bort kolumnen normalized-losses . Du kan ta bort återstående saknade data med hjälp av komponenten Rensa saknade data .

Tips

Det är en förutsättning att du rensar de saknade värdena från indata för att kunna använda de flesta komponenterna i designern.

  1. I datauppsättningarna och komponentpaletten till vänster om arbetsytan klickar du på Komponent och söker efter komponenten Rensa data som saknas .

  2. Dra komponenten Rensa data som saknas till pipelinearbetsytan. Anslut den till komponenten Select Columns in Dataset (Välj kolumner i datauppsättning).

  3. Välj komponenten Rensa data som saknas .

  4. Klicka på pilikonen under Inställningar till höger om arbetsytan för att öppna komponentinformationsfönstret. Du kan också dubbelklicka på komponenten Rensa saknade data för att öppna informationsfönstret.

  5. Välj Redigera kolumn till höger om fönstret.

  6. I fönstret Kolumner som ska rensas som visas expanderar du den nedrullningsbara menyn bredvid Inkludera. Markera, Alla kolumner

  7. Välj Spara

  8. I fönstret Information om komponenten Rensa saknade data går du till Rensningsläge och väljer Ta bort hela raden.

  9. I fönstret Information om komponenten Rensa saknade data expanderar du Nodinformation.

  10. Välj textrutan Kommentar och ange Ta bort saknade värderader.

    Din pipeline bör nu se ut ungefär så här:

    Skärmbild av bilprisdata som är anslutna till utvalda kolumner i datamängdskomponenten, som är ansluten till rensa data som saknas.

Träna en maskininlärningsmodell

Nu när du har komponenterna på plats för att bearbeta data kan du konfigurera träningskomponenterna.

Eftersom du vill förutsäga pris, vilket är ett tal, kan du använda en regressionsalgoritm. I det här exemplet använder du en linjär regressionsmodell.

Dela upp data

Att dela upp data är en vanlig uppgift inom maskininlärning. Du delar upp dina data i två separata datauppsättningar. En datauppsättning tränar modellen och den andra testar hur väl modellen presterade.

  1. I datauppsättningarna och komponentpaletten till vänster om arbetsytan klickar du på Komponent och söker efter komponenten Dela data .

  2. Dra komponenten Dela data till pipelinearbetsytan.

  3. Anslut den vänstra porten för komponenten Rensa saknade data till komponenten Dela data .

    Viktigt

    Kontrollera att den vänstra utdataporten för Rensa saknade data ansluter till Delade data. Den vänstra porten innehåller rensade data. Rätt port innehåller borttagna data.

  4. Välj komponenten Dela upp data .

  5. Klicka på pilikonen under Inställningar till höger om arbetsytan för att öppna komponentinformationsfönstret. Du kan också dubbelklicka på komponenten Dela data för att öppna informationsfönstret.

  6. I fönstret Dela upp datainformation anger du 0,7 som bråk med rader i den första utdatauppsättningen .

    Det här alternativet delar upp 70 procent av data för att träna modellen och 30 procent för att testa den. Datamängden på 70 procent är tillgänglig via den vänstra utdataporten. Återstående data kommer att vara tillgängliga via rätt utdataport.

  7. I fönstret Dela datainformation expanderar du Nodinformation.

  8. Välj textrutan Kommentar och ange Dela upp datamängden i träningsuppsättningen (0,7) och testuppsättningen (0.3)..

Träna modellen

Träna modellen genom att ge den en datauppsättning som innehåller priset. Algoritmen konstruerar en modell som förklarar relationen mellan funktionerna och priset enligt träningsdata.

  1. I datauppsättningarna och komponentpaletten till vänster om arbetsytan klickar du på Komponent och söker efter komponenten Linjär regression .

  2. Dra komponenten Linjär regression till pipelinearbetsytan.

  3. I datauppsättningarna och komponentpaletten till vänster om arbetsytan klickar du på Komponent och söker efter komponenten Träna modell .

  4. Dra komponenten Train Model (Träna modell ) till pipelinearbetsytan.

  5. Anslut utdata från komponenten Linear Regression till vänster indata för train model-komponenten .

  6. Anslut träningsdatautdata (vänster port) för komponenten Split Data (Dela upp data ) till höger indata för träningsmodellkomponenten .

    Viktigt

    Kontrollera att den vänstra utdataporten för Delade data ansluter till träningsmodellen. Den vänstra porten innehåller träningsuppsättningen. Rätt port innehåller testuppsättningen.

    Skärmbild som visar att linjär regression ansluter till den vänstra porten för träningsmodellen och att delade data ansluter till den högra porten för träningsmodellen.

  7. Välj komponenten Träna modell .

  8. Klicka på pilikonen under Inställningar till höger om arbetsytan för att öppna komponentinformationsfönstret. Du kan också dubbelklicka på komponenten Träna modell för att öppna informationsfönstret.

  9. Välj Redigera kolumn till höger om fönstret.

  10. I kolumnfönstret Etikett som visas expanderar du den nedrullningsbara menyn och väljer Kolumnnamn.

  11. I textrutan anger du pris för att ange det värde som din modell ska förutsäga.

    Viktigt

    Kontrollera att du anger kolumnnamnet exakt. Kapitalisera inte priset.

    Din pipeline bör se ut så här:

    Skärmbild som visar rätt konfiguration av pipelinen när du har lagt till komponenten Träna modell.

Lägg till komponenten Score Model (Poängsätt modell)

När du har tränat din modell med 70 procent av data kan du använda den för att bedöma de andra 30 procenten för att se hur väl din modell fungerar.

  1. I datauppsättningarna och komponentpaletten till vänster om arbetsytan klickar du på Komponent och söker efter komponenten Poängsätta modell .

  2. Dra komponenten Poängsätta modell till pipelinearbetsytan.

  3. Anslut utdata för träningsmodellkomponenten till den vänstra indataporten för Poängsätta modell. Anslut testdatautdata (höger port) för komponenten Split Data (Dela upp data ) till rätt indataport för Poängsätta modell.

Lägg till komponenten Evaluate Model (Utvärdera modell)

Använd komponenten Evaluate Model (Utvärdera modell ) för att utvärdera hur väl din modell poängsatte testdatauppsättningen.

  1. I datauppsättningarna och komponentpaletten till vänster om arbetsytan klickar du på Komponent och söker efter komponenten Utvärdera modell .

  2. Dra komponenten Evaluate Model (Utvärdera modell ) till pipelinearbetsytan.

  3. Anslut utdata från komponenten Score Model (Poängsätt modell ) till den vänstra indatan för Evaluate Model (Utvärdera modell).

    Den slutliga pipelinen bör se ut ungefär så här:

    Skärmbild som visar rätt konfiguration av pipelinen.

Skicka pipelinen

Nu när din pipeline har konfigurerats kan du skicka ett pipelinejobb för att träna din maskininlärningsmodell. Du kan skicka ett giltigt pipelinejobb när som helst, som kan användas för att granska ändringar i pipelinen under utvecklingen.

  1. Längst upp på arbetsytan väljer du Skicka.

  2. I dialogrutan Konfigurera pipelinejobb väljer du Skapa ny.

    Anteckning

    Experiment grupperar liknande pipelinejobb tillsammans. Om du kör en pipeline flera gånger kan du välja samma experiment för efterföljande jobb.

    1. För Nytt experimentnamn anger du Tutorial-CarPrices.

    2. Välj Skicka.

    3. Du ser en överföringslista i den vänstra rutan på arbetsytan och ett meddelande visas i det övre högra hörnet på sidan. Du kan välja länken Jobbinformation för att gå till jobbinformationssidan för felsökning.

      Skärmbild av listan över skickade jobb med ett meddelande om att jobbet har slutförts.

    Om det här är det första jobbet kan det ta upp till 20 minuter för pipelinen att slutföra körningen. Standardinställningarna för beräkning har en minsta nodstorlek på 0, vilket innebär att designern måste allokera resurser när den är inaktiv. Upprepade pipelinejobb tar mindre tid eftersom beräkningsresurserna redan har allokerats. Dessutom använder designern cachelagrade resultat för varje komponent för att ytterligare förbättra effektiviteten.

Visa poängsatta etiketter

På sidan med jobbinformation kan du kontrollera status, resultat och loggar för pipelinejobbet.

Skärmbild som visar informationssidan för pipelinejobbet.

När jobbet har slutförts kan du visa resultatet av pipelinejobbet. Titta först på förutsägelserna som genereras av regressionsmodellen.

  1. Högerklicka på komponenten Poängsätta modell och välj Förhandsgranska data>Poängsatt datauppsättning för att visa dess utdata.

    Här kan du se de förväntade priserna och de faktiska priserna från testdata.

    Skärmbild av utdatavisualiseringen som markerar kolumnen Poängsatt etikett.

Utvärdera modeller

Använd Utvärdera modell för att se hur väl den tränade modellen har utförts på testdatauppsättningen.

  1. Högerklicka på komponenten Utvärdera modell och välj FörhandsgranskadataUtvärderingsresultat> för att visa dess utdata.

Följande statistik visas för din modell:

  • Mean Absolute Error (MAE): Medelvärdet av absoluta fel. Ett fel är skillnaden mellan det förutsagda värdet och det faktiska värdet.
  • RMSE (Root Mean Squared Error): Kvadratroten för medelvärdet av kvadratfel för förutsägelser som gjorts på testdatauppsättningen.
  • Relativa absoluta fel: Medelvärdet av absoluta fel i förhållande till den absoluta skillnaden mellan faktiska värden och medelvärdet av alla faktiska värden.
  • Relativa kvadratfel: Medelvärdet av kvadratfel i förhållande till kvadratskillnaden mellan faktiska värden och medelvärdet av alla faktiska värden.
  • Koefficient för bestämning: Det här statistiska måttet kallas även R-kvadratvärde och anger hur väl en modell passar data.

För all felstatistik gäller att mindre är bättre. Ett mindre värde anger att förutsägelserna ligger närmare de faktiska värdena. För bestämningskoefficienten är värdet närmare ett (1,0), desto bättre förutsägelser.

Rensa resurser

Hoppa över det här avsnittet om du vill fortsätta med del 2 i självstudien och distribuera modeller.

Viktigt

Du kan använda de resurser som du har skapat som förutsättningar för andra Azure Machine Learning-självstudier och instruktionsartiklar.

Ta bort allt

Om du inte planerar att använda något som du har skapat tar du bort hela resursgruppen så att du inte debiteras några avgifter.

  1. I Azure Portal väljer du Resursgrupper till vänster i fönstret.

    Ta bort resursgrupp i Azure-portalen

  2. I listan väljer du den resursgrupp som du skapade.

  3. Välj Ta bort resursgrupp.

Om du tar bort resursgruppen tas även alla resurser som du skapade i designern bort.

Ta bort enskilda tillgångar

I designern där du skapade experimentet tar du bort enskilda tillgångar genom att välja dem och sedan knappen Ta bort .

Beräkningsmålet som du skapade här autoskalar automatiskt till noll noder när det inte används. Den här åtgärden vidtas för att minimera avgifterna. Om du vill ta bort beräkningsmålet utför du följande steg:

Ta bort tillgångar

Du kan avregistrera datauppsättningar från arbetsytan genom att välja varje datauppsättning och välja Avregistrera.

Avregistrera datauppsättning

Om du vill ta bort en datauppsättning går du till lagringskontot med hjälp av Azure Portal eller Azure Storage Explorer och tar bort dessa tillgångar manuellt.

Nästa steg

I del två får du lära dig hur du distribuerar din modell som en realtidsslutpunkt.