Een voorspellende pijplijn maken met Behulp van Machine Learning Studio (klassiek) met Azure Data Factory of Synapse Analytics

VAN TOEPASSING OP: Azure Data Factory Azure Synapse Analytics

Tip

Probeer Data Factory uit in Microsoft Fabric, een alles-in-één analyseoplossing voor ondernemingen. Microsoft Fabric omvat alles, van gegevensverplaatsing tot gegevenswetenschap, realtime analyses, business intelligence en rapportage. Meer informatie over het gratis starten van een nieuwe proefversie .

Belangrijk

Ondersteuning voor Azure Machine Learning Studio (klassiek) eindigt op 31 augustus 2024. U wordt aangeraden op die datum over te stappen naar Azure Machine Learning .

Vanaf 1 december 2021 kunt u geen nieuwe Machine Learning Studio-resources (klassiek) maken (werkruimte- en webserviceplan). Tot en met 31 augustus 2024 kunt u de bestaande Experimenten en webservices van Machine Learning Studio (klassiek) blijven gebruiken. Zie voor meer informatie:

Machine Learning Studio -documentatie (klassiek) wordt buiten gebruik gesteld en wordt in de toekomst mogelijk niet bijgewerkt.

Notitie

Omdat Machine Learning Studio-resources (klassiek) niet meer kunnen worden gemaakt na 1 december 2021, wordt u aangeraden om Azure Machine Learning te gebruiken met de Machine Learning Execute Pipeline-activiteit in plaats van de batchuitvoeringsactiviteit te gebruiken om Machine Learning Studio-batches (klassiek) uit te voeren.

Met ML Studio (klassiek) kunt u predictive analytics-oplossingen bouwen, testen en implementeren. Vanuit een algemeen oogpunt wordt dit in drie stappen gedaan:

  1. Maak een trainingsexperiment. U doet deze stap met behulp van ML Studio (klassiek). ML Studio (klassiek) is een ontwikkelomgeving voor visuele samenwerking die u gebruikt om een predictive analytics-model te trainen en te testen met behulp van trainingsgegevens.
  2. Converteer het naar een voorspellend experiment. Zodra uw model is getraind met bestaande gegevens en u er klaar voor bent om nieuwe gegevens te scoren, bereidt en stroomlijnt u uw experiment voor scoren.
  3. Implementeer deze als een webservice. U kunt uw score-experiment publiceren als een Azure-webservice. U kunt gegevens naar uw model verzenden via dit eindpunt van de webservice en resultaatvoorspellingen ontvangen van het model.

Machine Learning Studio (klassiek) gebruiken met Azure Data Factory of Synapse Analytics

Met Azure Data Factory en Synapse Analytics kunt u eenvoudig pijplijnen maken die gebruikmaken van een gepubliceerde Machine Learning Studio-webservice (klassiek) voor predictive analytics. Met behulp van de batchuitvoeringsactiviteit in een pijplijn kunt u Machine Learning Studio-webservice (klassiek) aanroepen om voorspellingen te doen over de gegevens in batch.

Na verloop van tijd moeten de voorspellende modellen in de scoreexperimenten van Machine Learning Studio (klassiek) opnieuw worden getraind met behulp van nieuwe invoergegevenssets. U kunt een model opnieuw trainen vanuit een pijplijn door de volgende stappen uit te voeren:

  1. Publiceer het trainingsexperiment (niet voorspellend experiment) als een webservice. U voert deze stap uit in ML Studio (klassiek) zoals u hebt gedaan om voorspellend experiment in het vorige scenario beschikbaar te maken als een webservice.
  2. Gebruik de ML Studio (klassieke) Batch-uitvoeringsactiviteit om de webservice voor het trainingsexperiment aan te roepen. In principe kunt u de ML Studio (klassieke) Batch Execution-activiteit gebruiken om zowel de trainingswebservice als de scorewebservice aan te roepen.

Nadat u klaar bent met opnieuw trainen, werkt u de scorewebservice (voorspellend experiment dat beschikbaar is als een webservice) bij met het zojuist getrainde model met behulp van de RESOURCE-activiteit van ML Studio (klassiek). Zie Het artikel Over het bijwerken van modellen met resourceactiviteit bijwerken voor meer informatie.

Gekoppelde ML Studio-service (klassiek)

U maakt een gekoppelde Machine Learning Studio-service (klassiek) om een Machine Learning Studio-webservice (klassiek) te koppelen. De gekoppelde service wordt gebruikt door De batchuitvoeringsactiviteit van Machine Learning Studio (klassiek) en de resourceactiviteit bijwerken.

{
    "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"
        }
    }
}

Zie het artikel Compute Linked Services voor beschrijvingen over eigenschappen in de JSON-definitie.

Machine Learning Studio (klassiek) ondersteunt zowel klassieke webservices als nieuwe webservices voor uw voorspellende experiment. U kunt de juiste kiezen voor gebruik vanuit uw Data Factory- of Synapse-werkruimte. Als u de informatie wilt ophalen die nodig is voor het maken van de gekoppelde Machine Learning Studio-service (klassiek), gaat u naar https://services.azureml.net, waar al uw (nieuwe) webservices en klassieke webservices worden vermeld. Klik op de webservice die u wilt openen en klik op De pagina Verbruiken . Kopieer de eigenschap Primaire sleutel voor apiKey en Batch-aanvragen voor mlEndpoint-eigenschap .

ML Studio (classic) Web Services

ML Studio (classic) Batch Execution-activiteit

Het volgende JSON-fragment definieert een ML Studio (klassiek) Batch Execution-activiteit. De activiteitsdefinitie bevat een verwijzing naar de gekoppelde ML Studio-service (klassiek) die u eerder hebt gemaakt.

{
    "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>"
        }
    }
}
Eigenschappen Beschrijving Vereist
name Naam van de activiteit in de pijplijn Ja
beschrijving Tekst die beschrijft wat de activiteit doet. Nee
type Voor Data Lake Analytics U-SQL-activiteit is het activiteitstype AzureMLBatchExecution. Ja
linkedServiceName Gekoppelde services aan de gekoppelde ML Studio-service (klassiek). Zie het artikel Gekoppelde services berekenen voor meer informatie over deze gekoppelde service. Ja
webServiceInputs Sleutel, waardeparen, toewijzing van de namen van ML Studio -webservice-invoer (klassiek). De sleutel moet overeenkomen met de invoerparameters die zijn gedefinieerd in de gepubliceerde ML Studio-webservice (klassiek). Waarde is een gekoppelde Azure Storage-services en FilePath-eigenschappenpaar waarmee de invoerbloblocaties worden opgegeven. Nee
webServiceOutputs Sleutel, waardeparen, toewijzing van de namen van ML Studio-webservice-uitvoer (klassiek). De sleutel moet overeenkomen met de uitvoerparameters die zijn gedefinieerd in de gepubliceerde ML Studio-webservice (klassiek). Waarde is een gekoppeld azure Storage-services- en FilePath-eigenschappenpaar dat de uitvoerbloblocaties opgeeft. Nee
globalParameters Sleutel, waardeparen die moeten worden doorgegeven aan het ML Studio (klassiek) Batch Execution Service-eindpunt. Sleutels moeten overeenkomen met de namen van webserviceparameters die zijn gedefinieerd in de gepubliceerde ML Studio-webservice (klassiek). Waarden worden doorgegeven in de eigenschap GlobalParameters van de ML Studio (klassieke) batchuitvoeringsaanvraag Nee

Scenario 1: Experimenten met behulp van webservice-invoer/-uitvoer die verwijzen naar gegevens in Azure Blob Storage

In dit scenario maakt de Machine Learning Studio-webservice (klassiek) voorspellingen met behulp van gegevens uit een bestand in een Azure Blob-opslag en slaat de voorspellingsresultaten op in de blobopslag. De volgende JSON definieert een pijplijn met een AzureMLBatchExecution-activiteit. Naar de invoer- en uitvoergegevens in Azure Blog Storage wordt verwezen met behulp van een LinkedName- en FilePath-paar. In de voorbeeld-gekoppelde service van invoer en uitvoer zijn verschillend, kunt u verschillende gekoppelde services gebruiken voor elk van uw invoer/uitvoers voor de service om de juiste bestanden op te halen en te verzenden naar de webservice van Machine Learning Studio (klassiek).

Belangrijk

In uw ML Studio-experiment (klassiek) hebben webserviceinvoer- en uitvoerpoorten en globale parameters standaardnamen ('input1', 'input2') die u kunt aanpassen. De namen die u gebruikt voor webServiceInputs, webServiceOutputs en globalParameters-instellingen moeten exact overeenkomen met de namen in de experimenten. U kunt de nettolading van de voorbeeldaanvraag bekijken op de Help-pagina batchuitvoering voor uw ML Studio-eindpunt (klassiek) om de verwachte toewijzing te controleren.

{
    "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: Experimenten met behulp van Reader/Writer-modules om te verwijzen naar gegevens in verschillende opslagen

Een ander veelvoorkomend scenario bij het maken van ML Studio-experimenten (klassiek) is het gebruik van importgegevens- en uitvoergegevensmodules. De module Gegevens importeren wordt gebruikt om gegevens in een experiment te laden en de module Uitvoergegevens is het opslaan van gegevens uit uw experimenten. Zie de onderwerpen Gegevens en uitvoergegevens importeren in msdn-bibliotheek voor meer informatie over de modules Gegevens importeren en uitvoergegevens.

Wanneer u de modules Gegevens importeren en Uitvoergegevens gebruikt, is het raadzaam om een webserviceparameter te gebruiken voor elke eigenschap van deze modules. Met deze webparameters kunt u de waarden configureren tijdens runtime. U kunt bijvoorbeeld een experiment maken met een importgegevensmodule die gebruikmaakt van een Azure SQL Database: XXX.database.windows.net. Nadat de webservice is geïmplementeerd, wilt u de gebruikers van de webservice inschakelen om een andere logische SQL-server met de naam op te geven YYY.database.windows.net. U kunt een webserviceparameter gebruiken om toe te staan dat deze waarde kan worden geconfigureerd.

Notitie

De invoer en uitvoer van de webservice verschillen van de parameters van de webservice. In het eerste scenario hebt u gezien hoe invoer en uitvoer kunnen worden opgegeven voor een ML Studio-webservice (klassiek). In dit scenario geeft u parameters door voor een webservice die overeenkomt met eigenschappen van modules Gegevens/uitvoergegevens importeren.

Laten we eens kijken naar een scenario voor het gebruik van webserviceparameters. U hebt een geïmplementeerde ML Studio-webservice (klassiek) die gebruikmaakt van een lezermodule om gegevens te lezen uit een van de gegevensbronnen die worden ondersteund door ML Studio (klassiek) (bijvoorbeeld: Azure SQL Database). Nadat de batchuitvoering is uitgevoerd, worden de resultaten geschreven met behulp van een Writer-module (Azure SQL Database). Er worden geen invoer en uitvoer van de webservice gedefinieerd in de experimenten. In dit geval raden we u aan relevante webserviceparameters te configureren voor de lezer- en schrijfmodules. Met deze configuratie kunnen de reader-/writer-modules worden geconfigureerd bij het gebruik van de AzureMLBatchExecution-activiteit. U geeft als volgt webserviceparameters op in de sectie globalParameters in de activiteitS-JSON.

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

Notitie

De webserviceparameters zijn hoofdlettergevoelig, dus zorg ervoor dat de namen die u in de JSON-activiteit opgeeft overeenkomen met de namen die worden weergegeven door de webservice.

Nadat u klaar bent met opnieuw trainen, werkt u de scorewebservice (voorspellend experiment dat beschikbaar is als een webservice) bij met het zojuist getrainde model met behulp van de RESOURCE-activiteit van ML Studio (klassiek). Zie Het artikel Over het bijwerken van modellen met resourceactiviteit bijwerken voor meer informatie.

Zie de volgende artikelen waarin wordt uitgelegd hoe u gegevens op andere manieren kunt transformeren: