MLaaS com Azure: Que tipo de flor de íris é essa?

Documentos relacionados
MAC 0425/ Inteligência Artificial

K-Nearest Neighbours & RSTUDIO

Elaine Chen, Gerente de Produto. Como usar o R e o Tableau

scikit-learn: Aprendizado de máquina 101 com Python

Redes Neurais no WEKA

WEKA: Prática Carregando a base de dados no Weka

Unidade 08 MATLAB Neural Network Toolkit

Classificação de Padrões. Abordagem prática com Redes Neurais Artificiais

ATIVIDADES PRÁTICAS SUPERVISIONADAS

Aprendizado de Máquina

Inteligência Artificial

Aprendizado de Máquina (Machine Learning)

Introdução ao Tableau Desktop

Inteligência Artificial

Mineração de Dados - II

Banco de Dados Relacionais. Eduardo Ribeiro Felipe

Fundamentos de Lógica e Algoritmos. Aula 3.1 Introdução a Python. Prof. Dr. Bruno Moreno

Função discriminante linear de Fisher

Redes Neurais e Sistemas Fuzzy

Aprendizagem de Máquinas

Fundamentos de Lógica e Algoritmos. Aula 3.1 Introdução a Programação. Prof. Dr. Bruno Moreno

Informática Parte 19 Prof. Márcio Hunecke

Redes Neurais Artificiais. Sistemas de Informação/Ciências da Computação UNISUL Aran Bey Tcholakian Morales, Dr. Eng. (Apostila 9)

X-RiteColor Master Web Edition

Tópicos Especiais: Inteligência Artificial REDES NEURAIS

Manual Técnico. Instalação e Configuração do Reporting Services

Informática. Aprendizado de Máquina. Professor Márcio Hunecke.

Aprendizado de Máquina

Aprendizado de Máquina (Machine Learning)

Passo a Passo. WebSphere Message Broker. Fluxo como WebService

TUTORIAL DE INSTALAÇÃO E USO DO OWL-S COMPOSER utilizando o Eclipse Galileo Modelling Tools

Lojamundi Tecnologia Sem Limites br

Gerando um programa executável a partir de um módulo Python

Figura 1 Tela principal da disciplina

Redes Perceptron e Multilayer Perceptron aplicadas a base de dados IRIS

Configuração do Hangouts para administradores

Algoritmos de Agrupamento - Aprendizado Não Supervisionado. Fabrício Jailson Barth

Programação para web HTML: Formulários

Aprendizado de Máquina

Instalação Serviço de Acompanhamento de Projeto (PCSIS007) Sistema de Gestão da Qualidade

Laboratório de Ciências Computação

Comece a usar o BrightLink Pro

Aprendizado de Máquina

Aprendizagem de Máquina

Guia do Estudante. Web Academy Guia do Estudante

Machine Learning. Classificação de documentos com Apache Mahout.

INTRODUÇÃO A PROGRAMAÇÃO PARA WEB

Comece a usar o BrightLink Pro

Aprendizado de Máquina

Algoritmos e Programação

Inteligência Artificial. Prof. Tiago A. E. Ferreira Aula 21 Projeto de RNA

JOHN MAYER - PARADISE VALLEY

Tutorial Google Docs

EEL891 Aprendizado de Máquina Prof. Heraldo L. S. Almeida. Introdução

Linguagens de Programação

Análise Estatística em Epidemiologia Utilizando o Ambiente R - I

Organização e Arquitetura de Computadores I

Lição 3. Como executar uma aplicação no Arduino?

SEMINÁRIO DOS ARTIGOS:

Roteiro de Configuração do Sistema Supervisório Elipse SCADA - Parte 1. Abrir Elipse SCADA pelo ícone a seguir e selecionar a opção demonstração.

Previsão de Vazões utilizando Redes Neurais Artificiais MLP e NSRBN

Aprendizagem de máquina

Sidicom S4. Tutorial Backup Automático + Backup na nuvem

APOSTILA SCRATCH CONCEITOS BÁSICOS

GERAÇÃO DE ARQUIVOS DE SCRIPT EM PHP. Acadêmico: Leonardo Sommariva Orientador: Alexander Roberto Valdameri

SQL Server Integration Services

Passos para a instalação

1 Montando relatórios personalizados no LimerSoft MasterReport (custo médio)

1.5 PROGRAMAÇÃO DE JOGOS EM AMBIENTE DE REA LIDADE AUMENTADA AMBIENTES INTEGRADOS DE DESENVOLVIMENTO DE JOGOS 19

Técnicas Multivariadas em Saúde. Representação de Dados Multivariados. Métodos Multivariados em Saúde Roteiro. Análise Exploratória de Dados

Introdução ao Python. Programa Computacional

Página 1 de 7 PRÓ-REITORIA DE GRADUAÇÃO ANEXO "F" ESCOLA POLITÉCNICA CURRÍCULO IDEAL (EC3-2018) Curso: Engenharia Elétrica - Ênfase em Computação

Criando um Editor de Diagramas com Sirius

Algoritmos de Agrupamento - Aprendizado Não Supervisionado

Programa CIEE de Educação a Distância

Integração IBM Bluemix, Freeboard e Node-Red Utilização do Freeboard para exibição gráfica dos dados e aplicação do Node-Red para manipulação dos

Introdução ao Tableau Desktop

Aula 02. Prof. Diemesleno Souza Carvalho

Informática para Engenharia

CONTEÚDO PROGRAMÁTICO

Modicon M241 e Modicon M251 Network Variable List (NVL) Bruno Oliveira de Souza e Douglas Pereira da Silva Data: 10/01/17 Versão: V1.

Programação Python. Nesta aula... 1 Programação. 2 Python. Operadores e Operandos Variáveis, Expressões, Instruções Funções Ciclos Comentários

Prof. Natalia Castro Fernandes Mestrado em Telecomunicações UFF 2º semestre/2012

Workshop de Ambientes de apoio à Aprendizagem de Algoritmos e Programação (SBIE 2007) Instituto de Ciências Matemáticas e de Computação ICMC-USP

Transcrição:

MLaaS com Azure: Que tipo de flor de íris é essa?

Douglas Lima Dantas Bacharel em Engenharia de Computação pela UEA (2013-2017) Trainee Samsung Ocean (2015-2017) Mestrando em Engenharia Elétrica pela Poli-USP (2017-*)

O problema Setosa Versicolor Virgínica

Machine Learning é o Caminho!

O que é Machine Learning? Machine Learning, em Inteligência Artificial (um campo em Ciência da Computação), é a disciplina relacionada com a implementação de softwares que possam aprender de forma autônoma Enciclopédia Britânica

Aprendizagem Supervisionada Na aprendizagem supervisionada, o agente observa alguns exemplos de pares de entrada e saída, e aprende uma função que faz o mapeamento da entrada para a saída - RUSSEL, Inteligência Artificial

Aprendizagem não-supervisionada Na aprendizagem não supervisionada, o agente aprende padrões na entrada, embora não seja fornecido nenhum feedback explícito. A tarefa mais comum de aprendizagem não supervisionada é o agrupamento: a detecção de grupos de exemplos de entrada potencialmente úteis - RUSSELL, Inteligência Artificial

Passos para uma aprendizagem supervisionada

Passos para uma aprendizagem supervisionada 1

Passos para uma aprendizagem supervisionada 2

O dataset

O dataset Sepal length Sepal width Petal length Petal width Species 5.2 3.5 1.4 0.2 I. setosa 4.9 3.0 1.4 0.2 I. setosa 4.7 3.2 1.3 0.2 I. setosa 4.6 3.1 1.5 0.2 I. setosa 5.0 3.6 1.4 0.3 I. setosa https://archive.ics.uci.edu/ml/machine-learning-databases/iris/

Machine Learning as a Service (MLaaS) Com Microsoft Azure ML Studio

Treinamento do Modelo

1) Editar o dataset: adicionar cabeçalhos Antes

1) Editar o dataset: adicionar cabeçalhos Depois

2) Carregar o dataset 1 2 3 Acesse studio.azureml.net

2) Carregar o dataset 4

3) Treinar o modelo

Aspecto da tela

4) Arraste os componentes necessários Dataset

4) Arraste os componentes necessários Classificador

4) Arraste os componentes necessários Splitter

4) Arraste os componentes necessários Treinador

5) Faça as ligações

6) Configure os componentes Split Data

6) Configure os componentes Train Model 1 2

7) Cruze seus dedos e execute o experimento Se você fez tudo certo, ele rodará após alguns segundos e dirá que está tudo bem

8) Salve o modelo treinado

Validação do Modelo

1) Crie um novo experimento e adicione os componentes Adicione os seguintes componentes: Dataset Splitter NN Teste em Trained Models Score Model em Machine Learning

2) Estabeleça as conexões Dataset Split 2ª saída de Splitter 2ª entrada de Score Model NN Teste Score Model

Se você fez certo, terá algo como isto. Pode executar!

Visualize o resultado

Visualize o resultado

Publicando seu Webservice

Afinal, que graça tem fazer todas essas coisas legais e não integrar com outros programas? HTTP POST sepal_length HTTP RESPONSE petal_width petal_length sepal_width Webservice class

1) Crie um novo experimento e adicione os componentes Adicione os seguintes componentes: Dataset Select Columns in Dataset NN Teste em Trained Models Score Model em Machine Learning

2) Estabeleça as conexões Dataset Split 2ª saída de Splitter 2ª entrada de Score Model NN Teste Score Model

3) Faça as conexões

4) Configure a seleção de colunas Clique em Select Columns in Dataset Na barra lateral clique em Launch column selector Selecione todas as colunas, exceto class

4) Configure a seleção de colunas Clique em Select Columns in Dataset Na barra lateral clique em Launch column selector Selecione todas as colunas, exceto class

4) Adicione os outros componentes Web service input Web service output Select Columns in Dataset

5) Conecte-os

6) Configure select columns para pegar somente scored labels

7) Execute e depois clique em Deploy Web Service

Se tudo der certo. Aqui você pode fazer testes Aqui você pode ver a documentação do seu web service

Rodando seus próprios scripts Python (ou R)

O azure tem muitos blocos e modelos interessantes, mas... Possuem limitações; Não atendem todas as necessidades; Rodar seu próprio algoritmo pode permitir você saber o que está acontecendo; Permite com que você otimize o código

Python

Python Fácil de aprender e usar Operações mais básicas nativamente implementadas Interpretada Muitos módulos Fácil de integrar com outras linguagens, como CeR

Para estudar http://scikit-learn.org http://pandas.pydata.org http://www.numpy.org http://www.numpy.org

Requisitos de Design Devem ser expressões idiomáticas para usuários de Python; Deve ter alta fidelidade entre execuções locais e na nuvem; Deve ser totalmente combinável com outros módulos do Azure Machine Learning

Estrutura básica do bloco de execução Python https://docs.microsoft.com/pt-br/azure/machine-learning/studio/execute-python-scripts

Estrutura básica do bloco de execução Python https://docs.microsoft.com/pt-br/azure/machine-learning/studio/execute-python-scripts

Conversão de tipos de entrada e saída

Operacionalizando scripts Python

Importação de módulos

Problema Criar um algoritmo que pegue as últimas 10 linhas do dataset e retorne como resposta num WebService.

1) Crie no seu pc um arquivo chamado DataManip.py com o seguinte código e crie um.zip com o nome DataManip.zip: import pandas def getlast10rows(df): return df.tail(10)

2) Envie o.zip para o Azure como um dataset

3) Crie um novo experimento e adicione os seguintes componentes: Iris Dataset Execute Python Script Webservice Output DataManip

4) Faça as conexões:

5) No módulo Execute Script Python faça adicione o seguinte código e execute: import DataManip def azureml_main(dataframe1): return DataManip.getLast10Rows(dataframe1)

6) Pronto, agora você pode testar o seu WebService

Outros tutoriais https://cloudonaut.io/discovering-machine-learning-with-iris-flower-data-set/ https://console.bluemix.net/catalog/services/machine-learning OUTROS http://www.butleranalytics.com/20-machine-learning-service-platforms/

Conclusão Neste aula você: Se familiarizou com o problema da classificação; Aprendeu conceitos básicos de Machine Learning; Configurou um dataset para processamento; Treinou e avaliou um classificador; Aprendeu a criar blocos customizados com Python

Referências Iris Multi-Class Classifier with Azure ML https://www.slideshare.net/davidemauri/iris-multiclass-classifier-with -azure-ml Executar scripts Python de aprendizado de máquina no Azure Machine Learning Studio https://docs.microsoft.com/pt-br/azure/machine-learning/studio/execu te-python-scripts