Implantar serviços Web (clássicos) do Machine Learning Studio que usam módulos de Importação e Exportação de Dados
APLICA-SE A: Machine Learning Studio (clássico) Azure Machine Learning
Importante
O suporte para o Estúdio de ML (clássico) terminará a 31 de agosto de 2024. Recomendamos a transição para o Azure Machine Learning até essa data.
A partir de 1 de dezembro de 2021, não poderá criar novos recursos do Estúdio de ML (clássico). Até 31 de agosto de 2024, pode continuar a utilizar os recursos existentes do Estúdio de ML (clássico).
- Consulte informações sobre como mover projetos de aprendizado de máquina do ML Studio (clássico) para o Azure Machine Learning.
- Saiba mais sobre o Azure Machine Learning
A documentação do Estúdio de ML (clássico) está a ser descontinuada e poderá não ser atualizada no futuro.
Quando você cria um experimento preditivo, normalmente adiciona uma entrada e saída de serviço Web. Quando você implanta o experimento, os consumidores podem enviar e receber dados do serviço Web por meio das entradas e saídas. Para alguns aplicativos, os dados de um consumidor podem estar disponíveis em um feed de dados ou já residir em uma fonte de dados externa, como o armazenamento de Blob do Azure. Nesses casos, eles não precisam ler e gravar dados usando entradas e saídas de serviços Web. Em vez disso, eles podem usar o BES (Batch Execution Service) para ler dados da fonte de dados usando um módulo Importar Dados e gravar os resultados da pontuação em um local de dados diferente usando um módulo Exportar Dados.
Os módulos Importar Dados e Exportar dados podem ler e gravar em vários locais de dados, como uma URL da Web via HTTP, uma Consulta Hive, um banco de dados no Banco de Dados SQL do Azure, o armazenamento de Tabela do Azure, o armazenamento de Blob do Azure, um fornecimento de Feed de Dados ou um banco de dados do SQL Server.
Este tópico usa o exemplo "Amostra 5: Treinar, Testar, Avaliar para Classificação Binária: Conjunto de Dados Adulto" e assume que o conjunto de dados já foi carregado em uma tabela SQL do Azure chamada censusdata.
Criar a experiência de treinamento
Quando você abre a amostra "Amostra 5: Treinar, Testar, Avaliar para Classificação Binária: Conjunto de Dados de Adultos", ela usa o conjunto de dados de Classificação Binária de Renda do Censo de Adultos. E o experimento na tela será semelhante à seguinte imagem:
Para ler os dados da tabela SQL do Azure:
Exclua o módulo do conjunto de dados.
Na caixa de pesquisa de componentes, digite importar.
Na lista de resultados, adicione um módulo Importar Dados à tela do experimento.
Conecte a saída do módulo Importar dados à entrada do módulo Limpar dados ausentes.
No painel de propriedades, selecione Banco de Dados SQL do Azure na lista suspensa Fonte de Dados.
Nos campos Nome do servidor de banco de dados, Nome do banco de dados, Nome de usuário e Senha, insira as informações apropriadas para o banco de dados.
No campo Consulta de banco de dados, insira a consulta a seguir.
select [age], [workclass], [fnlwgt], [education], [education-num], [marital-status], [occupation], [relationship], [race], [sex], [capital-gain], [capital-loss], [hours-per-week], [native-country], [income] from dbo.censusdata;
Na parte inferior da tela do experimento, clique em Executar.
Criar o experimento preditivo
Em seguida, você configura o experimento preditivo a partir do qual implanta seu serviço Web.
- Na parte inferior da tela do experimento, clique em Configurar Serviço Web e selecione Serviço Web Preditivo [Recomendado].
- Remova os módulos Entrada de Serviço Web e Saída de Serviço Web do experimento preditivo.
- Na caixa de pesquisa de componentes, digite exportar.
- Na lista de resultados, adicione um módulo Exportar dados à tela do experimento.
- Conecte a saída do módulo Score Model à entrada do módulo Export Data .
- No painel de propriedades, selecione Banco de Dados SQL do Azure na lista suspensa de destino de dados.
- Nos campos Nome do servidor de banco de dados, Nome do banco de dados, Nome da conta de usuário do servidor e Senha da conta de usuário do servidor, insira as informações apropriadas para o banco de dados.
- No campo Lista separada por vírgulas de colunas a serem salvas , digite Rótulos pontuados.
- No campo Nome da tabela de dados, digite dbo. ScoredLabels. Se a tabela não existir, ela será criada quando o experimento for executado ou o serviço Web for chamado.
- No campo Lista separada por vírgulas das colunas da tabela de dados, digite ScoredLabels.
Ao escrever um aplicativo que chama o serviço Web final, convém especificar uma consulta de entrada diferente ou uma tabela de destino em tempo de execução. Para configurar essas entradas e saídas, use o recurso Parâmetros do Serviço Web para definir a propriedade Importar fonte de dados do módulo e a propriedade Exportar destino de dados do modo de dados. Para obter mais informações sobre Parâmetros de Serviço Web, consulte a entrada Parâmetros de Serviço Web do Estúdio de Aprendizado de Máquina (clássico) no Blog de Inteligência e Aprendizado de Máquina da Cortana.
Para configurar os Parâmetros do Serviço Web para a consulta de importação e a tabela de destino:
- No painel de propriedades do módulo Importar Dados, clique no ícone no canto superior direito do campo Consulta Banco de Dados e selecione Definir como parâmetro de serviço Web.
- No painel de propriedades do módulo Exportar Dados, clique no ícone no canto superior direito do campo Nome da tabela de dados e selecione Definir como parâmetro de serviço Web.
- Na parte inferior do painel de propriedades do módulo Exportar Dados , na seção Parâmetros do Serviço Web , clique em Consulta de banco de dados e renomeie-a como Consulta.
- Clique em Nome da tabela de dados e renomeie-a Tabela.
Quando terminar, o experimento deverá ser semelhante à imagem a seguir:
Agora você pode implantar o experimento como um serviço Web.
Implementar o serviço Web
Você pode implantar em um serviço Web Clássico ou Novo.
Implantar um serviço Web clássico
Para implantar como um serviço Web clássico e criar um aplicativo para consumi-lo:
Na parte inferior da tela do experimento, clique em Executar.
Quando a execução estiver concluída, clique em Implantar Serviço Web e selecione Implantar Serviço Web [Clássico].
No painel do serviço Web, localize sua chave de API. Copie e salve-o para usar mais tarde.
Na tabela Endpoint padrão, clique no link Execução em lote para abrir a página de ajuda da API.
No Visual Studio, crie um aplicativo de console C#: New>Project>Visual C#>Windows Classic Desktop>Console App (.NET Framework).
Na página de Ajuda da API, localize a seção Código de exemplo na parte inferior da página.
Copie e cole o código de exemplo C# em seu arquivo Program.cs e remova todas as referências ao armazenamento de blob.
Atualize o valor da variável apiKey com a chave API salva anteriormente.
Localize a declaração de solicitação e atualize os valores de Parâmetros de Serviço Web que são passados para os módulos Importar Dados e Exportar Dados . Nesse caso, você usa a consulta original, mas define um novo nome de tabela.
var request = new BatchExecutionRequest() { GlobalParameters = new Dictionary<string, string>() { { "Query", @"select [age], [workclass], [fnlwgt], [education], [education-num], [marital-status], [occupation], [relationship], [race], [sex], [capital-gain], [capital-loss], [hours-per-week], [native-country], [income] from dbo.censusdata" }, { "Table", "dbo.ScoredTable2" }, } };
Execute a aplicação.
Após a conclusão da execução, uma nova tabela é adicionada ao banco de dados contendo os resultados da pontuação.
Implantar um novo serviço Web
Nota
Para implantar um Novo serviço Web, você deve ter permissões suficientes na assinatura na qual implantou o serviço Web. Para obter mais informações, consulte Gerenciar um serviço Web usando o portal de Serviços Web de Aprendizado de Máquina.
Para implantar como um novo serviço Web e criar um aplicativo para consumi-lo:
Na parte inferior da tela do experimento, clique em Executar.
Quando a execução estiver concluída, clique em Implantar Serviço Web e selecione Implantar Serviço Web [Novo].
Na página Implantar Experimento, insira um nome para seu serviço Web e selecione um plano de preços e clique em Implantar.
Na página Guia de início rápido, clique em Consumir.
Na seção Código de exemplo, clique em Lote.
No Visual Studio, crie um aplicativo de console C#: New>Project>Visual C#>Windows Classic Desktop>Console App (.NET Framework).
Copie e cole o código de exemplo C# em seu arquivo Program.cs.
Atualize o valor da variável apiKey com a Chave Primária localizada na seção Informações básicas de consumo.
Localize a declaração scoreRequest e atualize os valores de Parâmetros de Serviço Web que são passados para os módulos Importar Dados e Exportar Dados. Nesse caso, você usa a consulta original, mas define um novo nome de tabela.
var scoreRequest = new { Inputs = new Dictionary<string, StringTable>() { }, GlobalParameters = new Dictionary<string, string>() { { "Query", @"select [age], [workclass], [fnlwgt], [education], [education-num], [marital-status], [occupation], [relationship], [race], [sex], [capital-gain], [capital-loss], [hours-per-week], [native-country], [income] from dbo.censusdata" }, { "Table", "dbo.ScoredTable3" }, } };
Execute a aplicação.