Buscar

Analise Preditiva com Azure Machine Learning e R

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 3, do total de 345 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 6, do total de 345 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 9, do total de 345 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Prévia do material em texto

Análise preditiva com Azure Machine Learning e R 
 
 
MVTech · 2 
 
 
 
 
 
Análise preditiva com Azure Machine Learning e R 
 
 
MVTech · 3 
 
 
 
 
ANÁLISE PREDITIVA 
COM AZURE MACHINE 
LEARNING E R 
 
 
 
Fazer uma análise preditiva é permitir que suas 
análises dêem um passo à frente no uso de 
Business Intelligence convencional. 
 
 
 
Diego Nogare 
Thiago Zavaschi 
 
 
 
 
 
Análise preditiva com Azure Machine Learning e R 
 
 
MVTech · 4 
 
 
Análise preditiva com Azure Machine Learning e R 
 
 
MVTech · 5 
 
 
 
 
 
 
 
Análise preditiva com Azure Machine Learning e R 
 
 
MVTech · 6 
 
 
 
 
Análise preditiva com Azure Machine Learning e R 
 
 
MVTech · 7 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Às nossas famílias. 
 
Análise preditiva com Azure Machine Learning e R 
 
 
MVTech · 8 
 
Análise preditiva com Azure Machine Learning e R 
 
 
MVTech · 9 
Apresentação 
 
Seja bem vindo! 
Esta produção tem o objetivo de abrir sua mente para cenários e 
aplicações que possam resultar em resultados fantásticos quando aplicados 
de forma correta. Os autores, Diego Nogare e Thiago Zavaschi, possuem 
experiência acadêmica e profissional nestas áreas e compartilharão contigo 
nos 10 capítulos desta obra, os caminhos das pedras para começar e terminar 
seus projetos utilizando a plataforma Azure Machine Learning. 
Este livro possui uma mistura de teoria e prática, permitindo uma 
leitura agradável do início ao fim. Ao ler a produção e realizar os exercícios 
práticos, você terá a chance de fixar o conteúdo e aprender na prática o que 
um cientista de dados faz. 
Independentemente de você ser um profissional que desenvolve 
software ou que mantém e sustentação um ambiente de infraestrutura, ou um 
gestor de pessoas e até mesmo um médico, você poderá ter resultados 
favoráveis para suas atividades se entender os processos e aplicar o 
aprendizado de máquinas a uma necessidade que enfrenta. 
Relaxe, abra seus horizontes e divirta-se nestas próximas quase 350 
páginas que foram escritas com muita dedicação e carinho. 
 
Análise preditiva com Azure Machine Learning e R 
 
 
MVTech · 10 
Prefácio 
 
A quantidade de dados gerados hoje pela grande variedade de 
sistemas e dispositivos é assustadora… Empresas, pessoas, indústria, trânsito, 
medicina, bancos, etc. etc. etc… Todos os segmentos hoje possuem uma 
capacidade de informações que claramente no passado não se imaginaria. E 
o mais incrível é que estamos ainda engatinhando, ou seja, em poucos anos 
isso crescerá exponencialmente. 
Onde está o desafio? As oportunidades? 
O dado está ai! Dificilmente você não tem o dado que você precisa. E 
se você não tem, provavelmente consegue capturar e em algum tempo já ter 
uma amostra significativa, e aí vem a oportunidade: e agora, o que faço com 
isso? 
Essa é A pergunta! 
Hoje conseguir essa resposta, tirar alguma informação que vale ouro, 
pode ser sim um grande diferencial competitivo. 
Falando um pouco da vida real, sou responsável pelo time de 
Tecnologia do Grupo Minha Vida, onde atingimos todos os meses mais de 20 
milhões de pessoas com diversas plataformas digitais, onde uma delas é o 
Dieta e Saúde. Um app onde os usuários adicionam todas as suas refeições, 
com mais de 300 milhões de refeições inseridas por ano. Esse dado nos ajuda 
a entender melhor o comportamento da dieta das pessoas, oferecer sugestões 
de cardápios muito mais personalizados, escalar uma metodologia a partir do 
conhecimento real do consumo das pessoas. É um cruzamento de dados 
insano que nenhum profissional conseguiria manualmente capturar e muito 
menos analisar. Isso é só um exemplo de muitos que já praticamos hoje e de 
verdade mudamos de ponta cabeça nossos produtos e negócios… O fato 
curioso é que essa visão é nova e me lembro de anos atrás cogitamos 
“expurgar” dados do passado: “esse dado não serve para nada mesmo”. Ainda 
bem que não fizemos isso :). 
 
Análise preditiva com Azure Machine Learning e R 
 
 
MVTech · 11 
As tecnologias estão ai! Os dados também! Agora é a sua vez. 
Neste livro você terá a oportunidade de aprender as principais 
tecnologias do mercado para dar os primeiros passos nessa exploração! Você 
aprenderá através de um conteúdo de simples leitura e com exemplos práticos 
um conteúdo ainda raro. 
Sem dúvida alguma você terá um diferencial no mercado enorme, 
uma vez que ainda é um mercado com poucos profissionais e com uma 
demanda do mercado gigantesca. 
Recomendo a leitura deste livro para todo profissional de tecnologia, 
mesmo os que não vão de fato trabalhar no dia-a-dia como um cientista de 
dados, analista de BI ou algo do gênero, pois é um conhecimento que sem 
dúvida alguma será útil para todas as áreas. 
 
Alexandre Tarifa – Diretor de TI do Grupo Minha Vida 
 
Análise preditiva com Azure Machine Learning e R 
 
 
MVTech · 12 
Sumário 
 
1 – O DIA-A-DIA DO CIENTISTA DE DADOS .......................................... 17 
Por onde começar? .............................................................................................. 18 
Evolução contínua para solidificar o conhecimento ............................................. 23 
Mas, afinal, o que é um Cientista de Dados? ....................................................... 37 
2 – INTRODUÇÃO À APRENDIZAGEM DE MÁQUINA E AO AZURE 
MACHINE LEARNING ......................................................................... 44 
O que é Aprendizagem de Máquina? ................................................................... 44 
As Motivações para Aprender ............................................................................. 45 
Conceitos Fundamentais...................................................................................... 46 
Características ................................................................................................. 46 
Classes............................................................................................................. 47 
Aprendizagem Supervisionada e Não-Supervisionada ......................................... 48 
Azure Machine Learning – AzureML..................................................................... 50 
Conhecendo o AzureML Studio ............................................................................ 52 
Aba Projects .................................................................................................... 53 
Aba Experiments ............................................................................................. 54 
Aba Web Services ............................................................................................ 54 
Aba Notebooks ................................................................................................ 54 
Aba Datasets ................................................................................................... 56 
Aba Trained Models ......................................................................................... 58 
Aba Settings .................................................................................................... 58 
Botão + NEW ................................................................................................... 59 
Análise preditiva com Azure Machine Learning e R 
 
 
MVTech · 13 
Módulos do Azure Machine Learning .................................................................. 60 
3 – TRABALHANDO COM DADOS EXTERNOS ...................................... 63 
A importância dos dados .....................................................................................63 
Obtenção de dados .............................................................................................. 73 
Lendo dados externos ao Azure Machine Learning .............................................. 75 
Escrevendo dados a partir do Azure Machine Learning........................................ 82 
4 – CRIANDO O PRIMEIRO MODELO .................................................. 90 
Identificando o problema .................................................................................... 90 
Componentes necessários ................................................................................... 91 
Criando o primeiro modelo .................................................................................. 93 
Organizando os Experimentos em Projetos ....................................................... 119 
5 – VALIDANDO UM MODELO NO AZUREML .................................... 123 
Evaluate Model ................................................................................................. 123 
Validando Modelos............................................................................................ 125 
Matriz de Confusão........................................................................................ 125 
Acurácia ........................................................................................................ 128 
Precisão ......................................................................................................... 129 
Recall ............................................................................................................ 129 
F1-Score ........................................................................................................ 130 
Curva ROC e AUC ........................................................................................... 130 
Precision/Recall e Lift..................................................................................... 132 
Modelos de Regressão ....................................................................................... 133 
Análise preditiva com Azure Machine Learning e R 
 
 
MVTech · 14 
Cross Validate Model ......................................................................................... 134 
Módulo Partition and Sample ............................................................................ 138 
Sampling ....................................................................................................... 139 
Assign to Folds ............................................................................................... 140 
Pick Fold ........................................................................................................ 140 
Head ............................................................................................................. 141 
6 – EXPONDO MODELOS ATRAVÉS DE WEB SERVICES ....................... 143 
Introdução e publicação dos web services do Azure Machine Learning ............. 143 
Configuração dos web services publicados ........................................................ 147 
Aba Dashboard .............................................................................................. 147 
Aba Configuration .......................................................................................... 150 
Alterando os Parâmetros do Web Service.......................................................... 152 
APIs de Retreino – Retraining APIs .................................................................... 156 
7 – INTRODUÇÃO À ALGORITMOS DE MACHINE LEARNING .............. 160 
Introdução aos grupos de algoritmos ................................................................ 160 
Modelos de Regressão ....................................................................................... 163 
Regressão linear ............................................................................................ 163 
Regressão Logística ........................................................................................ 169 
Classificação ...................................................................................................... 172 
SVM - Support Vector Machines ........................................................................ 173 
Support Vector Machines para problemas não binários.................................. 178 
Árvores de Decisão, Decision Trees, e Árvores de Decisão Otimizadas, Boosted 
Decision Trees ............................................................................................... 180 
Redes Neurais................................................................................................ 189 
Cluster K-Means ................................................................................................ 199 
Agrupamento dos Dados ............................................................................... 199 
Análise preditiva com Azure Machine Learning e R 
 
 
MVTech · 15 
Entendendo Como Funciona o Algoritmo ....................................................... 204 
Escolhendo a Quantidade de K (Clusters) no Algoritmo ..................................... 209 
Detecção de Anomalias ..................................................................................... 215 
Support Vector Machine de Uma Classe ......................................................... 216 
Detecção de anomalia baseado em Principal Component Analysis ................. 220 
Caminho das pedras na escolha do algoritmo .................................................... 224 
8 – INTERAGINDO COM MODELOS ATRAVÉS DE NOTEBOOKS ........... 226 
Criando um notebook no AzureML .................................................................... 226 
Integração dos Notebooks ao AzureML ............................................................. 235 
Interagindo com um dataset do AzureML .......................................................... 238 
Publicando Web Services ................................................................................... 241 
Consumindo um Web Service ........................................................................ 244 
9 – AUMENTANDO AS POSSIBILIDADES COM R ................................ 247 
IDE para desenvolvimento ................................................................................. 247 
Utilizando a Linguagem R – Conceitos e Estruturas ............................................ 248 
Expressões Aritméticas e Strings .................................................................... 249 
Variáveis ........................................................................................................ 250 
Funções ......................................................................................................... 251 
Executando Arquivos ..................................................................................... 254 
Vetores.......................................................................................................... 255 
Matrizes ........................................................................................................ 259 
Plotando Vetores e Matrizes .......................................................................... 261 
Data Frames .................................................................................................. 268 
Instalando Novos Pacotes .................................................................................. 276 
Instalando e Usando um Pacote do CRAN ...................................................... 277 
Análise preditiva com Azure Machine Learning e R 
 
 
MVTech · 16 
Exemplos utilizados no Capítulo 1 – Dia-a-Dia do Cientista de Dados ................ 280 
Regressão Linear............................................................................................281 
Histograma e Diagrama de Caixa .................................................................... 285 
Clusterização ................................................................................................. 290 
Azure Machine Learning com R.......................................................................... 300 
O Módulo “Execute R Script” ......................................................................... 300 
Utilizar um script R codificado diretamente no componente .......................... 301 
Utilização de um script codificado fora da plataforma .................................... 302 
Utilizando uma biblioteca externa .................................................................. 306 
Interagindo com datasets externos ................................................................ 307 
Criando um modelo de aprendizagem de máquina dentro do módulo Execute R 
Script. ............................................................................................................ 309 
Visualizando todas as bibliotecas do R instaladas no AzureML ........................ 310 
O módulo Create R Model.............................................................................. 310 
Configurando o módulo Create R Model para criar um modelo de Naïve Bayes
...................................................................................................................... 312 
10 – VISUALIZAÇÃO DE DADOS ........................................................ 315 
CONCLUSÃO ................................................................................... 345 
 
 
 
Análise preditiva com Azure Machine Learning e R 
 
 
MVTech · 17 
1 – O dia-a-dia do cientista de dados 
O papel do cientista de dados na sociedade, nos dias em que esta 
publicação foi escrita, ainda recebe uma aura endeusada por ser algo 
considerado novo e complexo. Porém, essa roupagem de utilizar o termo 
“cientista” com toda sua pompa e glamour só fez com que aumentasse esse 
misticismo ao redor da profissão. Imagine o cenário de uma análise de genes 
do DNA humano utilizando redes neurais com alguns bilhões de observações 
(conhecidos como linhas [ou registros] dentro da área de banco de dados) 
contendo algumas centenas de variáveis (conhecidas como colunas no banco 
de dados); isso parece ser enorme e deve dar um trabalho hercúleo para 
resolver. Alguém para trabalhar com esse cenário precisa ser um CIENTISTA. 
Ledo engano! Estatísticos enfrentam cenários similares em diversas ocasiões 
durante suas carreiras e isso não os torna semideuses com toda essa aura 
envolvida por não terem o título de cientista em sua carteira de trabalho. O 
papel do cientista de dados é, sim, analisar, destrinchar, esmiuçar, cruzar e 
porque não também caçar respostas nessa massa de dados. Estatísticos e 
matemáticos já fazem isso há anos, e por uma atuação pesada das áreas de 
marketing no mercado, hoje existem vários cientistas de dados de profissão 
que não são estatísticos ou matemáticos por formação, mas que exercem 
muito bem este papel no seu dia-a-dia. O objetivo deste capítulo é apresentar 
diversas técnicas que serão detalhadas em capítulos futuros, processos e 
ações que devem ser trabalhados pelo profissional que está usando modelos 
preditivos estatísticos para exercer sua função dentro da necessidade do seu 
negócio. 
Não desista porque você não é formado em física, por não ter um 
entendimento grande da matemática ou em estatísticas para saber a diferença 
entre média e mediana. Todos nós começamos nossos estudos em algum 
momento da vida e, neste momento, estamos todos praticamente no mesmo 
nível. No final deste livro espero que tenha aprendido todas as técnicas 
apresentada e, então, terá insumos para exercer melhor suas atividades 
diárias. 
 
Análise preditiva com Azure Machine Learning e R 
 
 
MVTech · 18 
Por onde começar? 
 
Considero um bom ponto de partida sempre olhar os dados. Não é 
necessário olhar todo o universo de dados a ser analisado, mas apenas uma 
parte dele para que você tenha uma ideia de como estão estes dados e de 
como pode dar o próximo passo. Com essa visão inicial para conhecer a 
amostra dos dados seu papel será definir quais caminhos serão seguidos para 
poder responder as perguntas que lhe fizeram. Muitas vezes, as perguntas 
parecem vagas e superficiais, mas isso não tira sua seriedade. Seus clientes, 
internos ou externos pedirão respostas para perguntas do tipo “Como faço 
para vender mais?” Ou “Qual o melhor produto para mim?” Ou então “Quais 
são os perfis que mais utilizam este serviço?”. Todas estas respostas podem 
ser dadas através da análise de dados, e isso é uma das suas atribuições. 
Para responder à pergunta “Como posso vender mais?”, devem ser 
analisados dados de vendas do passado para encontrar o padrão de 
comportamento que fez as vendas aumentarem. Este padrão pode 
representar que o aumento em campanhas de marketing no fator de 5% ao 
mês nos últimos 18 meses fez as pessoas comprarem mais produtos. Ou então 
o padrão encontrado pode apresentar que as vendas aumentaram por causa 
de novos clientes que começaram a frequentar a loja e consumiram mais. A 
resposta encontrada para uma massa de dados A não é, necessariamente, a 
mesma resposta se analisada a massa de dados B, por mais que sejam da 
mesma rede de lojas e estejam situadas na mesma cidade. Depois de descobrir 
o motivo do aumento de vendas do passado, estima-se que continuar 
realizando as mesmas ações de sucesso faz com que o crescimento continue 
seguindo a mesma ordem de grandeza, correto? Não necessariamente! 
Existem fatores externos a essas análises iniciais que os dados apresentaram. 
Quais fatores externos podem impactar os números que vinham crescendo 
linearmente nos últimos meses e os fizeram desacelerar mesmo seguindo os 
mesmos investimentos em marketing? Será que o preço do barril de petróleo 
impacta minhas vendas, ou então será as chuvas que alagaram os campos de 
produção de feijão fizeram o preço do meu produto disparar e isso diminuiu 
as vendas? 
Análise preditiva com Azure Machine Learning e R 
 
 
MVTech · 19 
Descobrir estes agentes também é o seu papel. Pensar, pensar e 
pensar. Quais ações ou produtos estão impactando o crescimento fará o CEO, 
que quer saber como vender mais, confiar ou não nas suas análises futuras. 
Até este momento, no cenário de aumento de vendas, o que foi feito foi um 
forecast padrão, pois segue somente os dados do passado para avançar a 
projeção do futuro com o mesmo fator de crescimento. Depois de definir as 
variáveis que fizeram parte desta descoberta de dados, e qual técnica pode 
ser aplicada neste modelo, será possível responder uma pergunta que avança 
a partir da anterior. Imagine a cena da apresentação do resultado para seu 
CEO, e então ele te fala: “Parabéns! Obrigado por mostrar qual é o fator que 
nos faz aumentar a venda. Agora que sabemos que o valor de investimento 
em marketing faz nosso faturamento aumentar. Quero saber: Qual será o 
faturamento se eu investir R$80 em marketing?”. Como um cientista de dados 
pode responder a esta pergunta? 
Uma das técnicas que pode ser aplicada para responder a essa 
pergunta é o uso de regressão linear, na qual um gráfico de dispersão é criado 
com dados existentes apresentando todas as relações de investimento e 
faturamento. Neste caso, em que se é preciso responder qual será a venda 
quando há aumento no investimento em marketing, pode-se dizer que o 
FATURAMENTO depende do INVESTIMENTO. Colocando estes termos em 
sintonia com os termos usados em pesquisa é correto dizer que o faturamento 
será a variável dependente e o investimento será a variável independenteporque o faturamento depende do investimento. Quando aplicamos esse 
modelo em uma regressão linear o eixo X é sempre representado pela variável 
independente, no caso do exemplo o INVESTIMENTO; e o eixo Y representa a 
variável dependente, o FATURAMENTO. Um gráfico de dispersão desta 
correlação entre investimento e faturamento pode ser observado na Figura 1. 
Análise preditiva com Azure Machine Learning e R 
 
 
MVTech · 20 
 
Figura 1 - Amostragem de Investimento X Faturamento 
 
Para criar a regressão linear, o exemplo coletou todas as amostras de 
Investimentos Vs. Faturamento do passado e criou a linha que melhor 
representa a média de pontos entre os valores. Veja na Figura 2 esta linha de 
regressão. 
Análise preditiva com Azure Machine Learning e R 
 
 
MVTech · 21 
 
 
Figura 2 - Linha de regressão do Investimento X Faturamento 
Após criar a linha da regressão, agora é possível predizer qual será o 
valor de faturamento baseado no investimento. Para isso, trace uma linha 
vertical a partir do eixo X até a linha de regressão e em seguida encontre o 
valor no eixo Y. Para calcular esta correlação é necessário utilizar o que é 
chamado de Coeficiente de Correlação, no qual uma das possibilidades de 
cálculo é dada pela multiplicação dos pares, e em seguida é calculada a média 
dos resultados. Essa multiplicação dos pares é feita com a multiplicação da 
variável X pela Y da primeira observação, em seguida multiplica-se a variável 
X pela Y da segunda observação, e assim sucessivamente até terminar toda a 
amostra. Por fim, é calculada a média destes resultados e com isso obtém o 
Coeficiente de Correlação. Quando este coeficiente está mais próximo de -1 
ou 1 ele tende a ser melhor, quando está mais próximo de 0 ele tende a ser 
pior. A partir disso é necessário encontrar outras duas variáveis que são 
importantes para a regressão, a interceptação e a inclinação. Para finalizar esta 
estimativa de valores preditivos, é necessário utilizar uma equação linear para 
a regressão que foi proposta. Uma das equações amplamente utilizadas é: 
Análise preditiva com Azure Machine Learning e R 
 
 
MVTech · 22 
𝑦 = 𝑎 + 𝑏𝑥 
Onde y é a variável dependente; a é a interceptação da regressão 
logística; b é a inclinação da reta, e x é a variável independente. 
Ao aplicar os valores calculados e estimados na equação linear, será 
possível responder ao seu CEO qual será o faturamento esperado com o 
investimento planejado. A Figura 3 mostra o ponto de cruzamento do valor 8 
do eixo X com a reta da regressão e uma reta do eixo Y até este mesmo ponto 
na reta de regressão. O valor do eixo Y apresentado é de 7,09. Lendo os títulos 
dos eixos, o eixo X possui os investimentos em marketing dividido por um 
fator de 10 e o Y o faturamento dividido por um fator de 100. Ao recalcular 
estes valores pelos fatores de divisão, será possível dizer ao certo os valores 
reais, sendo o investimento R$ 80,00 e o faturamento de aproximadamente 
R$ 709,00. 
 
Figura 3 - Valor de Faturamento com base no Investimento 
Não se preocupe em tentar entender a fundo a regressão logística 
neste momento, este processo será explicado com muitos detalhes nos 
Análise preditiva com Azure Machine Learning e R 
 
 
MVTech · 23 
próximos capítulos, onde serão abordados os principais algoritmos e modelos 
preditivos para se trabalhar como cientista de dados. Este é só um exemplo 
da possibilidade de se responder uma pergunta que parece simples, mas que 
é bastante relevante. 
 
Evolução contínua para solidificar o conhecimento 
 
É importante e recomendado que os métodos estatísticos estejam 
claros para um cientista de dados, pois estes métodos são utilizados com 
muita frequência nas resoluções de problemas do cotidiano. Um exemplo 
disso é usar histogramas para representar visualmente uma amostragem de 
dados. Antes de criar o histograma, deve-se entender quais dados serão 
plotados no gráfico. Existem dois tipos de dados que podem ser usados, 
dados categóricos e dados numéricos. 
Dados categóricos são dados que não podem ser medidos, enquanto 
dados numéricos podem ser medidos. Para facilitar, mentalize um formulário 
de avaliação qualquer onde existem apenas duas perguntas. Uma que você 
deverá colocar a pontuação de 1 a 5 escolhendo a quantidade de estrelas que 
aquele serviço prestado merece, e o segundo campo é aberto onde você 
informa sua idade. As estrelas são consideradas dados categóricos e o campo 
idade é considerado dado numérico. Não é possível medir as respostas da 
pontuação das estrelas, mas a idade é possível. Para esclarecer essa diferença, 
dados numéricos (os que podem ser medidos) possuem métricas conhecidas, 
como idade, peso, altura, etc. Os intervalos daquela medida são conhecidos e 
inalterados. A idade é medida em anos, e sempre um ano é um ano. Isso será 
igual independente de quem esteja medindo. Sempre depois de 18 anos de 
idade, vem a idade de 19 anos. Seja no Brasil ou no Japão. Já os dados 
categóricos, que não podem ser medidos, dependem da experiência e 
conhecimento vivido de cada um que responde àquele questionário. Sua 
avaliação será diferente da minha, por mais que tenhamos o mesmo serviço 
prestado pelo mesmo fornecedor no mesmo momento. Pense neste 
formulário de resposta sendo a classificação que você daria para um filme 
clássico como “E o vento levou” e como um cinéfilo de 65 anos o faria. Agora 
Análise preditiva com Azure Machine Learning e R 
 
 
MVTech · 24 
avalie um filme como “Star Wars Episódio VII” e convide este mesmo cinéfilo 
para o avaliar. Repare que a experiência e a vivência de cada um interferem 
diretamente no resultado. 
Voltando ao histograma, ele pode ser criado a partir de dados 
numéricos sendo uma representação gráfica que permite que dados sejam 
analisados baseados na média de ocorrências definidos por um intervalo. 
Imagine que você foi contratado para uma loja virtual que comercializa 
produtos que variam de R$1,00 a R$500,00 reais. É possível separar os 
produtos em categorias de faixas de preço, sendo a categoria 1 os produtos 
de R$1,00 a R$100,00 reais, a categoria 2 os produtos de R$101,00 a R$200,00 
reais, e assim até a categoria 5 que varia de R$401,00 a R$500,00. Visualizando 
estes grupos com suas respectivas médias de preço, é possível encontrar uma 
representação visual como apresentado na Figura 4, onde o eixo X do gráfico 
representa o crescimento de valores e o eixo Y a frequência de aparições de 
produtos daquela faixa de preço na amostragem. 
 
Figura 4 - Histograma de frequência por preços 
Análise preditiva com Azure Machine Learning e R 
 
 
MVTech · 25 
Com essa visualização, é possível observar que a maioria dos produtos 
está na faixa de preços entre R$201,00 e R$300,00 reais. Certo, mas então qual 
é a média de valor dos produtos em cada faixa de preço, ou então qual é a 
mediana, ou o valor mínimo e valor máximo? Todas estas respostas fazem 
parte de uma área da estatística chamada Médias de Posição, que retornam 
valores calculados da amostragem que são sempre utilizados por analistas por 
serem respostas básicas e muito úteis. Cálculos como Média Aritmética, 
Mediana, Moda, Quartis, Percentis, e alguns outros. Estes cálculos podem ser 
feitos manualmente entendendo como cada um dele é feito, ou então, utiliza-
se algoritmos computacionais já escritos por outros profissionais que cedem 
seus códigos. Independente da forma que foi usada para calcular estes 
métodos, existe uma outra representação gráfica que possibilita uma análise 
mais assertiva e direta do que somente olhar a massa de dados. Esta 
representação é conhecidacomo Diagrama de Caixas, que apresentam os 
dados de Menor Valor, Primeiro Quartil, Mediana, Terceiro Quartil e Maior 
Valor. Entenda onde estes valores são impressos no Diagrama de Caixa 
observando a Figura 5. 
 
Figura 5 - Valores apresentados por um diagrama de caixa 
 Maior Valor 
 
 Terceiro Quartil 
 
 Mediana 
 
 Primeiro Quartil 
 
 Menor Valor 
Análise preditiva com Azure Machine Learning e R 
 
 
MVTech · 26 
Depois de entender os dados que são impressos em um diagrama de 
caixa, vale estender e realizar a análise para toda a amostragem. Isso ajudará 
a fazer descobertas nos dados de forma a melhorar a tomada de decisão. 
Acompanhe a Figura 6 como são apresentados os dados de cada faixa de 
preço no exemplo da loja virtual que foi usada para geração do histograma. 
 
Figura 6 - Diagrama de caixa por faixa de preço 
Observando os dados de um gráfico como esse e sabendo como é o 
cálculo de cada um dos valores estatísticos apresentados, é possível entender 
que a mediana dos preços da categoria 1 e 4 são muito próximas do terceiro 
quartil de valores. As categorias 3 e 5 possuem a mediana praticamente no 
centro entre os primeiro e terceiro quartis e a categoria 4 sendo uma categoria 
que possui valores relativamente próximos entre si. Repare que na categoria 
4 existe um ponto muito abaixo da caixa, praticamente na direção da posição 
300 no eixo Y. Este ponto no gráfico é conhecido como outlier, que é um dado 
que diverge do conjunto analisado e, geralmente, direciona o analista a 
removê-lo da análise para não impactar como um ruído no resultado 
esperado. 
Análise preditiva com Azure Machine Learning e R 
 
 
MVTech · 27 
Outros processos amplamente estudados e conhecidos por cientistas 
de dados são técnicas de aprendizado de máquinas nos três níveis, a saber: 
Supervisionados, Não Supervisionados e Semi-supervisionados. O 
aprendizado supervisionado é informado ao algoritmo que fará a busca de 
padrões o que deve ser encontrado, que então passa a procurar por padrões 
semelhantes àquele informado e encontra os elementos que se assemelham 
ao que foi solicitado. O aprendizado semi-supervisionado trabalha com 
reforços positivos e negativos de acordo com o desempenho do algoritmo. 
Podendo melhorar a busca pelo padrão quando encontra o resultado positivo 
recebendo um reforço bom, e quando encontra algo que diz pertencer ao 
padrão e na verdade não é, ele recebe uma penalidade para aprender que 
aquele valor não faz parte daquele grupo. Já o aprendizado não 
supervisionado o cientista de dados não diz explicitamente o que o algoritmo 
deve procurar, este por sua vez aplica algumas técnicas de agrupamentos para 
encontrar padrões de semelhança entre os dados e separa na quantidade de 
grupos definidas. A partir deste momento, qualquer outro elemento que 
entrar na massa de dados que estão sendo analisadas passa a fazer parte de 
um dos grupos já existentes. 
Acompanhe uma técnica de aprendizado de máquina não 
supervisionada através do método K-Means (ou K-Média, em português), 
onde o K representa a quantidade de clusters (conglomerados) que o 
algoritmo irá receber e agrupar com base nos dados. Para entender este 
funcionamento continue a imaginar o cenário apresentado no exemplo do 
histograma da loja virtual. Porém, nesta técnica você não foi apresentado para 
nenhuma categoria, você só sabe que existem produtos com seus valores e 
também um índice de vendas, que não será utilizado para nada. Como você 
pode agrupar estes produtos dentro de 5 categorias? 
Ao gerar o gráfico desta amostra é possível ver os elementos 
conforme a Figura 7 
Análise preditiva com Azure Machine Learning e R 
 
 
MVTech · 28 
 
Figura 7 - Preço dos produtos sem categorias 
Sabemos que 5 categorias devem agrupar os valores, logo, o valor 
para K utilizado no algoritmo será de 5. Conhecendo isso, o algoritmo irá 
colocar aleatoriamente 5 pontos em posições distintas no gráfico. Ao colocar 
estes pontos aleatórios, o algoritmo calcula a distância média dos pontos 
existentes para estes 5 centroides que irão representar os grupos. Após este 
cálculo das médias, os pontos do centroide se movem para a posição que 
representa a média dos valores dos pontos que estavam mais próximos a ele. 
Novamente o cálculo das distâncias é feito e é verificado se algum ponto dos 
dados trocou de centroide por algum que está mais próximo a ele depois da 
movimentação. Isso fica em um loop até nenhum ponto trocar de grupo 
depois da movimentação do centroide. Neste momento o algoritmo considera 
que encontrou o ponto central de cada grupo. 
Com estes grupos definidos, é possível imprimir novamente o gráfico 
e ver como ficaram as separações dos dados, em cada um dos 5 grupos 
definidos inicialmente. Veja como ficou isso na Figura 8 abaixo. 
Análise preditiva com Azure Machine Learning e R 
 
 
MVTech · 29 
 
Figura 8 - Dados separados em cinco grupos 
Também é possível apresentar ao gráfico as posições de cada 
centroide após o término do cálculo do algoritmo, isso define o porquê dos 
grupos terem sido segmentados da forma que estão plotados no gráfico. 
Acompanhe a Figura 9 onde estão cada um deste pontos. 
Análise preditiva com Azure Machine Learning e R 
 
 
MVTech · 30 
 
Figura 9 - Posição de cada centroide nos grupos 
Com isso foi possível identificar facilmente as 5 categorias de preços 
que o algoritmo agrupou e, então, você poderá responder ao seu superior 
quais são as categorias que ele havia lhe pedido informando os elementos 
que estão em cada grupo. 
Também é possível replicar esta técnica de aprendizado não 
supervisionado para o primeiro exemplo que explicamos neste capítulo, que 
fala sobre o Investimento X Faturamento utilizando regressão linear. Voltando 
àquela massa de dados sem separação de segmentos encontra-se algo como 
apresentado na Figura 10. 
Análise preditiva com Azure Machine Learning e R 
 
 
MVTech · 31 
 
Figura 10 - Dados sem separação de Investimento X Faturamento 
Agora, ao invés de usar apenas 5 grupos, como no exemplo da loja 
virtual, sua necessidade é trabalhar com 10 segmentos diferentes para poder 
responder ao CEO qual campanha de marketing teve melhor performance 
mesmo trabalhando em uma faixa de investimento semelhante. A separação 
em dez grupos destes dados apresenta uma segmentação como na Figura 11, 
veja como ficou. 
Análise preditiva com Azure Machine Learning e R 
 
 
MVTech · 32 
 
Figura 11 - Separação de Investimento X Faturamento em dez grupos 
Para identificar melhor esta segmentação dos grupos também é 
possível colocar os pontos do centroide neste gráfico e visualizar onde cada 
ponto de cada grupo encontrou seu centro. Acompanhe os centroides na 
Figura 12. 
Análise preditiva com Azure Machine Learning e R 
 
 
MVTech · 33 
 
Figura 12 - Centroides de cada um dos dez grupos 
Com isso é possível identificar as campanhas de marketing que 
tiveram mesmo grau de investimento, porém o retorno foi maior. Veja o 
exemplo do investimento que está no segmento do eixo X entre os valores 5 
e 6. É possível ver claramente que existe um grupo em que o faturamento 
ficou em 7 e 8 no eixo Y (representado pela cor azul) e outro grupo que ficou 
entre 12 e 14 também no eixo Y (representado pela cor roxa). Isso possibilita 
ao tomador de decisão poder investir o mesmo valor das campanhas que 
estão no grupo B, que é entre 50 e 60 reais, porém direcionar para que sejam 
feitas campanhas similares as que foram utilizadas no grupo A, possuindo um 
retorno médio 50% maior de faturamento com o mesmo investimento. 
Análisepreditiva com Azure Machine Learning e R 
 
 
MVTech · 34 
 
Figura 13 - Grupos A e B semelhantes 
E não são só de Regressões ou Clusters que é possível trabalhar com 
Aprendizado de Máquinas, também existe uma área de atuação conhecida 
como Classificação, que através de algumas observações é possível dizer em 
qual classe aquele elemento será posicionado – ou classificado. Imagine um 
cenário onde é preciso conceder empréstimo financeiro para um solicitante, e 
com base no comportamento de outros indivíduos que possuem perfis 
similares ao deste solicitante, é possível classificá-lo entre dois grupos, sendo 
“Bom Pagador” ou “Mau Pagador”. Com certeza esta classificação é delicada 
e muitas variáveis de entradadevem ser avaliadas para não cometer injustiça 
com este solicitante. Posto isso, que é uma classificação que depende de 
diversas variáveis, criar uma solução através de métodos estatísticos que 
avaliam os registros históricos de perfil e comportamento de muitos 
solicitantes de empréstimo é possível inferir que este solicitante de agora é 
um bom pagador ou não, baseado em sua classificação. 
Diversos algoritmos de classificação podem ser testados para realizar 
esta classificação binária para decidir se o solicitante do empréstimo é um 
bom ou mau pagador, onde apenas estas duas possibilidades existem. 
A 
B 
Análise preditiva com Azure Machine Learning e R 
 
 
MVTech · 35 
Também pode-se trabalhar com classificação multi-classes, onde a 
possibilidade de adequar o valor é maior que duas possibilidades. Voltando 
ao cenário proposto acima, é possível criar alguns testes e comparar qual 
algoritmo de classificação binária possui a maior área de cobertura possível 
entre os algoritmos utilizados. Uma forma de fazer isso é comparando os 
valores da AUC – Area Under the Curve – Área sob a Curva, que é um valor 
calculado de qual é o percentual de possibilidades de acerto da predição que 
se está fazendo. Ao comparar os valores de AUC dos algoritmos testados, 
quanto maior for a curva mais assertivas serão as predições. Para chegar na 
curva AUC é necessário criar o processo de classificação e testar o 
desempenho dos algoritmos. Acompanhe na Figura 14 um pedaço de um 
exemplo destes algoritmos dentro do Azure Machine Learning. 
 
 
Figura 14 - Parte do fluxo de uma classificação 
Após o término do experimento é possível comparar a AUC dos 
algoritmos testados e encontra qual tem maior cobertura. Repare na Figura 
Análise preditiva com Azure Machine Learning e R 
 
 
MVTech · 36 
15 a curva que cobre a AUC está destacada e representa um AUC de 0.691, 
isso significa aproximadamente 69% da área do gráfico coberta. 
Já na Figura 16 é possível ver a outra curva em destaque, e esta curva 
cobre aproximadamente 72% do gráfico, sendo eleita a vencedora na 
comparação com a anterior. 
Apesar de ambas curvas cobrirem áreas similares dentro do gráfico é 
importante utilizar o algoritmo que saiu vencedor na comparação, neste caso, 
o algoritmo que gerou o gráfico da segunda AUC. 
 
Figura 15 - AUC com cobertura de 69% 
Análise preditiva com Azure Machine Learning e R 
 
 
MVTech · 37 
 
Figura 16 - AUC com cobertura de 72% 
 
Esta comparação de valores de AUC pode ocorrer diversas vezes 
dentro do processo de escolha do melhor algoritmo para a análise proposta. 
Após decidir qual algoritmo deve ser utilizado, ele é transformado em um 
Modelo Preditivo treinado e, então, os dados que precisam ser analisados 
passam a consultar este modelo que faz o papel de classificar o resultado em 
“Bom Pagador” ou “Mau Pagador”, comparando os novos dados inseridos 
com o modelo preditivo treinado. 
 
Mas, afinal, o que é um Cientista de Dados? 
 
Nas seções anteriores deste capítulo foram apresentados só alguns 
exemplos de respostas que podem ser obtidas através de técnicas que os 
cientistas de dados usam. Porém, não é só este tipo de atividade que o 
cientista faz em cima dos dados e suas análises, também são necessários 
conhecimentos nas áreas de Matemática, Descoberta de Conhecimento (KDD 
– Knowledge Discovery in Database), Visualização de Dados (Data 
Visualization), Aprendizado de Máquinas, Mineração de Dados e algumas 
Análise preditiva com Azure Machine Learning e R 
 
 
MVTech · 38 
outras. Não só as áreas de atuação são diversas, mas também algumas 
linguagens de programação como Python, R, S, Java, Ruby, Skala, Octave, 
Kafka. Avançando um pouco mais neste mundo, chega um momento que sua 
massa de dados para análise é enorme e os dados não são totalmente 
estruturados. Neste momento, o uso de técnicas para resolver problemas 
através de soluções de Big Data passa a ser necessário. Tecnologias como 
HDInsight, Hadoop, Spark e Storm passam a ser usadas frequentemente e 
devem estar sempre a postos na sua mala de ferramentas. Ferramentas para 
expandir o uso de Big Data como Hive, Pig, Mahout, Sqoop, HBase, entre 
outros tantos começam a te deixar familiarizado com seu uso rotineiro. 
A ciência dos dados nos permite trabalhar tanto com um volume de 
dados pequeno quanto um volume gigantesco, na casa de Petabytes. Sejam 
eles estruturados ou não, oriundos da nossa empresa ou de fora. O resultado 
disso é o poder de ter insights poderosos que ajudarão a melhorar a tomada 
de decisão dentro da empresa. Relembre os exemplos anteriores deste 
capítulo e veja os benefícios! 
No fim do dia de trabalho, nosso principal objetivo é transformar 
dados em conhecimento. Pode ser que sejam usados somente dados 
estruturados, mas terá situações que os dados virão através de um agente não 
humano, como um dispositivo que emite sinais sobre telemetria de um carro. 
Ou sobre o funcionamento do marca-passo que foi implantado em um 
paciente com problemas no coração. Terá situações em que as análises 
poderão ser apenas através de ondas de sinais de rádio, ou micro-ondas, ou 
potência da frequência de um som. Para resolver problemas como estes é 
necessário separar o sinal do ruído e trabalhar no que é realmente importante 
descartando o excesso de dados, que são considerados sujos e inúteis. 
Recentemente, a Microsoft lançou o Skype for Business. Diversas 
apresentações foram feitas, nas quais dois interlocutores que falavam idiomas 
diferentes conversavam entre si, em seus respectivos idiomas, e o Skype 
utilizando técnicas de Processamento de Linguagem Natural fazia a tradução 
simultânea entre os dois envolvidos. Isso significa que não é mais necessário 
aprender chinês para fazer uma ligação para China na próxima semana. Pode-
se fazer isso através do Skype e continuando a falar português daqui e a 
pessoa ouve chinês lá na outra ponta, ela responde em chinês e nós ouvimos 
em português aqui. Isso não é futuro, isso já é presente! 
Análise preditiva com Azure Machine Learning e R 
 
 
MVTech · 39 
Basicamente, existem quatro grandes áreas para serem analisadas, e 
isso é amplamente discutido na literatura quando se estuda a ciência dos 
dados. As quatro áreas são: Análise Descritiva, Análise Diagnóstica, Análise 
Preditiva e Análise Prescritiva. 
 
Análise Descritiva: Ajuda a responder questões sobre o passado. Isso 
é possível analisando dados históricos de uma determinada situação e 
geralmente precisa de interação humana para interpretar os dados. Respostas 
para conhecer o que houve, como por exemplo, para responder “O que 
aconteceu com os pacientes que tiveram gripe em 2015?” ou então “Quem 
são os nossos clientes que mais compraram maças em fevereiro?”. 
 
Análise Diagnóstica: Ajuda a explicar as situações do passado e o 
motivo de acontecerem. Ao analisar os dados de um cenário no qualseus 
clientes estão cancelando a assinatura do seu produto é possível entender o 
porquê de estarem fazendo isto. Esta análise pode ser feita em conjunto com 
uma técnica conhecida no marketing como Churn, que analisa o engajamento 
de uma determinada amostra no decorrer do tempo. 
 
Análise Preditiva: Ajuda a prever o futuro. Esta análise pode ajudar a 
predizer com base em um ou mais conjuntos de entradas o que estes dados 
podem representar. Por exemplo, é possível dizer se uma transação bancária 
é fraudulenta ou não. Ou então, se um e-mail pode ser considerado SPAM ou 
um e-mail útil para quem o recebeu. 
 
Análise Prescritiva: Ajuda a nortear os próximos passos. Este tipo de 
processo ajuda o tomador de decisão a escolher um caminho para otimizar 
seu negócio. Em geral, é combinada com outras análises como, por exemplo, 
a análise preditiva. Imagine que seu negócio tenha envolvimento com análise 
de crédito e seus dados dizem que se um solicitador possui certos padrões de 
entrada (dados pertinentes ao solicitante) e isso representa que este o padrão 
comportamental do perfil possui uma taxa de inadimplência de mais de 75%. 
Análise preditiva com Azure Machine Learning e R 
 
 
MVTech · 40 
Esta análise ajudará você a decidir se você fará o empréstimo para este 
solicitador. 
A ciência de dados também pode atuar em uma área que vem 
recebendo uma exploração nos últimos tempos que é a venda dos dados 
tratados e não tratados. Algumas empresas enxergaram este nicho como uma 
forma de faturamento e trabalham com processamento e limpeza de dados. 
Este nicho ganhou notoriedade nos últimos anos quando grandes 
fornecedores como Amazon e Microsoft abriram os marketplaces para que 
empresas pudessem comercializar os dados para o mundo. Com estes 
marketplaces é possível consumir dados de cotação do dólar, valor do barril 
de petróleo, entre outros, e com isso, cruzar estes dados externos com os 
dados da sua empresa e encontrar uma possível causalidade do porque está 
vendendo mais veículos movidos a Etanol do que a Gasolina. Mas não são só 
empresas que comercializam dados tratados que viram um diferencial 
competitivo neste segmento de mercado, as universidades também 
disponibilizam muitos dados de pesquisa de forma aberta e gratuita, os 
governos e agências governamentais também o fazem. Veja exemplos dos 
sites de transparência do governo brasileiro, ou então da NASA que é uma 
agência do governo americano. Sites como Dados.Gov1 que possui diversos 
dados nacionais abertos e gratuitos para uso em seus estudos ou pesquisa, 
como também o Data.Gov2 que faz a abertura de dados dos Estados Unidos. 
Alguns ministérios do Brasil, como o Ministério da Saúde disponibiliza através 
do DataSus todos os dados de atendimentos do Serviço Único de Saúde de 
vários anos para que sejam analisados por quem quiser. Isso para nós, 
cientistas de dados, é um grande universo inexplorado que ajuda nosso 
trabalho diário. 
Com o poder existente na computação em nuvem, o preço baixo e 
flexibilidade permite que nosso trabalho seja realizado da melhor forma 
possível. Muitos anos atrás, quando se precisava processar um grande volume 
de dados os computadores acessíveis ficavam dias, e até semanas para 
 
1 http://www.dados.gov.br 
2 http://www.data.gov 
Análise preditiva com Azure Machine Learning e R 
 
 
MVTech · 41 
processar os dados necessários. Hoje em dia, é possível provisionar um 
computador com alguns Gigabytes de memória RAM e alguns núcleos de 
processadores. Isso faz o processamento desta massa de dados diminuir de 
tempo significativamente e acelera a entrega do resultado. Ao término do 
processamento, pode-se desligar o computador e não pagar mais pelo uso. 
Fornecedores como Amazon e Microsoft entregam soluções que atendem 
estes requisitos sem burocracia e num valor totalmente acessível para quem 
precisa trabalhar nestes cenários. 
Uma forma simples de enxergar o nosso trabalho diário é seguir um 
roteiro aceito por grande parte dos cientistas. Este roteiro é cíclico e começa 
com a identificação do problema na área solicitante, passa para o processo de 
coletar e limpar os dados, em seguida é desenvolvido o modelo preditivo, 
após o desenvolvimento o modelo é publicado e por fim deve-se monitorar a 
performance do modelo criado. O processo volta ao passo inicial que é 
identificar o problema com a área solicitante e entra em um loop sempre 
melhorando a cada iteração. Um pouco mais de detalhes destes processos 
estão descritos a seguir. É importante ter esse processo entendido 
completamente, pois serão explorados em cada experimento dos capítulos a 
seguir quando os exemplos forem criados. 
 
Passo 1 – Identificação do Problema: Este passo é o mais importante 
do processo como um todo. É a partir daqui que a área solicitante apresenta 
o problema e nós devemos partir desta solicitação para criar o modelo ideal. 
Não é bom para um cientista de dados que ele fique trabalhando por semanas 
ou meses na resolução de um problema e na hora que fez todo o processo de 
acordo com seu entendimento, os solicitadores dizem que não era aquilo. Para 
evitar este problema, os chamados Baby Steps auxiliam para que as entregas 
sejam menores e os solicitantes tenham capacidade de acompanhar passo a 
passo a evolução do projeto. Isso funciona para este processo, pois como as 
atividades são cíclicas depois de algumas iterações volta para a atividade de 
identificação do problema e a conversa com a área de negócios. 
 
Passo 2 - Coleta e limpeza de dados: A coleta dos dados é a primeira 
parte deste processo e garante que o dado correto seja adquirido de forma 
Análise preditiva com Azure Machine Learning e R 
 
 
MVTech · 42 
eficiente. Estes dados brutos podem ser oriundos das bases de dados da 
empresa, dados de sensores de telemetria, dados originais de serviços de 
marketplace, e tantos outros. O segundo passo é limpar os dados para que a 
criação do modelo seja efetiva. Limpar os dados significa trabalhar com 
valores inexistentes, remover os outliers (lembra do outlier no diagrama de 
caixas apresentado na “categoria quatro” anteriormente no capítulo?). As 
correlações entre as variáveis pode ajudar a distinguir quais elementos são 
realmente úteis para a análise. Se existem duas variáveis que apresentam 
valores iguais, não são necessárias as duas na análise, visto que existe uma 
correlação muito forte entre elas, e ao usar apenas uma no modelo, a resposta 
pode ser encontrada. 
 
Passo 3 – Desenvolvimento do Modelo Preditivo: Esta é a parte que 
mais gostamos de fazer, pois é onde podemos mostrar todo nosso 
conhecimento e enfrentamos o grande desafio de encontrar o algoritmo 
correto para resolver o problema apresentado no passo 1 pela área de 
negócios. Este é um processo interativo, que nos permite analisar algumas 
possibilidades existente de algoritmos e comparar o desempenho de cada 
uma delas em cima dos dados que já estão prontos a partir do passo 2. Após 
comparar os resultados encontra-se o modelo mais apropriado para aquela 
amostra de dados. 
 
Passo 4 – Publicação do Modelo: Depois de desenvolver o modelo, 
a publicação do algoritmo para uso com dados reais, e não mais dados de 
treino e validação, é feita. Neste momento o resultado esperado é que os 
dados reais encontrem retornos como foram encontrados nos dados testados 
e isso mostra o quanto nosso algoritmo foi bem desenvolvido e ajustado para 
resolver os problemas reais que a área de negócios pode enfrentar. 
 
Passo 5 – Monitoramento da performance: Como já informado 
anteriormente, o processo é cíclico e não se encerraapós a publicação do 
modelo. As ações são baseadas em métodos estatísticos e matemáticos e 
Análise preditiva com Azure Machine Learning e R 
 
 
MVTech · 43 
terão melhoras a cada vez que mais dados forem inseridos. É grande a chance 
de um processo não ter a melhor resposta nas primeiras vezes que for usado 
com dados reais, por isso, o processo volta alguns passos para que nós, 
cientistas de dados, possamos ajustar o algoritmo de forma que ele responda 
corretamente. 
Falando especificamente sobre técnicas de análise preditiva, muitas 
soluções podem ser usadas como as citadas neste capítulo, que não estão 
associadas a uma tecnologia específica, e sim ao conceito da técnica 
apresentada. Algumas destas soluções são gratuitas, outras pagas. Este livro 
aborda especificamente o uso do Azure Machine Learning para criar análise 
preditiva e permitir um próximo passo nas análises de seu negócio. Os 
exemplos de onde utilizar e como ter um benefício no cenário proposto serão 
feitos utilizando o Azure Machine Learning e as explicações detalhadas de 
como funciona a técnica utilizada serão feitas nos respectivos capítulos. 
 
Análise preditiva com Azure Machine Learning e R 
 
 
MVTech · 44 
2 – Introdução à Aprendizagem de Máquina e ao 
Azure Machine Learning 
O que é Aprendizagem de Máquina? 
 
Aprendizagem de máquina, do inglês, Machine Learning, não é uma 
área nova ou recente. Na verdade, os algoritmos e processos utilizados datam 
de vários anos atrás. Sendo que existem diversas definições para a área. 
Segundo a Wikipedia3: “A aprendizagem automática é um subcampo 
da inteligência artificial dedicado ao desenvolvimento de algoritmos e técnicas 
que permitam ao computador aprender, isto é, que permitam ao computador 
aperfeiçoar seu desempenho em alguma tarefa. Enquanto que na Inteligência 
Artificial existem dois tipos de raciocínio – o indutivo, que extrai regras e padrões 
de grandes conjuntos de dados, e o dedutivo – o aprendizado de máquina só se 
preocupa com o indutivo. 
Algumas partes da aprendizagem automática estão intimamente 
ligadas à mineração de dados e estatística. Sua pesquisa foca nas propriedades 
dos métodos estatísticos, assim como sua complexidade computacional. Sua 
aplicação prática inclui o processamento de linguagem natural, motores de 
busca, diagnósticos médicos, bioinformática, reconhecimento de fala, 
reconhecimento de escrita, visão computacional e locomoção de robôs.”. 
Outra definição bastante utilizada é a de Arthur Samuel, definida em 
1959, que define como: um campo de estudo que permite aos computadores 
aprenderem sem serem explicitamente programados. 
E por fim, uma das definições mais formais é a fornecida por Tom M. 
Mitchell: Um programa “aprende” a partir de experiências “E” com respeito a 
alguma classe de tarefas “T” e medida de desempenho “P”, se o desempenho de 
tarefas em “T”, medido por “P”, melhora com experiências “E”. 
 
3 https://pt.wikipedia.org/wiki/Aprendizado_de_m%C3%A1quina 
Análise preditiva com Azure Machine Learning e R 
 
 
MVTech · 45 
É importante notar que não é por existirem várias definições que uma 
invalida a outra. Particularmente, acreditamos que aprendizagem de máquina 
é a capacidade de dar subsídios para um programa computacional e obter 
respostas que de forma manual poderiam ser impossíveis, dado a 
complexidade, volume de dados e a alta dimensionalidade tratadas nos 
problemas. O objetivo de um sistema destes é obter uma solução (em geral 
um modelo ou a associação de vários modelos) para responder à problemas 
reais, tais como: previsão do tempo, detecção de formas diferentes de câncer, 
análise de perfil de compradores, análise de fala/escrita, entre muitas outras 
aplicações. 
Uma outra visão sobre o que é machine learning pode ser encontrada 
(em inglês) no blog de Machine Learning da Microsoft4, escrita por John Plat 
(Distinguished Scientist no Microsoft Research). 
 
As Motivações para Aprender 
 
Caso apareça a dúvida sobre quando utilizar (ou não utilizar) um 
modelo de aprendizagem, pense nos seguintes cenários sobre quando 
devemos utilizar: 
Aprenda quando você não pode codificar. Podemos citar: 
reconhecimento de fala, imagens e gestos. 
 
Aprenda quando você não pode escalar. Podemos citar: 
recomendações, classificação de e-mail indesejados (spam), e detecção de 
fraudes. 
Aprenda quando você precise adaptar e/ou personalizar. Podemos 
citar: escrita preditiva. 
 
4 https://blogs.technet.microsoft.com/machinelearning/2014/07/01/what-
is-machine-learning/ 
Análise preditiva com Azure Machine Learning e R 
 
 
MVTech · 46 
Aprenda quando você não pode fazer o acompanhamento manual. 
Podemos citar: inteligência artificial em jogos e controle de robôs. 
 
Conceitos Fundamentais 
 
Já sabemos como é o dia a dia de um cientista de dados e também 
vimos algumas definições do que é aprendizagem de máquina. Para o restante 
do livro fazer sentido e para que você possa entender de forma completa 
sobre os tópicos abordados, precisamos introduzir alguns conceitos iniciais 
que são a base para os processos que veremos. 
 
Características 
Características, do inglês, features, são os componentes básicos que 
definem o objeto de estudo, ou seja, um conjunto de características é o que 
descreve/representa um objeto. A extração/seleção de características não é 
uma tarefa fácil, e frequentemente, pode se tornar na atividade mais onerosa 
de todo o processo. Uma característica efetiva, em geral, deveria ser invariante 
a escala ou rotação de um dado objeto de estudo. Estas características podem 
ser Categóricas ou Numéricas, esta última se subdividindo em Discretas ou 
Contínuas. 
Por exemplo, imagine um problema onde temos um conjunto de fotos 
de animais e queremos identificar a espécie presente em cada foto através de 
um algoritmo de aprendizagem de máquina. Devemos ter características 
invariantes a escala e rotação: um cachorro continua sendo um cachorro, seja 
uma foto grande ou pequena, esteja de frente ou de lado. É claro que modelos 
capazes de identificar vários cenários são em geral bastante complexos. 
Características Categóricas são aquelas que atuam como uma 
categoria, e normalmente possuem um conjunto conhecido e não mensurável 
(calculável) de valores. Exemplos nesta categoria no nosso contexto acima 
poderiam ser: cor do pelo, presença de asas (“sim”/”não”), presença de penas 
(“sim”/”não”), entre diversas outras. Em geral são valores não numéricos 
(palavras), mas isso não pode ser tomado como regra pois um número pode 
Análise preditiva com Azure Machine Learning e R 
 
 
MVTech · 47 
ser categórico (representar uma categoria). Muitos algoritmos necessitam de 
apenas números como padrões de entrada, então é comum converter palavras 
em números e marca-los explicitamente como características categóricas. 
Características Numéricas são aquelas que possuem um conjunto 
possivelmente infinito de valores diferentes. Em geral valores numéricos. 
Exemplos de características, neste contexto, para nosso exemplo poderiam 
ser: peso do animal; cumprimento do animal; entre outros. Estes valores são 
considerados contínuos pois possuem uma variedade não limitada de 
possibilidades, por exemplo, o peso, que pode ser medido em uma balança 
de precisão e conseguir diferenciar alguns miligramas entre cada animal. Já os 
valores numéricos discretos são possibilidades conhecidas do intervalo 
possível de valores, por exemplo, quantidade de patas de um animal. As patas 
normalmente serão sempre entre 0 e 4, divididasem intervalos inteiros 
conhecidos. 
Existem algoritmos que se adaptam melhor a valores categóricos 
(exemplo: árvores de decisão, do inglês, decision trees) e existem aqueles que 
se adequam melhor a valores numéricos (exemplo: máquinas de vetor de 
suporte, do inglês, support vector machines). 
Uma técnica que é bastante utilizada sobre as características 
contínuas para adaptar em algoritmos não favoráveis a elas é a discretização. 
Por exemplo, ao invés de ter uma característica do peso do animal (contínua), 
poderíamos ter uma dividida em grupos: “[0 – 100g]”; “[100g – 1Kg]”; “[1Kg – 
5 Kg]”; “[Mais de 5Kg]”. Claro que estes intervalos devem ser definidos de 
acordo com a necessidade do problema a ser resolvido. 
 
Classes 
Uma classe, também conhecida como rótulo, do inglês, label, é o valor 
que define o objeto. 
Lembra nosso problema apresentado na sessão de características 
sobre criar um modelo para identificação de um animal? O conjunto de classes 
neste problema é enorme, pois seria possivelmente todas as espécies de 
animais existentes. Um problema destes é bastante complexo, pois 
necessitamos informações e exemplos de muitos animais diferentes. 
Análise preditiva com Azure Machine Learning e R 
 
 
MVTech · 48 
Os problemas na vida real em geral tratam um conjunto bem menor 
de possíveis classes: duas ou poucas classes é o comum. Problemas com 
muitas classes, principalmente os a serem resolvidos com algoritmos de 
aprendizagem supervisionada, exigem uma base de dados grande e que 
contemple exemplos de todas as classes desejadas. Em geral é melhor 
criarmos diversos modelos específicos do que tentar um modelo genérico que 
trata de muitos casos. 
Por exemplo, imagine que o nosso problema seja a detecção de 
câncer. Podemos ter um modelo que identifica qualquer tipo de câncer, que 
provavelmente seria inviável de ser construído, ou podemos ter diversos 
modelos que tentam identificar a presença de um tipo específico de câncer 
(possui ou não possui câncer de mama, possui ou não possui câncer de pele, 
etc.). Problemas de duas classes em geral são mais simples que problemas de 
três classes e assim por diante. 
O formato da resposta desejado ao problema é o que determinará a 
quantidade de classes, algoritmos a serem usados e também a complexidade 
do modelo. 
 
Aprendizagem Supervisionada e Não-Supervisionada 
Os algoritmos de aprendizagem podem ser agrupados/classificados 
segundo a sua abordagem, sendo os dois maiores grupos a aprendizagem 
supervisionada e aprendizagem não-supervisionada. Não abordaremos neste 
livro, mas existem outras abordagens como: aprendizagem por reforço, 
aprendizado multitarefa, aprendizagem semi-supervisionada, entre outras. 
Um ponto é comum em todos os modelos: Para operarem de forma 
satisfatória necessitam de dados sobre o problema a ser tratado. São através 
destes dados que ensinamos os modelos sobre o problema em questão. A 
atividade de ensinar um modelo é o que chamamos de treinamento. 
Problemas supervisionados são aqueles que necessitam conhecer os 
elementos (suas características), bem como suas classes. Em outras palavras, 
o conjunto de treino precisa estar rotulado. 
Análise preditiva com Azure Machine Learning e R 
 
 
MVTech · 49 
Um conjunto de treino é normalmente representado um conjunto de 
pares, onde cada par é composto normalmente de um vetor de características 
e o objeto de saída desejado (classe). 
Para problemas mais complexos e/ou com muitas classes são 
necessários conjuntos de treino maiores (com representatividade em todas as 
classes estudadas). A seguir podemos observar um exemplo de um conjunto 
de dados que pode ser utilizado. Note que há apenas 4 exemplos, no mundo 
real para problemas mais complexos podemos ter milhares de exemplos (ou 
até mais). 
Class, sepal-length, sepal-width, petal-length, petal-width 
1, 6.3, 2.9, 5.6, 1.8 
0, 4.8, 3.4, 1.6, 0.2 
1, 7.2, 3.2, 6, 1.8 
0, 5.2, 3.4, 1.4, 0.2 
 
Em destaque temos a classe de cada exemplo. Modelos que utilizam 
aprendizagem supervisionada precisam ser semelhantes a este. A informação 
da classe correta é utilizada pelos algoritmos durante o treino para ajustar o 
seu erro e assim maximizar a acurácia. Também utilizamos a classe, que 
conhecemos de antemão ao treino, para verificar o quão assertivo é o mesmo, 
através da comparação da classe correta com a classe que foi prevista com o 
modelo. 
Podemos citar alguns algoritmos que se encaixam na aprendizagem 
supervisionada: máquinas de vetor de suporte (SVM – support vector 
machines), redes neurais (neural networks), árvores de decisão (decision trees), 
k-vizinhos mais próximos (k-NN – k-nearest neighbors), entre outros. 
A aprendizagem de máquina não supervisionada aborda os 
algoritmos que não necessitam conhecer de antemão a classe correta. Para 
estes casos não é possível fazer uma comparação final automatizada para 
verificar o acerto (acurácia), mas existem vários cenários que podem se 
beneficiar de algoritmos com esta abordagem. 
Análise preditiva com Azure Machine Learning e R 
 
 
MVTech · 50 
Dentre as atividades que se enquadram melhor na aprendizagem não 
supervisionada a mais comum é o agrupamento (clusterização) dos exemplos. 
Imagine que o desejado é agrupar consumidores semelhantes. Em 
geral temos como entrada para os algoritmos de clusterização o número de 
classes (N) que imaginamos existir no conjunto de dados. Com isso, ao 
término da execução do modelo teremos os exemplos separados em N 
classes. 
Podemos citar alguns algoritmos que se encaixam na aprendizagem 
não-supervisionada: k-means, algoritmo cocktail party, entre outros. 
Os algoritmos supervisionados são mais numerosos que os não-
supervisionados. Na plataforma do Azure Machine Learning é possível 
encontrar os principais, bem como diversos outros, já implementados e 
prontos para seus experimentos. Abordaremos os principais algoritmos no 
Capítulo 7. 
 
Azure Machine Learning – AzureML 
 
Nos anos 90 e início dos anos 2000 os modelos de aprendizagem de 
máquina envolvendo grandes massas de dados poderiam passar diversas 
horas sendo processados, e em alguns casos dependendo do volume e 
complexidade do problema poderiam levar vários dias. 
A comparação do poder de computação dos anos 90 com hoje é 
injusto, mas hoje temos volumes de dados cada vez maiores (além de 
problemas mais complexos) e lidar com estes dados para construir modelos 
usando um desktop ou laptop se torna cada vez mais desafiador. É possível 
investir e comprar servidores para realizar estas tarefas, mas em geral isso 
envolve custos bastante elevados. 
Os processos, técnicas e algoritmos da área consomem bastante 
poder computacional (elevada utilização de memória RAM e CPU, e em alguns 
casos até GPU) durante a criação de seus modelos. Como muito da área é 
baseado em experimentação, diferentes parâmetros e algoritmos, diferentes 
Análise preditiva com Azure Machine Learning e R 
 
 
MVTech · 51 
subconjuntos de dados e técnicas de combinação, torna-se necessário 
diversas (dezenas ou centenas) execuções até chegar em um modelo viável. 
Com isto em mente e com a evolução da capacidade e dos serviços 
de computação em nuvem a Microsoft criou uma plataforma baseada em 
nuvem para aprendizagem de máquina batizada de Azure Machine Learning. 
Imagine que com esta tecnologia é possível fazer a experimentação e 
construção dos modelos sem a necessidade de pagar pela aquisição e 
manutenção de grandes e caros servidores. O pagamento é mediante uso. 
Existe inclusive uma versão gratuita do AzureML para teste da plataforma. 
O Azure Machine Learning(AzureML5) é uma plataforma baseada na 
web , ou seja, não há a necessidade de instalar nenhum software específico no 
computador do cientista de dados, e o mesmo pode continuar o seu trabalho 
de qualquer estação conectada à internet. Conforme veremos nos capítulos a 
seguir, as possibilidades na criação dos modelos são bastante expressivas, e a 
sua capacidade de customização (seja com código escrito em R ou Python) 
tornam o AzureML bastante atrativo. 
Os modelos construídos e executados na plataforma são executados 
sobre servidores escaláveis e com grande capacidade de processamento, o 
que permite treinar um modelo (veja mais sobre treino no Capítulo 4) 
complexo em minutos. Isso faz com que o cientista de dados possa focar no 
seu trabalho sem se preocupar com servidores, conexões, infraestrutura, 
desempenho, entre outros aspectos. 
Além da construção dos modelos serem realizadas através de um 
navegador, o consumo destes modelos também é através do consumo de um 
serviço de nuvem. Suas APIs são baseadas em web services, o que facilita a sua 
utilização/integração em qualquer linguagem de programação moderna. Para 
testes é possível utilizar uma interface no Excel ou através do próprio AzureML 
Studio, conforme veremos no Capítulo 6. 
 
 
5 Site do Azure Machine Learning: http://studio.azureml.net 
Análise preditiva com Azure Machine Learning e R 
 
 
MVTech · 52 
Conhecendo o AzureML Studio 
 
A interface para criação dos modelos de machine learning é chamada 
de Studio. Ela é possível de ser acessada através do AzureML6 , retratada pela 
Figura 17. 
 
 
Figura 17 - Portal de entrada 
 
Para os que desejam testar e conhecer a plataforma (e para a maior 
parte dos exemplos mostrados neste livro) é possível utilizar o AzureML de 
graça e sem a necessidade de cartão de crédito, basta apenas uma conta 
Microsoft (Live, Hotmail, Outlook, etc.). 
Após entrar com as suas credenciais é possível observar o portal 
representado pela Figura 18. 
 
 
 
 
6 Site do Azure Machine Learning: http://studio.azureml.net 
Análise preditiva com Azure Machine Learning e R 
 
 
MVTech · 53 
Nota: É importante ressaltar que a plataforma recebe atualizações constantes 
(aproximadamente a cada 3 meses): novos algoritmos, novas formas de facilitar a vida 
do cientista de dados, bem como mudanças na interface gráfica (principalmente 
mudança nos menus). Então não se preocupe se a sua interface estiver ligeiramente 
diferente da apresentada, pois os conceitos para a sua utilização e o que você irá 
aprender com este livro não será prejudicado. 
 
Figura 18 - Portal do AzureML 
 
Existem 7 abas na região esquerda do ML Studio: Projects, 
Experiments, Web Services, Notebooks, Datasets, Trained Models e Settings. 
 
Aba Projects 
 
Com a utilização da plataforma, é normal o número de experimentos, 
conjuntos de dados e demais objetos crescerem bastante. Isso tornava a 
organização uma tarefa complicada, principalmente ao trabalhar em 
experimentos distintos em um mesmo espaço de trabalho (workspace). 
A essência de um projeto é agrupar estes diferentes objetos para 
facilitar a sua organização e controle. Esta aba possibilita a criação e 
manutenção de projetos. 
Análise preditiva com Azure Machine Learning e R 
 
 
MVTech · 54 
 
Aba Experiments 
 
Esta região se subdivide em duas abas internas: My Experiments (meus 
experimentos) e Samples (exemplos). Esta aba pode ser observada na Figura 
2. 
Na parte de My Experiments encontram-se todos os experimentos 
criados (ou copiados de outros espaços de trabalho) nesta conta, bem como 
uma visualização do experimento criado. 
Já em Samples existe uma grande coleção de experimentos prontos. 
Estes foram desenvolvidos pela Microsoft ou outros fornecedores e podem 
ser usados como referência. Existem alguns com objetivo de tutorial, mas 
existem dezenas deles retratando problemas do mundo real. 
Estes exemplos também foram expandidos para uma galeria própria7 
(sob a bandeira das soluções inteligentes da Microsoft – Cortana Intelligence 
Suite) para expor e compartilhar experimentos. Esta galeria pode receber 
contribuições de qualquer pessoa que esteja desenvolvendo com a plataforma 
do Azure Machine Learning. 
 
Aba Web Services 
 
Nesta aba é possível observar os modelos expostos através da 
plataforma. A forma de comunicação das aplicações com o serviço do 
AzureML é através de web services. É possível fazer a configuração destes web 
services nesta região também. Os web services do AzureML são abordados 
com maior detalhamento no Capítulo 6. 
 
Aba Notebooks 
 
 
7 Galeria do Cortana: https://gallery.cortanaintelligence.com 
Análise preditiva com Azure Machine Learning e R 
 
 
MVTech · 55 
Esta aba permite a visualização de todos os notebooks já criados. No 
momento da escrita deste livro o recurso se encontra ainda em preview 
(visualização) e permite a interação e criação de Jupyter notebooks para as 
linguagens Python e R. 
Através dos notebooks o cientista de dados pode criar documentos 
vivos para documentar o processo que realizou, mostrar a sua lógica de 
pensamento, baseado numa plataforma online que pode armazenar texto ou 
código, bem como executar este código e já adicioná-lo dentro do 
documento. 
Para entender melhor o funcionamento do Azure ML Notebook a 
Microsoft criou um notebook de exemplo que pode ser criado através do 
botão + NEW -> Notebook -> Tutorial on Azure Machine Learning Notebook, 
acompanhe a Figura 19. 
 
 
Figura 19 - Jupyter Notebook utilizando linguagem Python 
 
Análise preditiva com Azure Machine Learning e R 
 
 
MVTech · 56 
Aba Datasets 
 
Nesta aba é possível fazer a gestão dos conjuntos de dados que foram 
utilizados (upload) nos experimentos criados ou que ainda serão utilizados. 
Também há a divisão em duas abas internas: uma para os seus datasets e outra 
para os utilizados nos experimentos de exemplo. Esta aba pode ser observada 
na Figura 20. 
Os datasets de exemplo (e os seus) podem ser reutilizados em quantos 
experimentos desejar, é uma excelente forma de iniciar o estudo da 
plataforma sem ter que montar bases de dados para análise. 
 
 
Figura 20 - Aba de Datasets 
 
Algo que veremos na parte de integração com R (Capítulo 9) é a 
capacidade da utilização de bibliotecas, scripts próprios, e arquivos de dados 
do R (.RData) na plataforma. Para tal podemos fazer upload de um arquivo 
.zip contendo estes arquivos. Estes arquivos .zip podem ser vistos e 
gerenciados nesta aba. 
Análise preditiva com Azure Machine Learning e R 
 
 
MVTech · 57 
Também é possível apagar ou fazer download destes datasets, abrir 
em um notebook, ou gerar um código de liberação para acesso programático 
ao dataset da IDE de desenvolvimento da sua escolha (sem necessariamente 
ser através do AzureML). Esta opção pode ser observada na Figura 21. É 
importante perceber que o token presente no código concede acesso a todo 
seu workspace. Trate ele com as mesmas restrições e segurança que uma 
senha teria. 
 
Figura 21 - Código para acessar um dataset programaticamente 
 
 
Análise preditiva com Azure Machine Learning e R 
 
 
MVTech · 58 
Aba Trained Models 
 
Ao terminar um experimento (normalmente após treiná-lo) é possível 
armazenar este modelo para sua utilização em novos experimentos. Esta aba 
armazena e permite a gestão destes modelos salvos. 
 
Aba Settings 
 
Esta aba contém três sub abas: Name, Authorization Tokens e Users.

Outros materiais