Modelleringssteg i livscykeln för Team Datavetenskap Process

Den här artikeln beskriver mål, uppgifter och slutprodukt som är associerade med modelleringssteget i Team Datavetenskap Process (TDSP). Den här processen ger en rekommenderad livscykel som ditt team kan använda för att strukturera dina datavetenskapsprojekt. Livscykeln beskriver de viktigaste stegen som ditt team utför, ofta iterativt:

  • Affärsförstelse
  • Datainsamling och förståelse
  • Modellering
  • Distribution
  • Kundgodkännande

Här är en visuell representation av TDSP-livscykeln:

Diagram that shows the stages of the TDSP lifecycle.

Mål

Målet med modelleringssteget är att:

  • Fastställa de optimala datafunktionerna för maskininlärningsmodellen.

  • Skapa en informativ maskininlärningsmodell som förutsäger målet bäst.

  • Skapa en maskininlärningsmodell som är lämplig för produktion.

Så här slutför du uppgifterna

Modelleringssteget har tre huvuduppgifter:

  • Funktionsutveckling: Skapa datafunktioner från rådata för att underlätta modellträning.

  • Modellträning: Hitta den modell som svarar mest korrekt på frågan genom att jämföra framgångsmåtten för modeller.

  • Modellutvärdering: Avgör om din modell är lämplig för produktion.

Funktionsframställning

Funktionsutveckling omfattar inkludering, aggregering och omvandling av råvariabler för att skapa de funktioner som används i analysen. Om du vill ha insikt i hur en modell skapas måste du studera modellens underliggande funktioner.

Det här steget kräver en kreativ kombination av domänexpertis och insikter från datautforskningssteget. Funktionsutveckling är en balansakt för att hitta och inkludera informativa variabler, men samtidigt försöka undvika för många orelaterade variabler. Informativa variabler förbättrar resultatet. Orelaterade variabler introducerar onödigt brus i modellen. Du måste också generera dessa funktioner för nya data som hämtas under bedömning. Därför kan genereringen av dessa funktioner bara bero på data som är tillgängliga vid tidpunkten för bedömning.

Modellträning

Det finns många modelleringsalgoritmer som du kan använda, beroende på vilken typ av fråga du försöker besvara. Vägledning om hur du väljer en fördefinierad algoritm finns i Machine Learning-algoritmens fuskblad för Azure Machine Learning-designern. Andra algoritmer är tillgängliga via paket med öppen källkod i R eller Python. Även om den här artikeln fokuserar på Azure Machine Learning är den vägledning som den ger användbar för många maskininlärningsprojekt.

Processen för modellträning innehåller följande steg:

  • Dela upp indata slumpmässigt för modellering till en träningsdatauppsättning och en testdatauppsättning.

  • Skapa modellerna med hjälp av träningsdatauppsättningen.

  • Utvärdera tränings- och testdatauppsättningen. Använd en serie konkurrerande maskininlärningsalgoritmer. Använd olika associerade justeringsparametrar (kallas parametersvepning) som är inriktade på att besvara frågan om intresse med aktuella data.

  • Fastställ den bästa lösningen för att besvara frågan genom att jämföra framgångsmåtten mellan alternativa metoder.

Mer information finns i Träna modeller med Machine Learning.

Kommentar

Undvik läckage: Du kan orsaka dataläckage om du inkluderar data utanför träningsdatauppsättningen som gör att en modell eller maskininlärningsalgoritm kan göra orealistiskt bra förutsägelser. Läckage är en vanlig orsak till att dataexperter blir nervösa när de får prediktiva resultat som verkar för bra för att vara sanna. Dessa beroenden kan vara svåra att identifiera. För att undvika läckage krävs ofta iterering mellan att skapa en analysdatauppsättning, skapa en modell och utvärdera resultatens noggrannhet.

Modellutvärdering

När du har tränat modellen fokuserar en dataexpert i ditt team på modellutvärdering.

  • Gör en bedömning: Utvärdera om modellen presterar tillräckligt för produktion. Några viktiga frågor att ställa är:

    • Besvarar modellen frågan med tillräckligt förtroende med tanke på testdata?

    • Ska du prova några alternativa metoder?

    • Ska du samla in mer data, utföra mer funktionsutveckling eller experimentera med andra algoritmer?

  • Tolka modellen: Använd Machine Learning Python SDK för att utföra följande uppgifter:

    • Förklara hela modellbeteendet eller enskilda förutsägelser på din personliga dator lokalt.

    • Aktivera tolkningstekniker för konstruerade funktioner.

    • Förklara beteendet för hela modellen och enskilda förutsägelser i Azure.

    • Ladda upp förklaringar till Machine Learning-körningshistoriken.

    • Använd en instrumentpanel för visualisering för att interagera med dina modellförklaringar, både i en Jupyter-anteckningsbok och på Machine Learning-arbetsytan.

    • Distribuera en bedömningsförklaring tillsammans med din modell för att observera förklaringar under inferensen.

  • Utvärdera rättvisa: Använd Fairlearn Python-paketet med öppen källkod med Machine Learning för att utföra följande uppgifter:

    • Utvärdera rättvisan i dina modellförutsägelser. Den här processen hjälper ditt team att lära sig mer om rättvisa i maskininlärning.

    • Ladda upp, lista och ladda ned insikter om rättvisebedömning till och från Machine Learning Studio.

    • Se instrumentpanelen för rättvisebedömning i Machine Learning Studio för att interagera med dina modellers rättviseinsikter.

Integrera med MLflow

Machine Learning integreras med MLflow för att stödja modelleringslivscykeln. Den använder MLflows spårning för experiment, projektdistribution, modellhantering och ett modellregister. Den här integreringen säkerställer ett sömlöst och effektivt arbetsflöde för maskininlärning. Följande funktioner i Machine Learning hjälper dig att stödja det här modelllivscykelelementet:

  • Spåra experiment: MLflows kärnfunktioner används i stor utsträckning i modellfasen för att spåra olika experiment, parametrar, mått och artefakter.

  • Distribuera projekt: Paketeringskod med MLflow Projects säkerställer konsekventa körningar och enkel delning mellan gruppmedlemmar, vilket är viktigt under iterativ modellutveckling.

  • Hantera modeller: Det är viktigt att hantera och versionsmodeller i den här fasen eftersom olika modeller skapas, utvärderas och förfinas.

  • Registrera modeller: Modellregistret används för versionshantering och hantering av modeller under hela livscykeln.

Peer-granskad litteratur

Forskare publicerar studier om TDSP i peer-granskad litteratur. Citaten ger möjlighet att undersöka andra program eller liknande idéer som TDSP, inklusive livscykelsteget för modellering.

Deltagare

Den här artikeln underhålls av Microsoft. Det har ursprungligen skrivits av följande medarbetare.

Huvudförfattare:

Om du vill se icke-offentliga LinkedIn-profiler loggar du in på LinkedIn.

I de här artiklarna beskrivs de andra stegen i TDSP-livscykeln: