Maskininlärningsfunktioner i Azure Synapse Analytics
Azure Synapse Analytics erbjuder olika maskininlärningsfunktioner. Den här artikeln innehåller en översikt över hur du kan använda Machine Learning i kontexten för Azure Synapse.
Den här översikten beskriver de olika funktionerna i Synapse som rör maskininlärning, ur ett datavetenskapsprocessperspektiv.
Du kanske är bekant med hur en typisk datavetenskapsprocess ser ut. Det är en välkänd process som de flesta maskininlärningsprojekt följer.
På hög nivå innehåller processen följande steg:
- Affärstolkning (beskrivs inte i den här artikeln)
- Förvärv och förståelse av data
- Modellering
- Modelldistribution och bedömning
Den här artikeln beskriver maskininlärningsfunktionerna i Azure Synapse i olika analysmotorer ur ett datavetenskapsprocessperspektiv. För varje steg i datavetenskapsprocessen sammanfattas de Azure Synapse-funktioner som kan hjälpa till.
Förvärv och förståelse av data
De flesta maskininlärningsprojekt omfattar väletablerade steg, och ett av dessa steg är att komma åt och förstå data.
Datakälla och pipelines
Tack vare Azure Data Factory, en inbyggt integrerad del av Azure Synapse, finns det en kraftfull uppsättning verktyg för datainmatning och dataorkestreringspipelines. På så sätt kan du enkelt skapa datapipelines för att komma åt och omvandla data till ett format som kan användas för maskininlärning. Läs mer om datapipelines i Synapse.
Dataförberedelse och utforskning/visualisering
En viktig del av maskininlärningsprocessen är att förstå data genom utforskning och visualiseringar.
Beroende på var data lagras erbjuder Synapse en uppsättning olika verktyg för att utforska och förbereda dem för analys och maskininlärning. Ett av de snabbaste sätten att komma igång med datautforskning är att använda Apache Spark- eller serverlösa SQL-pooler direkt över data i datasjön.
Apache Spark för Azure Synapse erbjuder funktioner för att transformera, förbereda och utforska dina data i stor skala. Dessa Spark-pooler erbjuder verktyg som PySpark/Python, Scala och .NET för databearbetning i stor skala. Med hjälp av kraftfulla visualiseringsbibliotek kan datautforskningsupplevelsen förbättras för att bättre förstå data. Läs mer om hur du utforskar och visualiserar data i Synapse med Spark.
Serverlösa SQL-pooler erbjuder ett sätt att utforska data med TSQL direkt över datasjön. Serverlösa SQL-pooler erbjuder också några inbyggda visualiseringar i Synapse Studio. Läs mer om hur du utforskar data med serverlösa SQL-pooler.
Modellering
I Azure Synapse kan du träna maskininlärningsmodeller på Apache Spark-pooler med verktyg som PySpark/Python, Scala eller .NET.
Träna modeller på Spark-pooler med MLlib
Maskininlärningsmodeller kan tränas med hjälp av olika algoritmer och bibliotek. Spark MLlib erbjuder skalbara maskininlärningsalgoritmer som kan hjälpa dig att lösa de flesta klassiska maskininlärningsproblem. En självstudiekurs om hur du tränar en modell med MLlib i Synapse finns i Skapa en maskininlärningsapp med Apache Spark MLlib och Azure Synapse Analytics.
Förutom MLlib kan även populära bibliotek som Scikit Learn användas för att utveckla modeller. Mer information om hur du installerar bibliotek i Synapse Spark-pooler finns i Hantera bibliotek för Apache Spark i Azure Synapse Analytics .
Modelldistribution och bedömning
Modeller som har tränats antingen i Azure Synapse eller utanför Azure Synapse kan enkelt användas för batchbedömning. I Synapse finns det för närvarande två sätt att köra batchbedömning.
Du kan använda funktionen TSQL PREDICT i Synapse SQL-pooler för att köra dina förutsägelser precis där dina data finns. Med den här kraftfulla och skalbara funktionen kan du utöka dina data utan att flytta några data från ditt informationslager. En ny guidad maskininlärningsmodell i Synapse Studio introducerades där du kan distribuera en ONNX-modell från Azure Machine Learning-modellregistret i Synapse SQL-pooler för batchbedömning med PREDICT.
Ett annat alternativ för maskininlärningsmodeller för batchbedömning i Azure Synapse är att använda Apache Spark-pooler för Azure Synapse. Beroende på vilka bibliotek som används för att träna modellerna kan du använda en kodupplevelse för att köra batchbedömningen.
SynapseML
SynapseML (tidigare kallat MMLSpark) är ett bibliotek med öppen källkod som förenklar skapandet av pipelines för massivt skalbar maskininlärning (ML). Det är ett ekosystem med verktyg som används för att utöka Apache Spark-ramverket i flera nya riktningar. SynapseML förenar flera befintliga maskininlärningsramverk och nya Microsoft-algoritmer till ett enda skalbart API som kan användas i Python, R, Scala, .NET och Java. Mer information finns i de viktigaste funktionerna i SynapseML.