Creare una pipeline predittiva usando Machine Learning Studio (versione classica) con Azure Data Factory o Synapse Analytics

SI APPLICA A: Azure Data Factory Azure Synapse Analytics

Suggerimento

Provare Data Factory in Microsoft Fabric, una soluzione di analisi completa per le aziende. Microsoft Fabric copre tutti gli elementi, dallo spostamento dei dati all'analisi scientifica dei dati, all'analisi in tempo reale, alla business intelligence e alla creazione di report. Scopri come avviare gratuitamente una nuova versione di valutazione .

Importante

Il supporto dello studio di Azure Machine Learning (versione classica) terminerà il 31 agosto 2024. È consigliabile passare ad Azure Machine Learning entro tale data.

A partire dal 1° dicembre 2021, non sarà possibile creare nuove risorse di Machine Learning Studio (versione classica) (area di lavoro e piano di servizio Web). Fino al 31 agosto 2024, è possibile continuare a usare gli esperimenti e i servizi Web esistenti di Machine Learning Studio (versione classica).

La documentazione relativa allo studio di Machine Learning (versione classica) è in fase di ritiro e potrebbe non essere aggiornata in futuro.

Nota

Poiché le risorse di Machine Learning Studio (versione classica) non possono più essere create dopo il 1° dicembre 2021, gli utenti sono invitati a usare Azure Machine Learning con l'attivitàExecute Pipeline di Machine Learning anziché usare l'attività Esecuzione batch per eseguire batch di Machine Learning Studio (versione classica).

ML Studio (versione classica) consente di compilare, testare e distribuire soluzioni di analisi predittiva. Da un punto di vista generale, questo avviene in tre passaggi:

  1. Creare un esperimento di training. A questo scopo, usare ML Studio (versione classica). ML Studio (versione classica) è un ambiente di sviluppo visivo collaborativo usato per eseguire il training e il test di un modello di analisi predittiva usando i dati di training.
  2. Convertirlo in un esperimento predittivo. Dopo aver eseguito il training del modello con i dati esistenti, preparare e semplificare l'esperimento di assegnazione dei punteggi quando si è pronti a usarlo per valutare nuovi dati.
  3. Distribuirlo come servizio Web. È possibile pubblicare l'esperimento di assegnazione dei punteggi come servizio Web di Azure. È possibile inviare dati al modello tramite l'endpoint di questo servizio Web e ricevere le stime dei risultati dal modello.

Uso di Machine Learning Studio (versione classica) con Azure Data Factory o Synapse Analytics

Azure Data Factory e Synapse Analytics consentono di creare facilmente pipeline che usano un servizio Web di Machine Learning Studio (versione classica) pubblicato per l'analisi predittiva. Usando l'attività di esecuzione batch in una pipeline, è possibile richiamare il servizio Web di Machine Learning Studio (versione classica) per eseguire stime sui dati in batch.

Nel corso del tempo, è necessario ripetere il training dei modelli predittivi negli esperimenti di assegnazione dei punteggi di Machine Learning Studio (versione classica) usando nuovi set di dati di input. È possibile ripetere il training di un modello da una pipeline seguendo questa procedura:

  1. Pubblicare l'esperimento di training, non l'esperimento predittivo, come servizio Web. Eseguire questo passaggio in ML Studio (versione classica) come si è fatto per esporre l'esperimento predittivo come servizio Web nello scenario precedente.
  2. Usare l'attività di esecuzione batch di ML Studio (versione classica) per richiamare il servizio Web per l'esperimento di training. In pratica, è possibile usare l'attività di esecuzione batch di ML Studio (versione classica) per richiamare il servizio Web di training e il servizio Web di assegnazione dei punteggi.

Al termine della ripetizione del training, aggiornare il servizio Web di assegnazione dei punteggi (esperimento predittivo esposto come servizio Web) con il modello appena sottoposto a training usando l'attività della risorsa di aggiornamento di ML Studio (versione classica). Per informazioni dettagliate, vedere l'articolo Updating models using Update Resource Activity (Aggiornamento dei modelli con Attività della risorsa di aggiornamento).

Servizio collegato ML Studio (versione classica)

Si crea un servizio collegato di Machine Learning Studio (versione classica) per collegare un servizio Web di Machine Learning Studio (versione classica). Il servizio collegato viene usato dall'attività di esecuzione batch di Machine Learning Studio (versione classica) e dall'attività aggiorna risorse.

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

Vedere l'articolo Servizi collegati di calcolo per le descrizioni sulle proprietà nella definizione JSON.

Machine Learning Studio (versione classica) supporta sia i servizi Web classici che i nuovi servizi Web per l'esperimento predittivo. È possibile scegliere quello giusto da usare dall'area di lavoro di Data Factory o Synapse. Per ottenere le informazioni necessarie per creare il servizio collegato di Machine Learning Studio (versione classica), passare a https://services.azureml.net, dove sono elencati tutti i servizi Web (nuovi) e i servizi Web classici. Fare clic sul servizio Web cui si desidera accedere e fare clic sulla pagina Consume (Uso). Copiare la chiave primaria per la proprietà apiKey e le richieste batch per la proprietà mlEndpoint.

ML Studio (classic) Web Services

Attività di esecuzione batch di ML Studio (versione classica)

Il frammento JSON seguente definisce un'attività di esecuzione batch di ML Studio (classica). La definizione dell'attività ha un riferimento al servizio collegato ML Studio (versione classica) creato in precedenza.

{
    "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>"
        }
    }
}
Proprietà Descrizione Richiesto
name Nome dell'attività nella pipeline
description Testo che descrive l'attività. No
Tipo Per l'attività U-SQL di Data Lake Analytics, il tipo di attività è AzureMLBatchExecution.
linkedServiceName Servizi collegati al servizio collegato di ML Studio (versione classica). Per informazioni su questo servizio collegato, vedere l'articolo Servizi collegati di calcolo.
webServiceInputs Coppie chiave, valore, mapping dei nomi degli input del servizio Web di ML Studio (versione classica). La chiave deve corrispondere ai parametri di input definiti nel servizio Web di ML Studio (versione classica) pubblicato. Il valore è una coppia di proprietà FilePath e dei servizi collegati di archiviazione di Azure che specifica i percorsi BLOB di input. No
webServiceOutputs Coppie chiave, valore, mapping dei nomi degli output dei servizi Web di ML Studio (versione classica). La chiave deve corrispondere ai parametri di output definiti nel servizio Web di ML Studio (versione classica) pubblicato. Il valore è una coppia di proprietà FilePath e dei servizi collegati di archiviazione di Azure che specifica i percorsi BLOB di output. No
globalParameters Coppie chiave, valore da passare all'endpoint del servizio di esecuzione batch di ML Studio (versione classica). Le chiavi devono corrispondere ai nomi dei parametri del servizio Web definiti nel servizio Web di ML Studio (versione classica) pubblicata. I valori vengono passati nella proprietà GlobalParameters della richiesta di esecuzione batch di ML Studio (versione classica) No

Scenario 1: Esperimenti di uso degli input/output del servizio Web che fanno riferimento ai dati presenti nell'archiviazione BLOB di Azure

In questo scenario, il servizio Web di Machine Learning Studio (versione classica) esegue stime usando i dati di un file in un archivio BLOB di Azure e archivia i risultati della stima nell'archivio BLOB. Il codice JSON seguente definisce una pipeline con un'attività AzureMLBatchExecution. Viene fatto riferimento ai dati di input e output nell'archiviazione BLOB di Azure tramite una coppia di LinkedName e FilePath. Nell'esempio Servizio collegato di input e output sono diversi, è possibile usare servizi collegati diversi per ognuno degli input/output per il servizio in modo da poter raccogliere i file corretti e inviarli al servizio Web di Machine Learning Studio (versione classica).

Importante

Nell'esperimento di ML Studio (versione classica), le porte di input e output del servizio Web e i parametri globali hanno nomi predefiniti ("input1", "input2") che è possibile personalizzare. I nomi scelti per le impostazioni webServiceInputs, webServiceOutputs e globalParameters devono corrispondere esattamente ai nomi negli esperimenti. È possibile visualizzare il payload della richiesta di esempio nella pagina Della Guida per l'esecuzione di Batch per l'endpoint di ML Studio (versione classica) per verificare il mapping previsto.

{
    "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: Esperimenti di uso dei moduli Reader e Writer per fare riferimento ai dati in diversi archivi

Un altro scenario comune durante la creazione di esperimenti di ML Studio (versione classica) consiste nell'usare i moduli Importa dati e Dati di output. Il modulo Import Data consente di caricare i dati in un esperimento, mentre il modulo Output Data consente di salvare i dati derivanti dagli esperimenti. Per informazioni dettagliate sui moduli Import Data e Output Data, vedere gli argomenti Import Data e Output Data in MSDN Library.

Quando si usano i moduli Import Data e Output Data, è consigliabile usare un parametro del servizio Web per ogni proprietà di tali moduli. Questi parametri Web consentono di configurare i valori durante il runtime. Ad esempio, è possibile creare un esperimento con un modulo Import Data che usa un database SQL di Azure: XXX.database.windows.net. Dopo aver distribuito il servizio Web, si vuole consentire ai consumer del servizio Web di specificare un altro server SQL logico denominato YYY.database.windows.net. È possibile usare un parametro del servizio Web per consentire la configurazione di questo valore.

Nota

L'input e l'output del servizio Web sono diversi dai parametri del servizio Web. Nel primo scenario si è visto come è possibile specificare un input e un output per un servizio Web ml Studio (versione classica). In questo scenario si passano i parametri per un servizio Web corrispondenti alle proprietà dei moduli Import Data e Output Data.

Viene preso in esame uno scenario relativo all'uso dei parametri del servizio Web. È stato distribuito un servizio Web ml Studio (versione classica) che usa un modulo lettore per leggere i dati da una delle origini dati supportate da ML Studio (versione classica), ad esempio database SQL di Azure. Dopo l'esecuzione batch, i risultati vengono scritti usando un modulo Writer (database SQL di Azure). Negli esperimenti non sono definiti input e output del servizio Web. In questo caso, è consigliabile configurare i parametri del servizio Web rilevanti per i moduli Reader e Writer. Ciò consente la configurazione dei moduli Reader e Writer quando si usa l'attività AzureMLBatchExecution. Specificare i parametri del servizio Web nella sezione globalParameters del codice JSON dell'attività come indicato di seguito.

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

Nota

I parametri del servizio Web applicano la distinzione tra maiuscole e minuscole. È quindi necessario assicurarsi che i nomi specificati nel file JSON dell'attività corrispondano ai nomi esposti dal servizio Web.

Al termine della ripetizione del training, aggiornare il servizio Web di assegnazione dei punteggi (esperimento predittivo esposto come servizio Web) con il modello appena sottoposto a training usando l'attività della risorsa di aggiornamento di ML Studio (versione classica). Per informazioni dettagliate, vedere l'articolo Updating models using Update Resource Activity (Aggiornamento dei modelli con Attività della risorsa di aggiornamento).

Vedere gli articoli seguenti, che illustrano altre modalità di trasformazione dei dati: