Skapa en förutsägelsepipeline med Machine Learning Studio (klassisk) med Azure Data Factory eller Synapse Analytics

GÄLLER FÖR: Azure Data Factory Azure Synapse Analytics

Dricks

Prova Data Factory i Microsoft Fabric, en allt-i-ett-analyslösning för företag. Microsoft Fabric omfattar allt från dataflytt till datavetenskap, realtidsanalys, business intelligence och rapportering. Lär dig hur du startar en ny utvärderingsversion kostnadsfritt!

Viktigt!

Stödet för Azure Machine Learning Studio (klassisk) upphör den 31 augusti 2024. Vi rekommenderar att du övergår till Azure Machine Learning vid det datumet.

Från och med den 1 december 2021 kan du inte skapa nya Machine Learning Studio-resurser (klassiska) (arbetsyta och webbtjänstplan). Till och med den 31 augusti 2024 kan du fortsätta att använda befintliga Machine Learning Studio-experiment (klassiska) och webbtjänster. Mer information finns i:

Dokumentationen för Machine Learning Studio (klassisk) dras tillbaka och kanske inte uppdateras i framtiden.

Kommentar

Eftersom Machine Learning Studio-resurser (klassiska) inte längre kan skapas efter den 1 december 2021 uppmanas användarna att använda Azure Machine Learning med aktiviteten Machine Learning Execute Pipeline i stället för att använda batchkörningsaktiviteten för att köra Machine Learning Studio-batchar (klassiska).

MED ML Studio (klassisk) kan du skapa, testa och distribuera lösningar för förutsägelseanalys. Från en hög nivå görs det i tre steg:

  1. Skapa ett träningsexperiment. Du gör det här steget med hjälp av ML Studio (klassisk). ML Studio (klassisk) är en samarbetsmiljö för visuell utveckling som du använder för att träna och testa en förutsägelseanalysmodell med hjälp av träningsdata.
  2. Konvertera den till ett förutsägelseexperiment. När din modell har tränats med befintliga data och du är redo att använda den för att poängsätta nya data, förbereder och effektiviserar du experimentet för bedömning.
  3. Distribuera den som en webbtjänst. Du kan publicera ditt bedömningsexperiment som en Azure-webbtjänst. Du kan skicka data till din modell via den här webbtjänstens slutpunkt och få resultatförutsägelser från modellen.

Använda Machine Learning Studio (klassisk) med Azure Data Factory eller Synapse Analytics

Med Azure Data Factory och Synapse Analytics kan du enkelt skapa pipelines som använder en publicerad Machine Learning Studio-webbtjänst (klassisk) för förutsägelseanalys. Med hjälp av batchkörningsaktiviteten i en pipeline kan du anropa Machine Learning Studio-webbtjänsten (klassisk) för att göra förutsägelser om data i batch.

Med tiden måste förutsägelsemodellerna i Machine Learning Studio-bedömningsexperimenten (klassiska) tränas om med hjälp av nya indatauppsättningar. Du kan träna om en modell från en pipeline genom att göra följande:

  1. Publicera träningsexperimentet (inte förutsägande experiment) som en webbtjänst. Du gör det här steget i ML Studio (klassisk) som du gjorde för att exponera förutsägelseexperiment som en webbtjänst i föregående scenario.
  2. Använd BATCH-körningsaktiviteten i ML Studio (klassisk) för att anropa webbtjänsten för träningsexperimentet. I grund och botten kan du använda BATCH-körningsaktiviteten i ML Studio (klassisk) för att anropa både träningswebbtjänsten och bedömningswebbtjänsten.

När du är klar med omträningen uppdaterar du bedömningswebbtjänsten (förutsägelseexperiment som exponeras som en webbtjänst) med den nyligen tränade modellen med hjälp av ML Studio-uppdateringsresursaktiviteten (klassisk). Mer information finns i artikeln Uppdatera modeller med hjälp av Uppdatera resursaktivitet .

ML Studio (klassisk) länkad tjänst

Du skapar en länkad Machine Learning Studio-tjänst (klassisk) för att länka en Machine Learning Studio-webbtjänst (klassisk). Den länkade tjänsten används av Batch-körningsaktivitet i Machine Learning Studio (klassisk) och uppdatera resursaktivitet.

{
    "type" : "linkedServices",
    "name": "AzureMLLinkedService",
    "properties": {
        "type": "AzureML",
        "typeProperties": {
            "mlEndpoint": "URL to Azure ML Predictive Web Service",
            "apiKey": {
                "type": "SecureString",
                "value": "api key"
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

I artikeln Compute linked services (Beräkningslänkade tjänster ) finns beskrivningar om egenskaper i JSON-definitionen.

Machine Learning Studio (klassisk) stöder både klassiska webbtjänster och nya webbtjänster för ditt förutsägelseexperiment. Du kan välja den rätta som ska användas från din Data Factory- eller Synapse-arbetsyta. Om du vill få den information som krävs för att skapa den länkade Tjänsten Machine Learning Studio (klassisk) går du till https://services.azureml.net, där alla dina (nya) webbtjänster och klassiska webbtjänster visas. Klicka på den webbtjänst som du vill komma åt och klicka på sidan Förbruka . Kopiera primärnyckel för egenskapen apiKey och Batch-begäranden för egenskapen mlEndpoint .

ML Studio (classic) Web Services

ML Studio-aktivitet (klassisk) batchkörning

Följande JSON-kodfragment definierar en ML Studio-aktivitet (klassisk) batchkörning. Aktivitetsdefinitionen har en referens till den länkade ML Studio-tjänsten (klassisk) som du skapade tidigare.

{
    "name": "AzureMLExecutionActivityTemplate",
    "description": "description",
    "type": "AzureMLBatchExecution",
    "linkedServiceName": {
        "referenceName": "AzureMLLinkedService",
        "type": "LinkedServiceReference"
    },
    "typeProperties": {
        "webServiceInputs": {
            "<web service input name 1>": {
                "LinkedServiceName":{
                    "referenceName": "AzureStorageLinkedService1",
                    "type": "LinkedServiceReference"
                },
                "FilePath":"path1"
            },
            "<web service input name 2>": {
                "LinkedServiceName":{
                    "referenceName": "AzureStorageLinkedService1",
                    "type": "LinkedServiceReference"
                },
                "FilePath":"path2"
            }
        },
        "webServiceOutputs": {
            "<web service output name 1>": {
                "LinkedServiceName":{
                    "referenceName": "AzureStorageLinkedService2",
                    "type": "LinkedServiceReference"
                },
                "FilePath":"path3"
            },
            "<web service output name 2>": {
                "LinkedServiceName":{
                    "referenceName": "AzureStorageLinkedService2",
                    "type": "LinkedServiceReference"
                },
                "FilePath":"path4"
            }
        },
        "globalParameters": {
            "<Parameter 1 Name>": "<parameter value>",
            "<parameter 2 name>": "<parameter 2 value>"
        }
    }
}
Property Beskrivning Obligatoriskt
name Namnet på aktiviteten i pipelinen Ja
description Text som beskriver vad aktiviteten gör. Nej
type För Data Lake Analytics U-SQL-aktivitet är aktivitetstypen AzureMLBatchExecution. Ja
linkedServiceName Länkade tjänster till den länkade ML Studio-tjänsten (klassisk). Mer information om den här länkade tjänsten finns i artikeln Compute linked services (Beräkningslänkade tjänster ). Ja
webServiceInputs Nyckel, Värdepar, mappning av namnen på ML Studio -webbtjänstindata (klassisk). Nyckeln måste matcha de indataparametrar som definierats i den publicerade ML Studio-webbtjänsten (klassisk). Värdet är ett Azure Storage Linked Services- och FilePath-egenskapspar som anger blobplatserna för indata. Nej
webServiceOutputs Nyckel, Värdepar, mappning av namnen på ML Studio-webbtjänstutdata (klassisk). Nyckeln måste matcha utdataparametrarna som definierats i den publicerade ML Studio-webbtjänsten (klassisk). Värdet är ett Azure Storage Linked Services- och FilePath-egenskapspar som anger blobplatserna för utdata. Nej
globalParametrar Nyckel, Värdepar som ska skickas till SLUTpunkten för ML Studio(klassisk) Batch Execution Service. Nycklar måste matcha namnen på webbtjänstparametrar som definierats i den publicerade ML Studio-webbtjänsten (klassisk). Värden skickas i egenskapen GlobalParameters för ML Studio-batchkörningsbegäran (klassisk) Nej

Scenario 1: Experiment med indata/utdata från webbtjänsten som refererar till data i Azure Blob Storage

I det här scenariot gör Machine Learning Studio-webbtjänsten (klassisk) förutsägelser med hjälp av data från en fil i en Azure-bloblagring och lagrar förutsägelseresultatet i bloblagringen. Följande JSON definierar en pipeline med en AzureMLBatchExecution-aktivitet. Indata och utdata i Azure Blog Storage refereras med ett LinkedName- och FilePath-par. I den länkade exempeltjänsten för in- och utdata skiljer sig åt kan du använda olika länkade tjänster för var och en av dina indata/utdata för tjänsten för att kunna hämta rätt filer och skicka till Machine Learning Studio (klassisk) webbtjänst.

Viktigt!

I ml Studio-experimentet (klassiskt) har indata- och utdataportar för webbtjänsten och globala parametrar standardnamn ("input1", "input2") som du kan anpassa. De namn som du använder för webServiceInputs, webServiceOutputs och globalParameters måste exakt matcha namnen i experimenten. Du kan visa nyttolasten för exempelbegäran på sidan Batch-körningshjälp för ml Studio-slutpunkten (klassisk) för att verifiera den förväntade mappningen.

{
    "name": "AzureMLExecutionActivityTemplate",
    "description": "description",
    "type": "AzureMLBatchExecution",
    "linkedServiceName": {
        "referenceName": "AzureMLLinkedService",
        "type": "LinkedServiceReference"
    },
    "typeProperties": {
        "webServiceInputs": {
            "input1": {
                "LinkedServiceName":{
                    "referenceName": "AzureStorageLinkedService1",
                    "type": "LinkedServiceReference"
                },
                "FilePath":"amltest/input/in1.csv"
            },
            "input2": {
                "LinkedServiceName":{
                    "referenceName": "AzureStorageLinkedService1",
                    "type": "LinkedServiceReference"
                },
                "FilePath":"amltest/input/in2.csv"
            }
        },
        "webServiceOutputs": {
            "outputName1": {
                "LinkedServiceName":{
                    "referenceName": "AzureStorageLinkedService2",
                    "type": "LinkedServiceReference"
                },
                "FilePath":"amltest2/output/out1.csv"
            },
            "outputName2": {
                "LinkedServiceName":{
                    "referenceName": "AzureStorageLinkedService2",
                    "type": "LinkedServiceReference"
                },
                "FilePath":"amltest2/output/out2.csv"
            }
        }
    }
}

Scenario 2: Experiment med hjälp av läsar-/skrivarmoduler för att referera till data i olika lagringsenheter

Ett annat vanligt scenario när du skapar ML Studio-experiment (klassiska) är att använda modulerna Importera data och Utdata. Modulen Importera data används för att läsa in data i ett experiment och modulen Utdata är att spara data från experimenten. Mer information om modulerna Importera data och utdata finns i avsnittet Importera data och utdata i MSDN-biblioteket.

När du använder modulerna Importera data och utdata är det bra att använda en webbtjänstparameter för varje egenskap för dessa moduler. Med dessa webbparametrar kan du konfigurera värdena under körning. Du kan till exempel skapa ett experiment med en importdatamodul som använder en Azure SQL Database: XXX.database.windows.net. När webbtjänsten har distribuerats vill du göra det möjligt för webbtjänstens konsumenter att ange en annan logisk SQL-server med namnet YYY.database.windows.net. Du kan använda en webbtjänstparameter för att tillåta att det här värdet konfigureras.

Kommentar

Indata och utdata för webbtjänsten skiljer sig från webbtjänstparametrar. I det första scenariot har du sett hur indata och utdata kan anges för en ML Studio-webbtjänst (klassisk). I det här scenariot skickar du parametrar för en webbtjänst som motsvarar egenskaperna för modulerna Importera data/utdata.

Nu ska vi titta på ett scenario för att använda webbtjänstparametrar. Du har en distribuerad ML Studio-webbtjänst (klassisk) som använder en läsarmodul för att läsa data från en av de datakällor som stöds av ML Studio (klassisk) (till exempel Azure SQL Database). När batchkörningen har utförts skrivs resultaten med hjälp av en Writer-modul (Azure SQL Database). Inga indata och utdata för webbtjänsten definieras i experimenten. I det här fallet rekommenderar vi att du konfigurerar relevanta webbtjänstparametrar för modulerna läsare och skrivare. Med den här konfigurationen kan läsar-/skrivarmodulerna konfigureras när du använder AzureMLBatchExecution-aktiviteten. Du anger webbtjänstparametrar i avsnittet globalParametrar i JSON-aktiviteten enligt följande.

"typeProperties": {
    "globalParameters": {
        "Database server name": "<myserver>.database.windows.net",
        "Database name": "<database>",
        "Server user account name": "<user name>",
        "Server user account password": "<password>"
    }
}

Kommentar

Webbtjänstparametrarna är skiftlägeskänsliga, så se till att de namn som du anger i aktivitets-JSON matchar de som exponeras av webbtjänsten.

När du är klar med omträningen uppdaterar du bedömningswebbtjänsten (förutsägelseexperiment som exponeras som en webbtjänst) med den nyligen tränade modellen med hjälp av ML Studio-uppdateringsresursaktiviteten (klassisk). Mer information finns i artikeln Uppdatera modeller med hjälp av Uppdatera resursaktivitet .

Se följande artiklar som förklarar hur du transformerar data på andra sätt: