Share via


Criar um pipeline preditivo usando o Machine Learning Studio (clássico) com o Azure Data Factory ou o Synapse Analytics

APLICA-SE A: Azure Data Factory Azure Synapse Analytics

Gorjeta

Experimente o Data Factory no Microsoft Fabric, uma solução de análise tudo-em-um para empresas. O Microsoft Fabric abrange tudo, desde a movimentação de dados até ciência de dados, análises em tempo real, business intelligence e relatórios. Saiba como iniciar uma nova avaliação gratuitamente!

Importante

O suporte para o Azure Machine Learning Studio (clássico) terminará em 31 de agosto de 2024. Recomendamos que faça a transição para o Azure Machine Learning até essa data.

A partir de 1º de dezembro de 2021, não é possível criar novos recursos (clássicos) do Machine Learning Studio (espaço de trabalho e plano de serviço Web). Até 31 de agosto de 2024, você pode continuar a usar os experimentos e serviços Web existentes do Machine Learning Studio (clássicos). Para obter mais informações, consulte:

A documentação do Machine Learning Studio (clássica) está sendo desativada e pode não ser atualizada no futuro.

Nota

Como os recursos (clássicos) do Machine Learning Studio não podem mais ser criados após 1º de dezembro de 2021, os usuários são incentivados a usar o Azure Machine Learning com a atividade de Pipeline de Execução do Machine Learning em vez de usar a atividade de Execução em Lote para executar lotes do Machine Learning Studio (clássicos).

O ML Studio (clássico) permite criar, testar e implantar soluções de análise preditiva. De um ponto de vista de alto nível, é feito em três etapas:

  1. Crie uma experiência de treinamento. Para fazer esta etapa, use o ML Studio (clássico). O ML Studio (clássico) é um ambiente de desenvolvimento visual colaborativo que você usa para treinar e testar um modelo de análise preditiva usando dados de treinamento.
  2. Converta-o em um experimento preditivo. Depois que seu modelo tiver sido treinado com dados existentes e você estiver pronto para usá-lo para pontuar novos dados, você prepara e simplifica seu experimento para pontuação.
  3. Implante-o como um serviço Web. Você pode publicar seu experimento de pontuação como um serviço Web do Azure. Pode enviar dados para o seu modelo através deste ponto final de serviço Web e receber previsões de resultados do modelo.

Usando o Machine Learning Studio (clássico) com o Azure Data Factory ou o Synapse Analytics

O Azure Data Factory e o Synapse Analytics permitem que você crie facilmente pipelines que usam um serviço Web publicado do Machine Learning Studio (clássico) para análise preditiva. Usando a Atividade de Execução em Lote em um pipeline, você pode invocar o serviço Web do Machine Learning Studio (clássico) para fazer previsões sobre os dados em lote.

Com o tempo, os modelos preditivos nos experimentos de pontuação do Machine Learning Studio (clássicos) precisam ser retreinados usando novos conjuntos de dados de entrada. Você pode treinar novamente um modelo de um pipeline executando as seguintes etapas:

  1. Publique o experimento de treinamento (não o experimento preditivo) como um serviço Web. Você faz esta etapa no ML Studio (clássico) como fez para expor o experimento preditivo como um serviço Web no cenário anterior.
  2. Use a Atividade de Execução em Lote do ML Studio (clássico) para invocar o serviço Web para o experimento de treinamento. Basicamente, você pode usar a atividade ML Studio (clássica) Execução em Lote para invocar o serviço Web de treinamento e o serviço Web de pontuação.

Depois de concluir o retreinamento, atualize o serviço Web de pontuação (experimento preditivo exposto como um serviço Web) com o modelo recém-treinado usando a Atividade de Recursos de Atualização do ML Studio (clássico). Consulte o artigo Atualizando modelos usando a atividade de recurso de atualização para obter detalhes.

Serviço vinculado ML Studio (clássico)

Você cria um serviço vinculado do Estúdio de Aprendizado de Máquina (clássico) para vincular um Serviço Web do Estúdio de Aprendizado de Máquina (clássico). O Serviço Vinculado é usado pela Atividade de Execução em Lote do Machine Learning Studio (clássica) e pela Atividade de Recursos de Atualização.

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

Consulte o artigo Serviços vinculados de computação para obter descrições sobre propriedades na definição JSON.

O Estúdio de Aprendizado de Máquina (clássico) oferece suporte a Serviços Web Clássicos e Novos Serviços Web para seu experimento preditivo. Você pode escolher o correto para usar em seu espaço de trabalho Data Factory ou Sinapse. Para obter as informações necessárias para criar o Serviço Vinculado do Estúdio de Aprendizado de Máquina (clássico), vá para https://services.azureml.net, onde todos os seus (novos) Serviços Web e Serviços Web Clássicos estão listados. Clique no Serviço Web que você deseja acessar e clique em Consumir página. Copie a Chave Primária para a propriedade apiKey e as Solicitações em Lote para a propriedade mlEndpoint.

ML Studio (classic) Web Services

Atividade Batch Execution no ML Studio (clássico)

O trecho JSON a seguir define uma atividade de Execução em Lote do ML Studio (clássica). A definição de atividade tem uma referência ao serviço vinculado ML Studio (clássico) criado anteriormente.

{
    "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 Descrição Obrigatório
nome Nome da atividade no pipeline Sim
descrição Texto descrevendo o que a atividade faz. Não
tipo Para a atividade U-SQL do Data Lake Analytics, o tipo de atividade é AzureMLBatchExecution. Sim
linkedServiceName Serviços Vinculados ao Serviço Vinculado ML Studio (clássico). Para saber mais sobre esse serviço vinculado, consulte o artigo Serviços vinculados de computação. Sim
webServiceInputs Chave, pares de valor, mapeamento dos nomes das entradas de serviço Web (clássico) do ML Studio. A chave deve corresponder aos parâmetros de entrada definidos no serviço Web ML Studio (clássico) publicado. Value é um par de propriedades dos Serviços Vinculados de Armazenamento do Azure e do FilePath que especifica os locais de Blob de entrada. Não
webServiceOutputs Chave, pares de valor, mapeamento dos nomes das saídas de serviço Web (clássico) do ML Studio. A chave deve corresponder aos parâmetros de saída definidos no serviço Web ML Studio (clássico) publicado. Value é um par de propriedades dos Serviços Vinculados de Armazenamento do Azure e do FilePath que especifica os locais de Blob de saída. Não
globalParameters Chave, pares de valor a serem passados para o ponto de extremidade do ML Studio (clássico) do Serviço de Execução em Lote. As chaves devem corresponder aos nomes dos parâmetros do serviço Web definidos no serviço Web ML Studio (clássico) publicado. Os valores são passados na propriedade GlobalParameters da solicitação de execução em lote ML Studio (clássica) Não

Cenário 1: Experimentos usando entradas/saídas de serviço Web que se referem a dados no Armazenamento de Blobs do Azure

Nesse cenário, o serviço Web do Estúdio de Aprendizado de Máquina (clássico) faz previsões usando dados de um arquivo em um armazenamento de blob do Azure e armazena os resultados da previsão no armazenamento de blob. O JSON a seguir define um pipeline com uma atividade AzureMLBatchExecution. Os dados de entrada e saída no Armazenamento de Blog do Azure são referenciados usando um par LinkedName e FilePath. No exemplo de Serviço Vinculado de entradas e saídas diferentes, você pode usar diferentes Serviços Vinculados para cada uma de suas entradas/saídas para que o serviço possa pegar os arquivos certos e enviar para o Serviço Web do Machine Learning Studio (clássico).

Importante

Em seu experimento ML Studio (clássico), as portas de entrada e saída do serviço Web e os parâmetros globais têm nomes padrão ("input1", "input2") que você pode personalizar. Os nomes usados para as configurações webServiceInputs, webServiceOutputs e globalParameters devem corresponder exatamente aos nomes nos experimentos. Você pode exibir a carga útil de solicitação de exemplo na página Ajuda de Execução em Lote para seu ponto de extremidade ML Studio (clássico) para verificar o mapeamento esperado.

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

Cenário 2: Experimentos usando módulos de leitor/gravador para fazer referência a dados em vários armazenamentos

Outro cenário comum ao criar experimentos do ML Studio (clássico) é usar os módulos Import Data e Output Data. O módulo Importar dados é usado para carregar dados em um experimento e o módulo Dados de saída é para salvar dados de seus experimentos. Para obter detalhes sobre os módulos Importar Dados e Dados de Saída, consulte os tópicos Importar Dados e Dados de Saída na Biblioteca MSDN.

Ao usar os módulos Import Data e Output Data, é uma boa prática usar um parâmetro de serviço Web para cada propriedade desses módulos. Esses parâmetros da Web permitem que você configure os valores durante o tempo de execução. Por exemplo, você pode criar um experimento com um módulo Importar Dados que usa um Banco de Dados SQL do Azure: XXX.database.windows.net. Depois que o serviço Web tiver sido implantado, você deseja permitir que os consumidores do serviço Web especifiquem outro servidor SQL lógico chamado YYY.database.windows.net. Você pode usar um parâmetro de serviço Web para permitir que esse valor seja configurado.

Nota

A entrada e a saída do serviço Web são diferentes dos parâmetros do serviço Web. No primeiro cenário, você viu como uma entrada e saída podem ser especificadas para um serviço Web ML Studio (clássico). Nesse cenário, você passa parâmetros para um serviço Web que correspondem às propriedades dos módulos Import Data/Output Data.

Vamos examinar um cenário para usar parâmetros de serviço Web. Você tem um serviço Web ML Studio (clássico) implantado que usa um módulo leitor para ler dados de uma das fontes de dados suportadas pelo ML Studio (clássico) (por exemplo: Banco de Dados SQL do Azure). Depois que a execução em lote é executada, os resultados são gravados usando um módulo Writer (Banco de Dados SQL do Azure). Nenhuma entrada e saída de serviço Web é definida nos experimentos. Nesse caso, recomendamos que você configure parâmetros de serviço Web relevantes para os módulos de leitor e gravador. Essa configuração permite que os módulos de leitor/gravador sejam configurados ao usar a atividade AzureMLBatchExecution. Você especifica parâmetros de serviço Web na seção globalParameters na atividade JSON da seguinte maneira.

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

Nota

Os parâmetros do serviço Web diferenciam maiúsculas de minúsculas, portanto, certifique-se de que os nomes especificados na atividade JSON correspondam aos expostos pelo serviço Web.

Depois de concluir o retreinamento, atualize o serviço Web de pontuação (experimento preditivo exposto como um serviço Web) com o modelo recém-treinado usando a Atividade de Recursos de Atualização do ML Studio (clássico). Consulte o artigo Atualizando modelos usando a atividade de recurso de atualização para obter detalhes.

Consulte os seguintes artigos que explicam como transformar dados de outras maneiras: