Buscar

Prova Machine Learning

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ê também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes
Você viu 3, do total de 195 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

Você também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes
Você viu 6, do total de 195 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

Você também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes
Você viu 9, do total de 195 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

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Indaial – 2020
Machine learning i – 
classificação e regressão
Prof. Rodrigo Ramos Nogueira
1a Edição
Copyright © UNIASSELVI 2020
Elaboração:
Prof. Rodrigo Ramos Nogueira
Revisão, Diagramação e Produção:
Centro Universitário Leonardo da Vinci – UNIASSELVI
Ficha catalográfica elaborada na fonte pela Biblioteca Dante Alighieri 
UNIASSELVI – Indaial.
Impresso por:
N778m 
 Nogueira, Rodrigo Ramos
 Machine learning I - Classificação e regressão. / Rodrigo Ramos 
Nogueira. – Indaial: UNIASSELVI, 2020.
 186 p.; il.
 ISBN 978-65-5663-320-6
 ISBN Digital 978-65-5663-316-9
 1. Machine learning. - Brasil. II. Centro Universitário Leonardo da 
Vinci.
CDD 004
apresentação
Caro acadêmico! Seja bem-vindo ao Livro Didático Machine learning 
I – Classificação e Regressão. Esta disciplina objetiva proporcionar uma 
introdução aos conceitos fundamentais de Machine learning e aprofundar os 
estudos sobre as tarefas de classificação e regressão.
Este material conta com recursos didáticos externos, por isso, 
recomendamos fortemente que você realize todos os exemplos, explore 
as bases de dados e pratique com os exercícios resolvidos, para um 
aproveitamento excepcional da disciplina. 
Nesse contexto, este livro didático está dividido em: Unidade 1, que 
apresenta uma introdução ao aprendizado de máquina; Unidade 2, que 
mostra a classificação das Machine learning e Unidade 3, que trata da regressão.
Destacamos também a importância de realizar as autoatividades, 
que objetivam a fixação dos conceitos apresentados – lembrando que elas 
não são opcionais. Em caso de dúvida durante a realização das atividades, 
sugerimos que entre em contato com seu tutor externo ou com a tutoria do 
Centro Universitário Leonardo Da Vinci (UNIASSELVI) – não continue as 
atividades enquanto todas as dúvidas não tiverem sido sanadas. 
Bom estudo! Sucesso na sua trajetória acadêmica e profissional! 
Prof. Rodrigo Ramos Nogueira
Você já me conhece das outras disciplinas? Não? É calouro? Enfim, tanto para 
você que está chegando agora à UNIASSELVI quanto para você que já é veterano, há novi-
dades em nosso material.
Na Educação a Distância, o livro impresso, entregue a todos os acadêmicos desde 2005, é 
o material base da disciplina. A partir de 2017, nossos livros estão de visual novo, com um 
formato mais prático, que cabe na bolsa e facilita a leitura. 
O conteúdo continua na íntegra, mas a estrutura interna foi aperfeiçoada com nova diagra-
mação no texto, aproveitando ao máximo o espaço da página, o que também contribui 
para diminuir a extração de árvores para produção de folhas de papel, por exemplo.
Assim, a UNIASSELVI, preocupando-se com o impacto de nossas ações sobre o ambiente, 
apresenta também este livro no formato digital. Assim, você, acadêmico, tem a possibilida-
de de estudá-lo com versatilidade nas telas do celular, tablet ou computador. 
 
Eu mesmo, UNI, ganhei um novo layout, você me verá frequentemente e surgirei para 
apresentar dicas de vídeos e outras fontes de conhecimento que complementam o assun-
to em questão. 
Todos esses ajustes foram pensados a partir de relatos que recebemos nas pesquisas 
institucionais sobre os materiais impressos, para que você, nossa maior prioridade, possa 
continuar seus estudos com um material de qualidade.
Aproveito o momento para convidá-lo para um bate-papo sobre o Exame Nacional de 
Desempenho de Estudantes – ENADE. 
 
Bons estudos!
NOTA
Olá, acadêmico! Iniciamos agora mais uma disciplina e com ela 
um novo conhecimento. 
Com o objetivo de enriquecer seu conhecimento, construímos, além do livro 
que está em suas mãos, uma rica trilha de aprendizagem, por meio dela você 
terá contato com o vídeo da disciplina, o objeto de aprendizagem, materiais complemen-
tares, entre outros, todos pensados e construídos na intenção de auxiliar seu crescimento.
Acesse o QR Code, que levará ao AVA, e veja as novidades que preparamos para seu estudo.
Conte conosco, estaremos juntos nesta caminhada!
LEMBRETE
suMário
UNIDADE 1 — MACHINE LEARNING ............................................................................................. 1
TÓPICO 1 — INTRODUÇÃO AO MACHINE LEARNING ........................................................... 3
1 INTRODUÇÃO .................................................................................................................................... 3
2 ASPECTOS HISTÓRICOS DE MACHINE LEARNING ............................................................... 5
3 DEFINIÇÃO DE CONCEITOS ......................................................................................................... 7
4 CARACTERÍSTICAS DE MACHINE LEARNING ...................................................................... 11
RESUMO DO TÓPICO 1..................................................................................................................... 14
AUTOATIVIDADE .............................................................................................................................. 15
TÓPICO 2 — PREPARANDO O AMBIENTE PARA TRABALHAR COM 
 MACHINE LEARNING ............................................................................................... 19
1 INTRODUÇÃO .................................................................................................................................. 19
2 LINGUAGEM DE PROGRAMAÇÃO .......................................................................................... 19
3 JUPYTER NOTEBOOK E GOOGLE COLAB RESEARCH ....................................................... 21
4 GITHUB ............................................................................................................................................... 24
5 DATASETS ......................................................................................................................................... 26
5.1 BANCOS DE DADOS E DATA WAREHOUSING .................................................................. 27
5.2 ÁUDIO, IMAGEM E VÍDEO ....................................................................................................... 27
5.3 ARQUIVOS DE TEXTOS ............................................................................................................. 28
5.4 DOCUMENTOS SEMIESTRUTURADOS ................................................................................. 29
5.5 KAGGLE ........................................................................................................................................ 30
5.6 UCI MACHINE LEARNING REPOSITORY .............................................................................. 30
RESUMO DO TÓPICO 2..................................................................................................................... 33
AUTOATIVIDADE .............................................................................................................................. 34
TÓPICO 3 — ARQUITETURA DE UM PROJETO DE MACHINE LEARNING ...................... 37
1 INTRODUÇÃO .................................................................................................................................. 37
2 COLETA DE DADOS ........................................................................................................................ 38
3 PREPARAÇÃO DOS DADOS ......................................................................................................... 38
4 ESCOLHA DO MODELO ................................................................................................................ 39
5 TREINO E TESTE .............................................................................................................................. 41
6 AVALIAÇÃO ...................................................................................................................................... 44
7 TUNING DE PARÂMETROS ..........................................................................................................44
8 PREDIÇÃO .......................................................................................................................................... 45
LEITURA COMPLEMENTAR ............................................................................................................ 46
RESUMO DO TÓPICO 3..................................................................................................................... 51
AUTOATIVIDADE .............................................................................................................................. 52
REFERÊNCIAS ...................................................................................................................................... 55
UNIDADE 2 — CLASSIFICAÇÃO ................................................................................................... 59
TÓPICO 1 — INTRODUÇÃO ÀS TAREFAS DE CLASSIFICAÇÃO ........................................ 61
1 INTRODUÇÃO .................................................................................................................................. 61
2 VISÃO GERAL DA CLASSIFICAÇÃO ....................................................................................... 61
3 CENÁRIOS DE CLASSIFICAÇÃO ............................................................................................... 63
4 FERRAMENTAS COMPLEMENTARES ....................................................................................... 64
4.1 LISTAS ........................................................................................................................................... 65
4.2 NUMPY .......................................................................................................................................... 66
4.3 ANACONDA ................................................................................................................................ 67
4.4 SCIPY .............................................................................................................................................. 68
4.5 SCIKIT-LEARN .............................................................................................................................. 69
5 MÉTRICAS DE AVALIAÇÃO PARA CLASSIFICAÇÃO .......................................................... 69
RESUMO DO TÓPICO 1..................................................................................................................... 73
AUTOATIVIDADE .............................................................................................................................. 74
TÓPICO 2 — MÉTODOS DE CLASSIFICAÇÃO BASEADOS EM DISTÂNCIA .................. 77
1 INTRODUÇÃO .................................................................................................................................. 77
2 MÉTODOS BASEADOS EM DISTÂNCIA .................................................................................. 78
2.1 KNN ................................................................................................................................................ 79
2.1.1 Implementação matemática do método .......................................................................... 80
2.2 IMPLEMENTAÇÃO COM SCIKIT-LEARN .............................................................................. 89
2.3 CLASSIFICANDO O IRIS DATASET COM O KNN ............................................................... 91
RESUMO DO TÓPICO 2..................................................................................................................... 95
AUTOATIVIDADE .............................................................................................................................. 96
TÓPICO 3 — MÉTODOS PROBABILÍSTICOS E OUTROS MÉTODOS 
 DE CLASSIFICAÇÃO ................................................................................................. 99
1 INTRODUÇÃO .................................................................................................................................. 99
2 MÉTODOS PROBABILÍSTICOS ................................................................................................... 99
2.1 NAÏVE BAYES .............................................................................................................................. 99
2.1.1 Implementação matemática do método ........................................................................ 103
2.2 IMPLEMENTAÇÃO COM O SCIKIT-LEARN ........................................................................ 107
2.3 CLASSIFICANDO O IRIS DATASET COM O NAÏVE BAYES ............................................ 108
3 OUTROS CLASSIFICADORES .................................................................................................... 110
3.1 REGRESSÃO LINEAR .............................................................................................................. 110
3.2 REGRESSÃO LOGÍSTICA ........................................................................................................ 111
3.3 MÁQUINA DE VETOR DE SUPORTE .................................................................................. 112
3.4 PERCEPTRON ............................................................................................................................. 113
LEITURA COMPLEMENTAR .......................................................................................................... 115
RESUMO DO TÓPICO 3................................................................................................................... 121
AUTOATIVIDADE ............................................................................................................................ 122
REFERÊNCIAS .................................................................................................................................... 123
UNIDADE 3 — REGRESSÃO .......................................................................................................... 127
TÓPICO 1 — INTRODUÇÃO ÀS TAREFAS DE REGRESSÃO ............................................... 129
1 INTRODUÇÃO ................................................................................................................................ 129
2 VISÃO GERAL DA REGRESSÃO ............................................................................................... 129
3 MÉTRICAS ....................................................................................................................................... 132
3.1 ERRO QUADRÁTICO MÉDIO ................................................................................................ 132
3.2 ERRO ABSOLUTO MÉDIO ....................................................................................................... 134
3.3 OVERFITTING E UNDERFITTING .......................................................................................... 134
3.4 VALIDAÇÃO CRUZADA ......................................................................................................... 135
RESUMO DO TÓPICO 1................................................................................................................... 136
AUTOATIVIDADE ............................................................................................................................ 137
TÓPICO 2 — REGRESSÃO LINEAR ............................................................................................. 139
1 INTRODUÇÃO ................................................................................................................................ 139
2 UTILIZANDO REGRESSÃO ....................................................................................................... 140
3 DERIVADAS ..................................................................................................................................... 150
4 GRADIENTE DESCENDENTE ....................................................................................................152
5 IMPLEMENTAÇÃO DA REGRESSÃO LINEAR ...................................................................... 155
RESUMO DO TÓPICO 2................................................................................................................... 161
AUTOATIVIDADE ............................................................................................................................ 162
TÓPICO 3 — TÉCNICAS AVANÇADAS DE REGRESSÃO ..................................................... 165
1 INTRODUÇÃO ................................................................................................................................ 165
2 REGRESSÃO LOGÍSTICA ............................................................................................................ 165
3 REDES NEURAIS ARTIFICIAIS .................................................................................................. 169
4 IMPLEMENTANDO REGRESSÕES COM BIBLIOTECAS DO PYTHON ......................... 175
LEITURA COMPLEMENTAR .......................................................................................................... 177
RESUMO DO TÓPICO 3................................................................................................................... 183
AUTOATIVIDADE ............................................................................................................................ 184
REFERÊNCIAS .................................................................................................................................... 185
1
UNIDADE 1 — 
MACHINE LEARNING
OBJETIVOS DE APRENDIZAGEM
PLANO DE ESTUDOS
A partir do estudo desta unidade, você deverá ser capaz de:
• compreender os conceitos fundamentais e históricos sobre Machine 
learning;
• conhecer exemplos de aplicações de Machine learning no mundo real;
• entender as principais características das aplicações de Machine learning;
• saber quais são as principais ferramentas para codificação;
• conhecer exemplos de aplicações e tipos de conjuntos de dados;
• dominar o desenvolvimento de um algoritmo de Machine learning por 
meio da apresentação das principais etapas de implementação.
Esta unidade está dividida em três tópicos. No decorrer da unidade, você 
encontrará autoatividades com o objetivo de reforçar o conteúdo apresentado.
TÓPICO 1 – INTRODUÇÃO AO MACHINE LEARNING
TÓPICO 2 – PREPARANDO O AMBIENTE PARA TRABALHAR COM
 MACHINE LEARNING
TÓPICO 3 – ARQUITETURA DE UM PROJETO DE MACHINE LEARNING
Preparado para ampliar seus conhecimentos? Respire e vamos 
em frente! Procure um ambiente que facilite a concentração, assim absorverá 
melhor as informações.
CHAMADA
2
3
TÓPICO 1 — 
UNIDADE 1
INTRODUÇÃO AO MACHINE LEARNING
1 INTRODUÇÃO
A inteligência artificial, por meio das suas mais diversas subáreas, tem 
alterado a nossa maneira de interagir com os sistemas computacionais, bem como 
a própria forma de interação com outros seres humanos. 
Neste livro didático, estudaremos alguns algoritmos de inteligência 
artificial. Entretanto, antes de aprofundarmos os conceitos de Machine learning 
(em português, “aprendizado de máquina”), é preciso ressaltar que você já é um 
usuário de Machine learning. 
Por exemplo, quando acessamos as plataformas de streaming de vídeo, é 
comum que filmes e vídeos sejam recomendados automaticamente. Para isso são 
considerados nossos dados pessoais, os filmes que positivamos (curtimos), bem 
como os dados de navegação do usuário (cookies).
Em 2009, apenas a Netflix, uma das pioneiras dessas plataformas, 
ofereceu 1 milhão de dólares para quem conseguisse otimizar seu algoritmo de 
recomendação de filmes. Até hoje, a plataforma investe pesado para ter maior 
nível de assertividade nesse algoritmo, permitindo manter mais usuários em 
frente à concorrência. 
FIGURA 1 – RECOMENDAÇÕES DE FILMES DA PLATAFORMA NETFLIX
FONTE: O autor
UNIDADE 1 — MACHINE LEARNING
4
Outra situação cotidiana em que nos tornamos usuários de Machine learning 
são os anúncios e as propagandas que aparecem após procurarmos um termo 
em um site de buscas ou em uma rede social. Durante a elaboração deste livro 
didático, pesquisamos as opções para adquirir um novo computador e, adivinha, 
todos os sites que tinham acesso aos cookies de pesquisa nos apresentaram 
recomendações relacionadas as minhas buscas anteriores, cuja maioria das 
propagandas era gerida pelo Google. Segundo Chow (2017), hoje, são poucas as 
tecnologias do Google que não usam inteligência artificial e machine learning. A 
inteligência artificial está reinventando nossos produtos, desde o Google Maps 
até o YouTube, e promovendo novas experiências.
Quando o Google lançou a ferramenta “Ok, Google”, particularmente 
não vimos grandes vantagens no início, porém, foi a ferramenta que possibilitou 
o aprendizado de uso de smartphone dos nossos pais, até então avessos à 
tecnologia. O recurso, agora chamado de “Assistente”, permite reconhecimento 
de voz e a realização de ações no dispositivo auxilia em diversos contextos da 
acessibilidade a recursos. 
FIGURA 2 – CONVERSA COM O GOOGLE ASSISTENTE
FONTE: O autor
Nas mais diversas ciências, as técnicas de Machine learning têm sido 
utilizadas para auxiliar os mais diversos processos, como a biologia, a aeronáutica, 
a física, a economia, entre muitas outras áreas. 
Entre os exemplos está a sua aplicação nas ciências da saúde, tanto na 
realização de diagnósticos quanto de prognósticos. A área da saúde permite 
trabalhar com cenários interessantes, que vão desde a análise de prontuários e 
o reconhecimento de imagens até a análise dos dados históricos (por exemplo, 
utilizando relógios medidores). 
TÓPICO 1 — INTRODUÇÃO AO MACHINE LEARNING
5
FIGURA 3 – APLICAÇÃO DE MACHINE LEARNING NA DETECÇÃO DO CÂNCER
FONTE: <https://cutt.ly/SgVuOv3>. Acesso em: 2 out. 2020.
É fato que o Machine learning está presente em nosso cotidiano e é parte da 
próxima revolução industrial, em conjunto com Big Data e tecnologias 4.0. Nas 
próximas seções, compreenderemos melhor seu conceito e seu funcionamento. 
2 ASPECTOS HISTÓRICOS DE MACHINE LEARNING
A história do Machine learning teve início em 1959, com o cientista Arthur 
Lee Samuel (SAMUEL, 1959), do Instituto de Tecnologia de Massachusetts (MIT), 
considerado pioneiro do desenvolvimento de jogos de computador, inteligência 
artificial e aprendizado de máquina. Em seu artigo, Samuel (1959) apresenta um 
estudo sobre algoritmos de inteligência artificial que consultam dados históricos 
para aprender a jogar damas – aprendendo com acertos e erros, a cada partida, a 
máquina estava mais aperfeiçoada no jogo.
FIGURA 4 – ARTHUR LEE SAMUEL E A MÁQUINA QUE JOGAVA DAMAS
FONTE: <https://www.appai.org.br/desenrola-machine-learning-aprendizado-de-maquina/>. 
Acesso em: 2 out. 2020.
UNIDADE 1 — MACHINE LEARNING
6
As redes neurais são um modelo matemático de inteligência artificial 
que simula o comportamento do cérebro humano, tendo um papel importante 
na história e na atualidade do desenvolvimento de algoritmos inteligentes. O 
primeiro algoritmo de redes neurais é conhecido como Perceptron (ROSENBLATT, 
1957), utilizado para a realização de tarefas com reconhecimento de padrões. 
Entretanto, alguns anos depois, Minsky e Papert (1969) realizaram a prova do 
funcionamento do algoritmo e concluíram que não existia poder computacional 
suficiente na época para que ele funcionasse. 
Nos anos de 1970, já com a existência dos bancos de dados relacionais 
e o início do desenvolvimento de sistemas de apoio à decisão, um marco para 
evolução dos sistemas inteligentes foi o algoritmo ID3 (Inductive Decision Tree), 
utilizado nas chamadas árvores de decisão, tendo novas versões nas décadas 
seguintes (QUINLAN, 1986; 1993).
Em um paralelo com a história dos computadores, nos anos de 1980, 
surgiu a segunda geração de computadores, com máquinas menores e poder 
computacional maior. Com isso, as redes neurais ressurgiram, afinal as máquinas 
ficaram mais potentes. A partir dessaépoca, despontou também o uso de 
metodologias experimentais para validar os experimentos. 
A mineração de dados permite a descoberta de conhecimento a partir 
dos bancos de dados. Nos anos de 1990, essa tecnologia atraiu uma quantidade 
significativa de atenção da pesquisa e das organizações, por explorar o uso de 
algoritmos de Machine learning em outras aplicações e ter relação com outras 
áreas da inteligência artificial (FAYYAD; PIATETSKY-SHAPIRO; SMYTH, 1996). 
Por fim, foi na década de 2000 que a internet chegou às casas dos usuários 
e as redes sociais assumiram seu papel na comunicação virtual, gerando um 
grande impacto no cotidiano das pessoas e das organizações. Esse momento, com 
o grande volume de dados, gerando cenários de Big Data, contribuiu para que os 
algoritmos de Machine learning fossem utilizados pelas empresas. 
A Figura 5 sumariza a história do Machine learning, bem como dos demais 
métodos de inteligência artificial descritos anteriormente. 
TÓPICO 1 — INTRODUÇÃO AO MACHINE LEARNING
7
FIGURA 5 – HISTÓRIA DOS MÉTODOS DE MACHINE LEARNING
FONTE: CAO (2018, p. 3)
3 DEFINIÇÃO DE CONCEITOS
Machine learning, compreendido como o aprendizado de máquina a partir 
dos dados previamente conhecido, é definido como um campo preocupado 
com a questão de como construir programas de computador que melhorem 
automaticamente a experiência do usuário (MITCHELL, 1997). 
Para compreendermos melhor essa definição, tomaremos como exemplo o 
“game of checkers”, proposto no experimento de Arthur Samuel (1959), que tratava 
de um programa de aprendizado de máquina para jogar damas. 
Complementarmente a essa definição, Machine learning também é “Um 
programa [que] aprende a partir da experiência E, em relação a uma classe de tarefas T, 
com medida de desempenho P, se seu desempenho em T, medido por P, melhora com E” 
(Mitchell, 1997).
NOTA
UNIDADE 1 — MACHINE LEARNING
8
FIGURA 6 – GAME OF CHECKERS
FONTE: Samuel (1959, p. 4)
Ao aplicarmos a definição de Machine learning proposta por Mitchell 
(1997) no exemplo do jogo de damas, têm-se:
• T: tarefa de realizar o jogo de damas.
• E: experiência com histórico de vários jogos de damas.
• P: a medida de desempenho é a probabilidade de ganhar a próxima partida, 
com base em jogos anteriores.
Um exemplo cotidiano na internet são as tarefas relacionadas aos bots, 
algoritmos que enviam mensagens e fazem postagens simulando serem pessoas 
na rede. Nesses cenários, algoritmos de Machine learning podem ser utilizados 
para a detecção de mensagens feitas por bots. 
FIGURA 7 – BOTS NA WEB
FONTE: <https://avengering.com/en/bot-chatbot-internet-bot-heres-everything-you-need-to-know/>.
 Acesso em: 2 out. 2020.
O jogo de damas, com certeza, não é segredo para você. Confira o artigo que deu 
origem ao primeiro trabalho (SAMUEL, 1959), bem como originou o termo Machine learning: 
https://hci.iwr.uni-heidelberg.de/system/files/private/downloads/636026949/report_frank_
gabel.pdf.
INTERESSA
NTE
TÓPICO 1 — INTRODUÇÃO AO MACHINE LEARNING
9
Ao aplicarmos a definição de Machine learning proposta por Mitchell 
(1997) no exemplo da classificação de bots na web, têm-se:
• T: tarefa de categorizar as mensagens enviadas por bots e por humanos.
• E: experiência com histórico de várias mensagens anteriores corretamente 
identificadas.
• P: a medida de desempenho é a porcentagem de mensagens de bots 
corretamente classificadas.
A área médica provê uma grande quantidade de dados para as mais 
diversas aplicações de Machine learning. Um exemplo é a área de diagnósticos, 
em que as imagens podem ser analisadas para gerar o diagnóstico com base nos 
sintomas apresentados pelo paciente.
FIGURA 8 – DIAGNÓSTICO UTILIZANDO INTELIGÊNCIA ARTIFICIAL
FONTE: <https://cutt.ly/GgVoEwx>. Acesso em: 2 out. 2020.
Ao aplicarmos a definição de Machine learning proposta por Mitchell (1997) 
no exemplo da aplicação para diagnósticos médicos automatizados, têm-se:
• T: tarefa de diagnosticar um paciente de acordo com os sintomas que ele 
apresentar.
• E: experiência com histórico de pacientes anteriores, que foram diagnosticados 
conforme seus respectivos sintomas.
• P: a medida de desempenho é a porcentagem de pacientes que obtiverem o 
diagnóstico correto.
Os bots invadiram a vida dos mais diversos usuários da web, seja para 
quem joga, utiliza e-mail, aplicativos de mensagens, bem como as mais diversas redes 
sociais. Por isso, é interessante conhecer mais sobre os bots, uma vez que, no decorrer 
dos nossos estudos, compreenderemos o seu desenvolvimento e a sua detecção. Leia: 
https://www.techtudo.com.br/noticias/2018/07/o-que-e-bot-conheca-os-robos-que-
estao-dominando-a-internet.ghtml.
INTERESSA
NTE
UNIDADE 1 — MACHINE LEARNING
10
Até o momento, vimos que um algoritmo de Machine learning funciona por 
meio de experiência, tarefa e medidas de desempenho. Ao analisar os exemplos 
apresentados, a experiência é sempre adquirida por meio dos dados, ou seja, os 
dados são essenciais para a existência do processo de Machine learning.
Machine learning é uma forma de Inteligência Artificial muito utilizada 
atualmente, que permite o aprendizado, pelo sistema, a partir de dados 
imputados, que servirão como base de treinamento para que o sistema 
gere modelos ou saídas que possam servir para análises preditivas ou, 
ainda, para futuras tomadas de decisão (MOREIRA, 2020, p. 1).
De modo geral, os algoritmos de Machine learning são de inteligência 
artificial, pois aprendem com dados históricos armazenados. Essa tecnologia utiliza 
os mais diversos tipos algoritmos, embora, em geral, sejam modelos matemáticos 
baseados em distância, probabilísticos, baseados em regras, gradiente descendente, 
e muitos outros que iremos estudar ao longo deste livro didático.
 
Os modelos matemáticos geram a inteligência dos algoritmos, permitindo 
a existência do conhecimento a partir dos dados. A Figura 9 mostra uma maneira 
simplificada de como os algoritmos de Machine learning funcionam. 
FIGURA 9 – FLUXO DE APRENDIZADO DE UM ALGORITMO DE MACHINE LEARNING
FONTE: O autor
Existem diversas aplicações na área médica, desde a medicina avançada 
até o suporte ao usuário. Um exemplo é a Dra. Lara, uma assistente virtual de apoio e 
acompanhamento ao pré-natal, desenvolvida no seguinte trabalho sobre o processo de 
desenvolvimento de um chatbot para área médica: https://www.researchgate.net/profile/
Rodrigo_Nogueira16/publication/338668367_DRA_LARA_ASSISTENTE_VIRTUAL_DE_
APOIO_E_ACOMPANHAMENTO_AO_PRE-NATAL/links/5e95fd93a6fdcca78915bf24/
DRA-LARA-ASSISTENTE-VIRTUAL-DE-APOIO-E-ACOMPANHAMENTO-AO-PRE-NATAL.pdf. 
INTERESSA
NTE
TÓPICO 1 — INTRODUÇÃO AO MACHINE LEARNING
11
4 CARACTERÍSTICAS DE MACHINE LEARNING
Os sistemas de aprendizado de máquina apresentam características 
peculiares, que possibilitam uma classificação não exclusiva desses sistemas 
em função da linguagem de descrição, do modo de aprendizado, do paradigma 
de aprendizado, das formas e da tarefa de aprendizado (STANGE, 2011). Para 
elucidar a relação dessas características, o quadro a seguir elenca maneira 
organizada de acordo com os seus tipos. 
QUADRO 1 – CLASSIFICAÇÃO DOS SISTEMAS DE MACHINE LEARNING
Modos de 
aprendizado
Paradigmas de 
aprendizado
Formas de 
aprendizado
Tarefas de 
aprendizado
Supervisionado Simbólico Incremental Classificação
Não 
supervisionado Estatístico Não incremental Regressão
Por reforço Conexionista Agrupamento
Genético Associação
FONTE: Adaptado de Stange (2011)
No que se refere à classificação dos métodos de Machine learning, podem 
acontecer pela característica denominada modo de aprendizado, isto é, a maneira 
com que os resultados da execução dos algoritmos são influenciados por 
especialistas externos. Os modos de aprendizado podem ser supervisionados, 
semissupervisionados, não supervisionados e aprendizado por reforço. 
Segundo Zubelli (2017), no aprendizado supervisionado, são apresentados 
exemplos do que é desejado como entrada e saída, de modo que o objetivoé 
aprender uma regra que mapeia a entrada na saída. Já no não supervisionado, 
nenhuma informação é dada a priori, deixando o algoritmo descobrir sozinho 
estruturas e padrões nas entradas fornecidas.
Complementarmente, o aprendizado semissupervisionado envolve um 
pequeno grau de supervisão, tal como um conjunto de “sementes”, para começar 
o processo de aprendizagem.
O aprendizado por reforço envolve a interação com o ambiente 
circundante, abordando a questão de como um agente autônomo que sente e age 
em seu ambiente pode aprender a escolher ações ideais para atingir seus objetivos. 
O comportamento de um agente é recompensado com base nas ações que ele 
realiza no ambiente. Ele considera as consequências de suas ações e adota medidas 
ótimas. Um computador jogando xadrez com um ser humano, aprendendo a 
reconhecer palavras faladas e a classificar novas estruturas astronômicas é um 
exemplo de aprendizado por reforço (SHOBHA; RANGASWAMY, 2018).
UNIDADE 1 — MACHINE LEARNING
12
Os paradigmas de aprendizado de máquina podem ser simbólicos, 
estatísticos, conexionistas, baseado em exemplos ou genético. Tais conceitos são 
descritos por Monard e Baranauskas (2003) como:
• Simbólico: os sistemas de aprendizado simbólico buscam aprender 
construindo representações simbólicas de um conceito, por meio da análise 
de exemplos e contraexemplos dele. As representações simbólicas estão 
tipicamente na forma de alguma expressão lógica, árvore de decisão, regras 
ou rede semântica. 
• Estatístico: pesquisadores em estatística têm criado diversos métodos 
de classificação, muitos deles semelhantes aos métodos posteriormente 
desenvolvidos pela comunidade de aprendizado de máquina. A ideia geral 
consiste em modelos estatísticos para encontrar uma boa aproximação do 
conceito induzido.
• Baseado em exemplos: uma forma de classificar um exemplo é lembrar de 
outro similar, cuja classe é conhecida, e assumir que o novo exemplo tem a 
mesma classe. Essa filosofia demonstra os sistemas baseados em exemplos, que 
os classificam como nunca vistos por meio de exemplos similares conhecidos. 
Esse tipo de sistema de aprendizado é denominado lazy (preguiçoso) e 
necessita manter os exemplos na memória para classificar novos exemplos, 
em oposição aos sistemas eager (gulosos), que utilizam os exemplos para 
induzir o modelo, descartando-os logo após.
• Conexionista: de modo geral, essa abordagem trata das redes neurais, que 
são construções matemáticas simplificadas, inspiradas no modelo biológico 
do sistema nervoso. A representação de uma rede neural envolve unidades 
altamente interconectadas e, por isso, o nome conexionismo é utilizado, para 
descrever a área de estudo.
• Genético: paradigma de aprendizado derivado do modelo evolucionário pro-
posto por David Goldberg, em 1989, no livro “Algoritmos genéticos em pesqui-
sa, otimização e Machine learning”. Um classificador genético consiste de uma 
população de elementos de classificação que competem para fazer a predição.
As formas de aprendizado estão ligadas à maneira com que o algoritmo 
obtém o conhecimento a partir dos dados. Como você aprendeu, os algoritmos 
de Machine learning aprendem a partir dos dados armazenados, e as formas de 
aprendizado estão relacionadas à atualização desses dados. No cenário real de 
implementação de um algoritmo que tem os dados atualizados a todo momento, 
a cada novo dado, o algoritmo precisa atualizar o modelo matemático; quando o 
algoritmo precisa ler todo o conjunto de dados, ele é chamado de não incremental, 
mas se conseguir atualizar o modelo a partir do novo dado é incremental.
As tarefas de aprendizado de máquina são tipicamente divididas 
conforme os sinais de entrada e as respostas do aprendizado (ZUBELLI, 2017). 
Essas tarefas podem ser de classificação, regressão, agrupamento ou associação – 
cada um desses métodos será estudado em seguida. 
TÓPICO 1 — INTRODUÇÃO AO MACHINE LEARNING
13
FIGURA 10 - A CIÊNCIA DOS DADOS É MULTIDISCIPLINAR
FONTE: <https://www.quora.com/What-is-machine-learning-and-how-it-is-linked-to-Big-
-Data-Data-Mining>. Acesso em: 2 out. 2020.
Machine learning, muitas vezes, pode ser confundida com outras áreas do conhecimento, 
principalmente em sistemas inteligentes, pois, como são áreas próximas, é comum tal 
confusão. Por isso, é interessante compreender a relação entre essas áreas:
• A ciência de dados é o guarda-chuva de técnicas nas quais você está tentando extrair 
informações e insights sobre os dados. Isso inclui desde trabalhar com programação 
em baixo nível até a entrega de informação em nível mais alto.
• A mineração de dados é a ciência de coletar histórico de dados e, em seguida, 
procurar padrões neles. Você procura padrões consistentes e relacionamentos 
entre variáveis. Depois de encontrar essas informações, você as válidas aplicando os 
padrões detectados a novos subconjuntos de dados. 
• Análise de dados é qualquer tentativa de entender os dados.
• Estatística é o estudo da coleta, da análise, da interpretação, da apresentação e da 
organização dos dados. A estatística lida com todos os aspectos dos dados, incluindo o 
planejamento da coleta de dados, em termos de projeto de pesquisas e experimentos.
• Bancos de dados é uma coleção organizada de dados, com esquemas, tabelas, 
consultas, relatórios, visualizações e outros objetos. Os dados são normalmente 
organizados para modelar aspectos da realidade, de maneira a suportar processos 
que requerem informações.
• Inteligência artificial (IA) é a inteligência exibida por máquinas ou software, isto é, 
campo de estudo acadêmico sobre como criar computadores e softwares capazes 
de comportamento inteligente.
• A descoberta de conhecimento em bancos de dados (KDD) é o processo que 
identifica o conhecimento útil de uma coleção de dados.
• O reconhecimento de padrões se concentra no reconhecimento de padrões e 
regularidades nos dados, embora em alguns casos seja considerado quase sinônimo 
de aprendizado de máquina. 
• A neurocomputação estuda um programa de software que usa uma rede neural, 
simulando o cérebro humano, que pode ser treinada para executar tarefas específicas, 
como reconhecimento de padrões.
FONTE: <https://www.quora.com/What-is-machine-learning-and-how-it-is-linked-to-Big-
Data-Data-Mining>. Acesso em: 2 out. 2020.
INTERESSA
NTE
14
Neste tópico, você aprendeu que:
• O Machine learning está presente no cotidiano dos usuários da web.
• As grandes corporações utilizam essa tecnologia para otimizar seus negócios.
• A história do Machine learning teve início com um jogo de damas que utilizava 
inteligência artificial.
• Os fundamentos históricos acompanham o de outras tecnologias, como a 
inteligência artificial e Big Data.
• Um programa aprende a partir da experiência E, em relação a uma classe de 
tarefas T, com medida de desempenho P; se seu desempenho em T, medido 
por P, melhora com E.
• Os algoritmos são de inteligência artificial, que aprendem com dados 
históricos armazenados.
• Os sistemas apresentam diversas características. São elas: modos de 
aprendizado – supervisionado, não supervisionado e por reforço; paradigmas 
de aprendizado – simbólico, estatístico, conexionista ou genético; formas de 
aprendizado – incremental ou não incremental; e tarefas de aprendizado – 
classificação, regressão, agrupamento ou associação.
RESUMO DO TÓPICO 1
15
1 Leia o texto a seguir: 
Os sistemas de Machine learning, em português conhecidos como sistema 
de aprendizagem automática ou sistemas de aprendizado de máquina, 
podem ajudar a descobrir padrões, realizar determinadas tarefas através da 
generalização de casos e na utilização de dados.
FONTE: OLIVEIRA, P. M. M. de. Benchmarking sobre técnicas de otimização para modelos 
de apoio à decisão na medicina intensiva. 2015. Tese de Doutorado.
Os algoritmos de aprendizado de máquina têm um modo de aprendizado que 
depende de um especialista externo para avalizar seus resultados. Assinale a 
alternativa CORRETA que contenha essemodo: 
a) ( ) Aprendizado por reforço.
b) ( ) Aprendizado supervisionado.
c) ( ) Aprendizado não supervisionado.
d) ( ) Aprendizado por inteligência.
2 Leia o texto a seguir: 
Os algoritmos de Machine learning podem ser aplicados para uma larga gama 
de situações problema, desde detecção de fraudes fiscais, até recomendações, 
porém isso só pode ser feito devido à grande quantidade de dados fornecidas 
pelos datasets.
FONTE: FREITAS, D. W. Recomendação de animes utilizando Machine learning: uma aborda-
gem baseada em avaliações dos usuários. Engenharia da Computação, 2018.
Com relação aos algoritmos de Machine learning, assinale a alternativa 
CORRETA que contenha os paradigmas de aprendizado:
a) ( ) Simbólico, estatístico, conexionista e genético.
b) ( ) Supervisionado, estatístico, conexionista e genético.
c) ( ) Simbólico, estático, conexionista e genético.
d) ( ) Simbólico, estatístico, colaborador e georreferenciado.
3 A internet soma mais de 2 bilhões de sites publicados, sendo a principal 
fonte de informação deste século. No entanto, cada vez mais opções de sites 
implicam diversos veículos que não produzem notícias verdadeiras, as 
ditas fakes news. O sistema desenvolvido por Monteiro, Nogueira e Moser 
(2019) tem como objetivo implementar um algoritmo de Machine Leaning 
para classificar notícias em reais e fake news.
AUTOATIVIDADE
16
FONTE: MONTEIRO, R.; NOGUEIRA, R.; MOSER, G. Desenvolvimento de um sistema para a 
classificação de Fakenews acoplado à etapa de ETL de um Data Warehouse de Textos de No-
tícias em língua Portuguesa. In: Anais da XV Escola Regional de Banco de Dados. SBC, 2019. 
p. 131-140. Disponível em: https://sol.sbc.org.br/index.php/erbd/article/view/8486/8387. 
Acesso em: 2 out. 2020.
Sobre o problema de Machine learning apresentado no enunciado, indique a 
experiência, a tarefa e a medida de desempenho. 
E:__________________________________________________________________
____________________________________________________________________
T:__________________________________________________________________
____________________________________________________________________
P:__________________________________________________________________
____________________________________________________________________
4 Leia o texto a seguir: 
A lucratividade promovida pelo Google em sua nova plataforma de 
distribuição de vídeos do YouTube atraiu um número crescente de usuários. 
No entanto, esse sucesso também atraiu usuários mal-intencionados, que têm 
como objetivo autopromover seus vídeos ou disseminar vírus e malwares. Como 
o YouTube oferece ferramentas limitadas para moderação de comentários, o 
volume de spam aumenta surpreendentemente, o que leva os proprietários 
de canais famosos a desativar a seção de comentários em seus vídeos.
FONTE: ALBERTO, T. C.; LOCHTER, J. V.; ALMEIDA, T. A. TubeSpam: Comment spam filtering 
on YouTube. In: 2015 IEEE 14th International Conference on Machine learning and Applica-
tions (ICMLA). IEEE, 2015. p. 138-143. Disponível em: http://www.dt.fee.unicamp.br/~tiago/
papers/TCA_ICMLA15.pdf. Acesso em: 2 out. 2020.
No trabalho descrito pelo texto, foram implementados algoritmos de Machine 
learning para a detecção de comentários de publicidade (spam) em vídeos 
da internet. Sobre o problema de Machine learning apresentado, indique a 
experiência, a tarefa e a medida de desempenho. 
17
E:__________________________________________________________________
____________________________________________________________________
T:__________________________________________________________________
____________________________________________________________________
P:__________________________________________________________________
____________________________________________________________________
5 Os algoritmos de Machine learning têm seu aprendizado baseado em dados 
históricos e diversas aplicações: agricultura de precisão, reconhecimento 
de imagem, classificação de textos, desenvolvimento de chatbots. Torna-se 
difícil um setor do novo modelo tecnológico que não utilize suas técnicas. 
Sobre Machine learning, assinale a alternativa CORRETA que contenha as 
tarefas de aprendizado:
 
a) ( ) Classificação, revolução, agrupamento e associação.
b) ( ) Classificação, regressão, agrupamento e associação.
c) ( ) Categorização, regressão, análise e dissociação.
d) ( ) Classificação, regressão, agrupamento e dissociação.
18
19
TÓPICO 2 — 
UNIDADE 1
PREPARANDO O AMBIENTE PARA TRABALHAR 
COM MACHINE LEARNING
1 INTRODUÇÃO
Ao desenvolver sistemas que utilizam Machine learning são diversos os 
itens a serem considerados, desde a compreensão do conceito, as características 
dos métodos, os tipos de métodos, as tarefas que podem ser realizadas, e as 
estratégias para otimizar e avaliar o funcionamento. 
Este livro didático tem uma abordagem prática sobre Machine learning e, 
para facilitar a compreensão de cada um desses conceitos, primeiramente, vamos 
preparar o nosso ambiente, conhecendo e instalando as principais ferramentas. 
2 LINGUAGEM DE PROGRAMAÇÃO 
O desenvolvimento de sistemas inteligentes, por meio de algoritmos de 
Machine learning, pode ser feito pelas diversas linguagens de programação. Entre 
elas, podemos destacar as ferramentas MatLab, R, Scala e Python. 
Um ponto importante é que praticamente todas as linguagens de 
programação da atualidade têm a capacidade de implementar algoritmos 
de Machine learning, bem como bibliotecas que já contêm esses algoritmos 
implementados. 
Um exemplo é a linguagem Java, que teve um papel importante na 
implementação do framework de Big Data Apache Hadoop, além de sua 
aplicabilidade em sistemas distribuídos. A linguagem conta com o JAVA-ML, 
uma biblioteca que apresenta os algoritmos de Machine learning implementados. 
No decorrer dos estudos e da prática sobre programação, a programação 
vetorial (ou programação matricial) será muito utilizada. Para isso, recomendamos a 
seguinte leitura: GOLUB, G. H.; VAN LOAN, C. F. Matrix Computations. 4. ed. Baltimore: The 
Johns Hopkins University Press, 2013.
NOTA
20
UNIDADE 1 — MACHINE LEARNING
A Microsoft, por sua vez, tem evoluído muito no mercado de computação em 
nuvem, por meio da sua plataforma Microsoft Azure. A linguagem C# e a plataforma 
.NET têm recursos de integração com as ferramentas de Machine learning, bem como 
sua própria biblioteca dessa tecnologia, denominada de ML.NET. 
Diante de um cenário no qual há diversas linguagens com suas respectivas 
características, daremos continuidade ao estudo de Machine learning com a 
linguagem Python. O Python é uma linguagem de código aberto, com diversas 
bibliotecas para auxiliar na preparação de dados e no desenvolvimento de 
algoritmos de Machine learning. 
Entre suas principais características, o Python pode ser executado na 
maioria dos sistemas operacionais, desde os tradicionais, como Windows, 
MacOs e Linux, até sistemas operacionais diversos como FreeBSD, utilizado em 
servidores, e OpenELEC, uma versão do Linux com poucos recursos utilizada em 
dispositivos de IoT (Internet of Things). 
Para realizar a instalação do Linux, você pode acessar direto a página de 
downloads da plataforma: https://www.python.org/downloads/. No decorrer do 
desenvolvimento deste livro didático, foi utilizada a versão 3.8 do Python, porém os 
códigos desenvolvidos podem ser executados em qualquer instalação da versão 3.X. 
No decorrer desta unidade, você irá utilizar algumas das principais 
bibliotecas do Python para realização de tarefas correlatas aos processos Machine 
learning, desde coleta de dados, pré-processamento até implementação dos 
algoritmos. Para instalar bibliotecas, o Python utiliza o gerenciador de pacotes PIP. 
Existem diversas características que fazem do Python uma poderosa 
linguagem de programação. Confira algumas listadas pela ComputerWorld (2019):
1. Python é linguagem de programação popular na ciência e nas empresas.2. Conhecimentos em Python são exigidos em muitas vagas.
3. Python tem muitas bibliotecas e estruturas.
4. Python tem bibliotecas poderosas para a ciência de dados.
5. Python é muito utilizado em inteligência artificial e Machine learning.
Além de muito usada na ciência de dados, há também muitas bibliotecas eficientes na 
programação de inteligência artificial e Machine learning. Theano, Scikit-learn, Tensorflow 
estão entre os módulos mais usados para algoritmos de machine learning. Já o Keras é uma 
biblioteca de rede neural open source, dedicada para aplicações de inteligência artificial.
6. Python é utilizado no desenvolvimento de aplicações web.
7. Python é funcional em diversos sistemas operacionais.
8. Tem uma comunidade grande de desenvolvedores contribuindo com sua evolução.
9. Python é usado para criar interfaces gráficas de usuário (GUI).
10. Python é usado para automação de diversas tarefas.
INTERESSA
NTE
TÓPICO 2 — PREPARANDO O AMBIENTE PARA TRABALHAR COM MACHINE LEARNING
21
3 JUPYTER NOTEBOOK E GOOGLE COLAB RESEARCH
O notebook Jupyter é uma interface gráfica que utiliza os navegadores 
de internet para executar códigos Python e cria, nele, um rico conjunto de 
recursos de exibição dinâmica. Além de executar instruções Python, o Jupyter 
Notebook permite que o usuário inclua texto formatado, visualizações estáticas 
e dinâmicas, equações matemáticas, widgets JavaScript e muito mais. Ademais, 
esses documentos podem ser salvos de maneira a permitir que outras pessoas os 
abram e executem o código em seus próprios sistemas (VANDERPLAS, 2016).
Se você seguiu os passos indicados na seção anterior e realizou a instalação 
do Python e o gerenciador de pacotes PIP na sua máquina, basta executar o 
seguinte comando: 
Na sequência, para executar o Jupyter Notebook e receber o link para que 
seja aberto, deve ser executado:
A partir de agora, você já terá o Jupyter instalado em seu computador e 
estará apto a executar códigos dinâmicos com IPython. A Figura 11 mostra a tela 
do Jupyter após a instalação – ao clicar em New Python 3, será inicializada 
uma tela em branco, chamada de Notebook. 
Para realizar a instalação do PIP nos principais sistemas operacionais, confira 
alguns links para o auxiliar:
• Windows: https://dicasdepython.com.br/resolvido-pip-nao-e-reconhecido-como-um-
comando-interno/
• Linux: https://python.org.br/instalacao-linux/
• MacOS: https://python.org.br/instalacao-mac/
DICAS
22
UNIDADE 1 — MACHINE LEARNING
FIGURA 11 – TELA INICIAL DO JUPYTER NOTEBOOK
FONTE: O autor
Atualmente, nosso mundo é dinâmico no que se refere às equipes de 
desenvolvimento de sistemas e multidisciplinares. Nesse cenário, pesquisadores 
e desenvolvedores atuam em projetos de maneira remota, acessando o mesmo 
código e compartilhando soluções. 
Com relação à utilização do Notebook e ao compartilhamento de código, 
uma solução interessante é o Google Colaboratory, também chamado de Google 
Colab. Segundo Rosa (2019), trata-se de um serviço na nuvem gratuito, que 
oferece suporte de processamento (nesse caso, uma GPU Tesla K80) e também 
pode contar com 12 GB de memória RAM. Por isso, é uma ótima ferramenta para 
o treinamento de algoritmos de aprendizado de máquina. 
Tendo como objetivo aproximar o aluno do conteúdo prático apresentado 
ao longo deste livro didático, iremos utilizar diversos exemplos desenvolvidos na 
plataforma Google Colab. Com a utilização dessa ferramenta, os processos de ensino-
aprendizagem podem se beneficiar do uso de recursos on-line, permitindo a melhoria 
da produtividade para alunos e professores, por meio da flexibilidade e do trabalho 
colaborativo. Particularmente, nos cursos de computação, as ferramentas de código 
aberto, como o Jupyter Notebook, fornecem um ambiente de programação para o 
desenvolvimento e o compartilhamento de materiais educacionais, combinando 
O termo GPU (Graphics Processing Unit, em português “Unidade de 
Processamento Gráfico”) é a responsável por dar vida aos jogos eletrônicos. De modo 
geral, pode-se compreendê-la como as placas de vídeo de aceleração. 
O motivo de uma placa de vídeo ter destaque em um tema como o nosso é que, com GPU, 
é possível a execução dos algoritmos utilizando CUDA e OpenCL. Em geral, essas duas 
tecnologias permitem que os algoritmos sejam executados utilizando a placa de vídeo.
NOTA
TÓPICO 2 — PREPARANDO O AMBIENTE PARA TRABALHAR COM MACHINE LEARNING
23
diferentes tipos de recursos, como texto, imagens e código, em várias linguagens 
de programação em um único documento, acessível pela web do navegador. Esse 
ambiente também é adequado para fornecer acesso a experimentos on-line e explicar 
como usá-los (CARDOSO; LEITÃO; TEIXEIRA, 2018). 
No decorrer de nossa disciplina, utilizaremos o Google Colab para que 
você tenha acesso aos exemplos completos desenvolvidos no curso. Caso ainda 
não tenha experiência com o Google Colab, convido-o a acessar o link do Notebook 
e dar início ao uso dessa ferramenta, que será importante para o desenvolvimento 
da disciplina. 
A Figura 12 mostra um exemplo da tela de cabeçalho de um documento 
Colab Notebook. Para ter um melhor aproveitamento desse conteúdo, é necessário 
conectar-se à plataforma utilizando uma conta Google. Ao abrir o programa, você 
perceberá que poderá apenas visualizar os códigos disponibilizados, sem poder 
executá-los – clique em Open in playground para poder habilitar essa função e, 
a partir desse momento, você irá executar os códigos em seu próprio ambiente, 
utilizando os recursos de hardware anteriormente mencionados. 
FIGURA 12 – TELA INICIAL DO GOOGLE COLAB NOTEBOOK
FONTE: O Autor
O Notebook com o conteúdo deste tópico está disponível no link: https://colab.
research.google.com/drive/1SD5qmxVjTtOpbfcSXN1G9WTqsr06ci0w.
ATENCAO
Caso esteja curioso sobre o funcionamento do Google Colab, e para conhecer 
mais sobre a execução de código utilizando GPU, leia o artigo Google Colab – Guia do Iniciante: 
https://medium.com/machina-sapiens/google-colab-guia-do-iniciante-334d70aad531
DICAS
24
UNIDADE 1 — MACHINE LEARNING
4 GITHUB
No processo de desenvolvimento de software, seja de cunho comercial 
ou desenvolvimento de sistemas inteligentes utilizando algoritmos de Machine 
learning, o código passa por diversas alterações conforme o projeto evolui. Nesse 
contexto, o versionamento de código permite que sejam geradas diversas versões 
do código-fonte desenvolvido. 
Um sistema de versionamento de código é uma aplicação capaz de 
gravar as mudanças em um ou mais arquivos durante determinado período. A 
utilização desse tipo de aplicação torna possível retornar a uma versão específica 
daquele arquivo em qualquer momento. A principal vantagem do uso desse tipo 
de sistema é a organização do projeto, visto que se pode manter um histórico 
do desenvolvimento, possibilitando desenvolver funcionalidades paralelamente 
a partir do mesmo código. Além disso, viabiliza a criação de uma nova versão do 
projeto sem alterar a versão principal (GIORDANI, 2019).
Nos mais diversos tipos de projetos de software são utilizadas estratégias 
de versionamento, cada qual abordada de maneira distinta. Existem diversos 
softwares de gerenciamento de versões disponíveis no mercado, podendo-se citar 
CVS, Subversion, TFS e o Git – o qual iremos conhecer mais a fundo. 
O Git é um sistema de controle de versão distribuído, utilizado para 
registrar o histórico de alterações em arquivos e comum em equipes de 
desenvolvimento de software. Com o uso do Git, é possível reverter um software 
para versões anteriores de forma rápida e fácil (SILVERMAN, 2013). 
O Git utiliza repositórios que armazenam as versões do código-fonte 
e, embora os repositórios possam ser feitos em servidores das empresas, 
tradicionalmente, são feitos on-line em serviços próprios, como o GitHub. 
O GitHub é um repositório de hospedagem de serviços Git – entre 
outras tantas características próprias. As interações entre seus usuários são de 
natureza complexa e ocorrem dediferentes formas, principalmente porque 
pode ser considerado uma rede social, além de uma plataforma colaborativa. 
Usando o GitHub, os programadores podem interagir e colaborar em torno de 
repositórios de código aberto, o que permite que eles façam download, cooperem, 
compartilhem, entre outras funcionalidades (WEITZEL; SPIES; SANTOS, 2017). 
TÓPICO 2 — PREPARANDO O AMBIENTE PARA TRABALHAR COM MACHINE LEARNING
25
Para compreender melhor o funcionamento do Git, o ideal é criar um 
repositório. Para isso, utilizaremos o GitHub (www.github.com) – entretanto, 
você pode optar por uma alternativa de repositório.
Cada sistema operacional tem sua particularidade durante a instalação do Git; 
por isso, separamos alguns artigos para auxiliar na instalação de acordo com o seu sistema 
operacional: 
• Instalação em Windows: https://woliveiras.com.br/posts/instalando-o-git-windows/.
• Instalação no Linux: https://www.digitalocean.com/community/tutorials/como-
instalar-o-git-no-ubuntu-18-04-pt.
• Instalação no MacOS: https://git-scm.com/book/pt-br/v2/Come%C3%A7ando-
Instalando-o-Git.
IMPORTANT
E
Mesmo o GitHub tendo destaque no mercado há muito tempo são diversas 
alternativas para criar seu repositório de arquivos versionados na nuvem. Veja, a seguir, a 
lista criada pelo Imaster (2018) com cinco das principais alternativas:
• GitLab (BSD): certamente, a alternativa mais conhecida. Escrito em Ruby on Rail, é de 
longe o mais completo (e complexo) de todos, abrangendo outras funcionalidades que 
não estão presentes, por padrão, no Github (por exemplo, Continous Integration). Pode 
ser acessado em: https://www.gitlab.com.
• Gogs (MIT): mais simples que o GitLab, mesmo assim consegue oferecer uma boa 
gama de recursos, aproximando-se bastante das funções mais importantes do GitHub, 
inclusive na interface de usuário web. Pode ser acessado em: https://www.gogs.io.
• Phabricator: a opção que tenta se afastar mais do GitHub, na tentativa de criar algo 
melhor e mais completo, que supra a maior parte das necessidades de um projeto de 
desenvolvimento de software. Pode ser acessado em: https://phacility.com/phabricator/.
• GitBucket: é uma plataforma web escrita em Scala, que conta com a instalação 
simplificada de um arquivo .war em sistemas que podem rodar Java 8. Pode ser 
acessada em: https://github.com/gitbucket.
• Kallithea (GPL3): o projeto é membro da Software Freedom Conservancy e suporta 
Mercurial, além de Git. Escrito em Python, traz alguns outros recursos interessantes. 
Pode ser acessado em: https://kallithea-scm.org/.
• GitPrep (GPL): um recurso mais simples, mas que tem uma interface semelhante à do 
GitHub, precisa apenas de Perl 5.10.1+ para rodar e já traz um servidor web integrado. 
Além disso, possui issue tracker e suporte a CGI, SSL e autenticação por chave pública. 
Pode ser obtido em: http://gitprep.yukikimoto.com/.
DICAS
26
UNIDADE 1 — MACHINE LEARNING
5 DATASETS 
O termo Dataset vem do idioma inglês e tem como significado “conjunto 
de dados”. Em disciplinas relacionadas a bancos de dados (Relacionais, NoSQL, 
entre outras), o tema pode ser discutido mais a fundo – com conceito de dados, 
informação e conhecimento (Figura 13). 
FIGURA 13 – DADOS, INFORMAÇÃO E CONHECIMENTO
FONTE: <https://www.gapingvoid.com/blog/2019/03/05/want-to-know-how-to-turn-change-in-
to-a-movement/>. Acesso em: 20 maio 2020.
Vamos relembrar os conceitos de dados, informação e conhecimento, uma 
vez que, no decorrer desta disciplina, nosso objetivo é extrair conhecimento. Na definição 
de Nogueira (2020): 
• Dados: são fatos de um mundo real, que estão armazenados em algum lugar, mas não 
contêm sentido; pode-se dizer que o dado é a informação em sua forma bruta, ou seja, 
ainda não lapidada. 
• Informação: é quando o dado tem algum tipo de organização, de tal modo que passa a 
ter algum sentido. Pode-se dizer que a informação é composta por dados organizados, 
mas de maneira compreensível.
• Conhecimento: vem de discernimento, prática e experiência de vida. O conhecimento 
é extraído a partir dos dados e das informações armazenadas, sendo aquilo que não 
pode ser visto por uma perspectiva humana, mas, sim, extraído. 
INTERESSA
NTE
Em nosso estudo sobre Machine learning, consideraremos que um Dataset 
é literalmente um conjunto de dados, que, quando utilizado, será extraído 
conhecimento, ou seja, é um conjunto de dados sob qual será aplicado o algoritmo de 
Machine learning. 
TÓPICO 2 — PREPARANDO O AMBIENTE PARA TRABALHAR COM MACHINE LEARNING
27
Nesse sentido, para essa aplicação, um conjunto de dados pode ter diversas 
formas. Na sequência, veremos alguns exemplos de tipos de fontes de dados (datasets) 
para algoritmos de Machine learning, bem como exemplos de suas aplicações.
5.1 BANCOS DE DADOS E DATA WAREHOUSING
No ambiente empresarial, os dados são armazenados prioritariamente em 
sistemas gerenciadores de bancos de dados (relacionais ou NoSQL). Os dados 
organizacionais também podem ser depositados em um ambiente de Business 
Intelligence, integrados por intermédio de um Data Warehouse. 
FIGURA 14 – MACHINE LEARNING EM AMBIENTES ORGANIZACIONAIS
FONTE: <https://pixabay.com/pt/photos/empreendedor-id%C3%A9ia-compet%C3%AAncia-1340649/>.
 Acesso em: 2 out. 2020.
Do ponto de vista dos ambientes organizacionais, são diversas as 
aplicações de algoritmos de Machine learning e elas podem variar conforme o 
segmento de atuação da empresa:
• Detecção de perfil de clientes.
• Previsão de falhas na linha de produção.
• Predição de lucros e dividendos.
• Sugestão de produtos em loja on-line.
• Previsão de falhas em equipamentos.
• Obtenção de valores que impactam na compra/venda de ações.
• Análise automática de mercado financeiro.
 
5.2 ÁUDIO, IMAGEM E VÍDEO
Os dados não estruturados apresentam diversos formatos, como imagens, 
áudios e vídeos – esses três tipos, em especial, têm como característica comum 
a demanda por processamento para que os algoritmos sejam executados. 
Uma sequência de passos tem que ser executada para que os dados se tornem 
compreensíveis para os algoritmos de Machine learning. 
28
UNIDADE 1 — MACHINE LEARNING
FIGURA 15 – RECONHECIMENTO DE FACES COM MACHINE LEARNING
FONTE: <https://www.pyimagesearch.com/2018/06/18/face-recognition-with-opencv-python-
-and-deep-learning/>. Acesso em: 2 out. 2020.
Apesar da demanda por processamento ser alta, as aplicações com esses 
tipos de dados estão entre as mais interessantes, podendo-se citar como exemplos:
• Reconhecimento facial.
• Detecção de objetos em vídeos.
• Reconhecimento por voz.
• Classificação de imagens.
• Identificação de objetos.
5.3 ARQUIVOS DE TEXTOS
Os textos podem ser coletados de sites de notícias, redes sociais, mensagens 
SMS, e-mails, além de poderem ser utilizados documentos na forma de texto 
(PDF, por exemplo). Os documentos de texto também são do tipo não estruturado 
e demandam preprocessamento para que sejam compreendidos pelos algoritmos 
de Machine learning. 
FIGURA 16 – EXEMPLO DE APLICAÇÃO DE DATASETS DE TEXTO
FONTE: <https://cutt.ly/5gVjQBy>. Acesso em: 2 out. 2020.
TÓPICO 2 — PREPARANDO O AMBIENTE PARA TRABALHAR COM MACHINE LEARNING
29
A área que utiliza textos com algoritmos de Machine learning faz parte do 
NLP (Natural Language Processing, que significa “Linguagem de Processamento 
Natural”). As tarefas de Machine learning são utilizadas na automatização de 
diversos tipos de cenários com textos, por exemplo:
• Detecção automática de spams (Ham ou Spam).
• Classificação de notícias (esporte, política, economia etc.).
• Análise de sentimento (positivo, negativo, neutro).
• Agrupamento de textos (juntar textos de acordo com as palavras).
• Sumarização de textos (resumo de textos).
• Detecção automática de notícias falsas (real ou fake news).
• Desenvolvimento de chatbots.
5.4 DOCUMENTOS SEMIESTRUTURADOS
 
Os documentos semiestruturados são aqueles cuja estrutura pode ser 
alterada durante a execução de programas. No caso de algoritmos de Machine 
learning,estes recebem tais documentos para análise. São exemplos de documentos 
planilhas de Excel, documentos JSON, documentos CSV e arquivos XML. 
FIGURA 17 – EXEMPLO DE DOCUMENTO SEMIESTRUTURADO
FONTE: O autor
Os documentos semiestruturados permitem armazenar os mais diversos 
tipos de dados, mas, principalmente, valores numéricos e discretos. Com isso, 
existem as mais diversas aplicações, bem como inúmeros conjuntos desses dados. 
Como são tantas as aplicações que utilizam os dados semiestruturados, desde 
análises simples, como tipos de folhas de flores, até datasets mais complexos, com 
dados de células que objetivam a classificação em cancerígena ou não. 
Para compreender melhor os muitos exemplos que utilizam dados nos 
formatos mencionados, vamos estudar, a seguir, alguns sites que disponibilizam 
datasets gratuitos. 
30
UNIDADE 1 — MACHINE LEARNING
5.5 KAGGLE
Uma das fontes de conjuntos de dados que utilizaremos, no decorrer do 
nosso estudo, é o Kaggle. Considerado um dos maiores repositórios de dados para 
aplicações de Machine learning, também é uma rede social para cientistas de dados. 
O Kaggle é uma plataforma feita para a comunidade de Data Science e Machine 
learning, cujos propósitos são compartilhar conjuntos de dados, fomentar a 
formação de novos Data-Scientists e engenheiros de Machine learning, e promover 
competições entre profissionais da área (JORDÃO, 2018). 
FIGURA 18 – EXEMPLO DE UTILIZAÇÃO DO KAGGLE
FONTE: O autor
Em seu ambiente, o Kaggle disponibiliza diversos recursos além dos 
conjuntos de dados. Você poderá codificar on-line, utilizar Jupyters e participar 
de desafios utilizando os datasets da plataforma. 
5.6 UCI MACHINE LEARNING REPOSITORY
Em ambientes de pesquisa científica, o UCI Machine learning Repository 
está entre os sites mais utilizados para obter datasets para realização de pesquisas, 
bem como para benchmark para novas bases criadas (MENEZES, 2016).
Acesse o Kaggle, crie sua conta e explore os mais diversos datasets que a 
plataforma disponibiliza: https://www.kaggle.com/.
DICAS
TÓPICO 2 — PREPARANDO O AMBIENTE PARA TRABALHAR COM MACHINE LEARNING
31
O UCI Machine learning Repository é um site que provê diversos datasets 
gerados e utilizados pela comunidade para aplicação de algoritmos de Machine 
learning. Foi criado, inicialmente, em 1987, por David Aha e outros alunos da 
Universidade da Califórnia. 
Esse site tem sido muito utilizado por pesquisadores em todo mundo como 
um centralizador com diversos conjuntos de dados. Essa centralização permite 
que possam ser comparados diferentes resultados, metodologias e abordagens 
que utilizam o mesmo conjunto de dados. 
A Figura 19 mostra um trecho do acesso a um Dataset (no caso, Iris Dataset), 
na qual: Data Set Information traz um texto descrevendo, de maneira geral, do que 
se trata o conjunto de dados; Attribute Information descreve cada campo e seu 
respectivo tipo de dados; e Relevant Papers traz a lista de artigos que utilizaram o 
Dataset para o seu desenvolvimento. 
FIGURA 19 – EXEMPLO DA UTILIZAÇÃO DO UCI MACHINE LEARNING REPOSITORY
FONTE: O autor
Link para acesso ao UCI Machine learning Repository: https://archive.ics.uci.
edu/ml/index.php.
DICAS
32
UNIDADE 1 — MACHINE LEARNING
Existem diversos outros sites que disponibilizam bases de dados, com duas 
opções interessantes com dados brasileiros:
• Portal Brasileiro de Dados Abertos: concentra dados do governo brasileiro, distribuindo 
dados e informações públicas sobre os mais diversos setores do governo. Disponível 
em: http://www.dados.gov.br/. 
• O Brasil em Dados Libertos: é um site mantido pela comunidade de desenvolvedores e 
cientistas de dados brasileiros, que tem como objetivo aumentar a qualidade dos dados 
disponibilizados pelo governo, bem como complementá-lo por meio de outras fontes. 
Disponível em: https://brasil.io/.
ESTUDOS FU
TUROS
33
RESUMO DO TÓPICO 2
Neste tópico, você aprendeu que:
• Existem diversas linguagens de programação e bibliotecas para desenvolver 
algoritmos de Machine learning.
• Por diversas características positivas, o Python é uma das linguagens mais 
utilizadas para a aplicação de Machine learning.
• O Python pode ser instalado nos principais sistemas operacionais do mercado.
• É possível codificar algoritmos de Machine learning on-line pelo Google Colab 
Research.
• É possível executar algoritmos de Machine learning utilizando GPU.
• Os versionadores de código permitem uma melhor gestão dos algoritmos 
desenvolvidos.
• Algoritmos de Machine learning podem consumir dados de diversos tipos de 
fontes de dados, bem como serem aplicados em vários cenários.
• Existem diversos conjuntos de dados sob os quais podem ser realizados 
experimentos e desenvolvidas aplicações de Machine learning.
34
1 Leia o texto a seguir: 
Machine learning pode ser utilizado para vários objetivos, para ofertar 
programação de acordo com sua utilização na Netflix, saber o que estão 
falando sobre sua marca no Twitter e detecção de fraudes em compras com 
cartão de crédito, por exemplo.
FONTE: STAUDT, J. M. Machine learning para análise do desgaste da força de trabalho. Mo-
nografia (Sistemas de Informação). Novo Hamburgo: Universidade Feevale, 2017. Disponível 
em: https://tconline.feevale.br/NOVO/tc/files/0002_4351.pdf. Acesso em: 2 out. 2020
Assinale a alternativa CORRETA que contenha uma linguagem de 
programação que pode ser utilizada para desenvolvimento de algoritmos de 
Machine learning:
a) ( ) Matlab.
b) ( ) Python.
c) ( ) Java.
d) ( ) Todas as alternativas.
2 No desenvolvimento de programas que aplicam algoritmos de Machine 
learning, a linguagem Python tem sido muito utilizada, principalmente pelo 
seu grande número de bibliotecas e pela participação da comunidade em 
sua evolução. Dentro do Python, o PIP tem uma importante contribuição. 
Assinale a alternativa CORRETA sobre o PIP: 
 
a) ( ) O PIP é o gerenciador de pacotes do Python.
b) ( ) O PIP é o gerenciador de arquivos do Python.
c) ( ) O PIP é a linguagem de programação do Python.
d) ( ) O PIP é o sistema operacional do Python.
3 O Jupyter Notebook permite a execução de códigos Python no navegador, 
fazendo com que os usuários incluam texto formatado, visualizações 
estáticas e dinâmicas, equações matemáticas, entre outros recursos. Assinale 
a alternativa CORRETA com o comando para inicializar o Jupyter Notebook:
a) ( ) pip install jupyter.
b) ( ) sudo apt-get jupyter.
c) ( ) jupyter notebook.
d) ( ) notebook jupyter.
AUTOATIVIDADE
35
4 Leia o texto a seguir:
Machine learning é uma técnica utilizada para auxiliar os programas a 
aprenderem a partir de informações existentes em bases de dados, cujo 
principal objetivo é a previsão de resultados futuros, por exemplo, indicando 
um produto do agrado de um consumidor de acordo com o comportamento 
de compras dele.
FONTE: STAUDT, J. M. Machine learning para análise do desgaste da força de trabalho. Mo-
nografia (Sistemas de Informação). Novo Hamburgo: Universidade Feevale, 2017. Disponível 
em: https://tconline.feevale.br/NOVO/tc/files/0002_4351.pdf. Acesso em: 2 out. 2020.
Sobre o Google Colab Research, assinale a alternativa CORRETA:
a) ( ) É uma linguagem de programação.
b) ( ) É uma plataforma colaborativa para codificação.
c) ( ) É um navegador de internet.
d) ( ) É um porta-documentos na nuvem.
5 As aplicações de Machine learning estão dominando os mais diversos setores, 
mandatoriamente os da tecnologia, mas também envolvendo diversas áreas 
multidisciplinares. Com isso, são gerados cada vez mais dados. Vimos alguns 
sites de datasets que fornecem dados para pesquisas com Machine learning. 
Busque na web e liste ao menos outros cinco sites que forneçam dados. 
1. _________________________________________________________________
2. _________________________________________________________________
3. _________________________________________________________________
4. _________________________________________________________________5. _________________________________________________________________
36
37
TÓPICO 3 — 
UNIDADE 1
ARQUITETURA DE UM PROJETO DE MACHINE LEARNING
1 INTRODUÇÃO
Ao atuar no desenvolvimento de software, existe um conjunto de 
ferramentas que auxilia a garantir a qualidade do software que chegará ao usuário 
final. Há todo o arcabouço fornecido pela engenharia de software, levantamento 
de requisitos, diagramas UML (Unified Modeling Language) e também técnicas de 
teste de software – tudo para garantir que o software desenvolvido atenderá a 
necessidade de um cliente, o usuário final. 
No entanto, neste livro didático não tratamos do simples processo de 
software que atenderá à necessidade de um usuário. Um algoritmo de Machine 
learning automatizará importantes processos nas organizações e, muitas vezes, 
até pode substituir o agente humano em tais operações.
FIGURA 20 – ROBÔS QUE UTILIZAM MACHINE LEARNING
FONTE: <https://cutt.ly/tgBisbb>. Acesso em: 2 out. 2020.
Quando falamos que um algoritmo de Machine learning pode substituir 
um ser humano, por exemplo, na forma de chatbot, temos que considerar que, se 
ele falhar, poderá apresentar erros como saudar um cliente com bom dia em vez 
de boa noite ou, até mesmo, responder a alguma informação de maneira errônea 
em um FAQ da empresa. E se for um algoritmo que realiza análise e predição de 
células cancerígenas? Com certeza, ele terá uma responsabilidade maior, trazendo 
preocupação com quem o desenvolveu e para seus usuários.
Para ambos os exemplos citados, existe um fluxo de implementação 
(Figura 21) para algoritmos de Machine learning. Trata-se de uma sequência de 
passos que objetivam ensinar o algoritmo, a partir de um conjunto de dados, a 
realizar a ação, mas, principalmente, garantir que o algoritmo aprendeu. 
38
UNIDADE 1 — MACHINE LEARNING
FIGURA 21 – FLUXO DE UM ALGORITMO DE MACHINE LEARNING
FONTE: Adaptado de <https://cutt.ly/igBiTd0>. Acesso em: 2 out. 2020.
2 COLETA DE DADOS
A etapa de coleta de dados é a primeira do processo de Machine learning e 
pode ser simples, do ponto de vista de se conectar a um Dataset CSV ou a um banco 
de dados relacional. No entanto, quando se trabalha com outros tipos de dados, 
torna-se necessário criar scripts específicos para coletar dados desses cenários. 
3 PREPARAÇÃO DOS DADOS
Cada base de dados tem uma característica em especial, sejam números, 
textos, imagens ou vídeos. Não importa o tipo de dados que exista na fonte na 
hora da coleta, uma série de procedimentos deve ser realizada, a fim de preparar 
os dados para a execução de um algoritmo. 
Sabe-se que mais de 80% do tempo necessário para realizar qualquer 
projeto de Machine learning com dados reais, geralmente, é gasto na etapa de 
preparação dos dados (LOSARWAR; JOSHI, 2012). Essa etapa é responsável por 
preparar os dados, tornando-os mais limpos e consistentes para a execução de 
um algoritmo de Machine learning. 
A preparação de dados é a etapa em que se deve tratá-los, de forma 
correta, antes de seu uso ou armazenamento. Pode ser utilizada em conjunto com 
a análise exploratória de dados, quando se realiza um estudo das características 
dos dados, geralmente por meio de gráficos (ERBS, 2020, p. 13).
Ao longo dos próximos conteúdos, desenvolveremos exemplos práticos 
de todas as etapas do processo de Machine learning. No que se refere à etapa de 
coleta de dados, ela é muito similar ao processo de extração de um Data Warehouse, 
por isso recomendamos a leitura do livro “Business intelligence na prática: modelagem 
multidimensional e data warehouse”, disponível na Biblioteca Virtual da UNIASSELVI: 
https://bibliotecavirtual.uniasselvi.com.br/livros/livro/247328. 
IMPORTANT
E
TÓPICO 3 — ARQUITETURA DE UM PROJETO DE MACHINE LEARNING
39
Nos exemplos práticos, aplicaremos alguns dos principais métodos de 
preparação dos dados, conforme é possível observar no livro Business intelligence na 
prática: modelagem multidimensional e data warehouse, disponível na sua Biblioteca 
Virtual: https://bibliotecavirtual.uniasselvi.com.br/livros/livro/247328. 
Com relação ao processo de preparação de dados e análise exploratória, recomendamos 
a leitura do livro Preparação e Análise Exploratória de Dados, disponível em: https://
bibliotecavirtual.uniasselvi.com.br/livros/livro/249088. 
DICAS
4 ESCOLHA DO MODELO
O processo de desenvolvimento com Machine learning pode envolver um 
ou vários algoritmos para sua implementação. Esse é o momento de selecionar 
os algoritmos que serão avaliados e futuramente aplicados em sua aplicação de 
Machine learning.
No decorrer dos nossos estudos, você aprenderá alguns dos principais 
algoritmos utilizados em Machine learning. Segundo Mall et al. (2014), existem 
diversos métodos de Machine learning no mundo, para as mais diversas aplicações. 
Então, como escolher o melhor algoritmo para resolver o seu problema? O 
primeiro passo é seguir os estudos deste livro didático – note que você já conhece 
os principais tipos de dados e as principais tarefas para os respectivos datasets. 
No decorrer dos seus estudos, seu conhecimento sobre tarefa de aprendizado de 
máquina, bem como os principais métodos, será aprofundado – e isso servirá de 
fundamento para a escolha de um método de Machine learning.
Complementarmente, lembre-se de que você está se tornando um cientista 
de dados e esse é o momento de recorrer ao método científico. Especificamente, 
para obter os principais métodos, será necessário realizar uma pesquisa 
exploratória nas principais bases de dados, tendo como objetivo encontrar artigos 
científicos relacionados ao problema que deseja resolver. 
Pesquisa exploratória: é usada em casos nos quais é necessário definir 
o problema com maior precisão e identificar cursos relevantes de ação ou obter dados 
adicionais antes que se possa desenvolver uma abordagem. Como o nome sugere, a 
pesquisa exploratória procura explorar um problema ou uma situação para prover critérios e 
compreensão (VIEIRA, 2002).
NOTA
40
UNIDADE 1 — MACHINE LEARNING
Aniceto (2016) é um exemplo de pesquisa exploratória com revisão da 
literatura para suporte na escolha de um método de Machine learning. Esse estudo 
visa a identificar técnicas de Machine learning para estimação de risco de crédito.
No trabalho de Aniceto (2016), foi possível listar mais de 50 algoritmos 
diferentes para resolução do problema, os quais foram obtidos na leitura de 80 
artigos distribuídos em dez revistas científicas. A Figura 22 mostra um gráfico de 
radar que sumariza os principais métodos obtidos e permitiu a continuidade das 
etapas do processo de Machine learning. 
FIGURA 22 – TÉCNICAS DE APRENDIZADO DE MÁQUINA MAIS UTILIZADAS NA ESTIMAÇÃO DE 
RISCO DE CRÉDITO
FONTE: Aniceto (2016, p. 31)
Confira a lista com algumas das principais bases de dados acadêmicos que 
podem ajudá-lo a encontrar artigos científicos: https://blog.doity.com.br/sites-de-artigos-
cientificos/.
DICAS
Para realizar um estudo mais aprofundado, você pode fazer a leitura do trabalho 
de Aniceto (2016), disponível em: https://repositorio.unb.br/bitstream/10482/20522/1/2016_
Ma%c3%adsaCardosoAniceto.pdf.
DICAS
TÓPICO 3 — ARQUITETURA DE UM PROJETO DE MACHINE LEARNING
41
5 TREINO E TESTE
Você já sabe que os algoritmos de Machine learning aprendem com 
determinado conjunto de dados. O objetivo desses algoritmos é realizar a predição 
de um campo (chamado de output) com base em um conjunto de características 
(input). 
Se o algoritmo utilizar todo o conjunto de dados para aprender, a única 
maneira de saber até que ponto um modelo está funcionando corretamente é testá-
lo em novos casos. Uma maneira de fazer isso é colocar seu modelo em produção e 
monitorar o seu desempenho, o que, em teoria, não parece ser uma má ideia, mas, 
se o modelo for horrivelmente ruim, você pode ter sérios problemas (GÉRON, 2019). 
Para compreender melhor, imagine que você esteja desenvolvendo um 
algoritmo para a detecção de células cancerígenas (malignas ou benignas).

Continue navegando