Aprendizado de Maquina Com Python 3
Aprendizado de Maquina Com Python 3
net/publication/360251188
CITATIONS READS
0 199
4 authors, including:
Anna Cristina
Fatec Itaquera,São Paulo
25 PUBLICATIONS 43 CITATIONS
SEE PROFILE
All content following this page was uploaded by Anna Cristina on 08 March 2024.
Todo o conteúdo deste livro está licenciado sob uma Licença de Atribuição
Creative Commons. Atribuição-Não-Comercial-NãoDerivativos 4.0
Internacional (CC BY-NC-ND 4.0).
O conteúdo do texto e seus dados em sua forma, correção e confiabilidade são de responsabilidade
exclusiva dos autores, inclusive não representam necessariamente a posição oficial da Atena Editora.
Permitido o download da obra e o compartilhamento desde que sejam atribuídos créditos aos autores,
mas sem a possibilidade de alterá-la de nenhuma forma ou utilizá-la para fins comerciais.
Todos os manuscritos foram previamente submetidos à avaliação cega pelos pares, membros do
Conselho Editorial desta Editora, tendo sido aprovados para a publicação com base em critérios de
neutralidade e imparcialidade acadêmica.
Conselho Editorial
Ciências Exatas e da Terra e Engenharias
Prof. Dr. Adélio Alcino Sampaio Castro Machado – Universidade do Porto
Profª Drª Alana Maria Cerqueira de Oliveira – Instituto Federal do Acre
Profª Drª Ana Grasielle Dionísio Corrêa – Universidade Presbiteriana Mackenzie
Profª Drª Ana Paula Florêncio Aires – Universidade de Trás-os-Montes e Alto Douro
Prof. Dr. Carlos Eduardo Sanches de Andrade – Universidade Federal de Goiás
Profª Drª Carmen Lúcia Voigt – Universidade Norte do Paraná
Prof. Dr. Cleiseano Emanuel da Silva Paniagua – Instituto Federal de Educação, Ciência e Tecnologia de Goiás
Prof. Dr. Douglas Gonçalves da Silva – Universidade Estadual do Sudoeste da Bahia
Prof. Dr. Eloi Rufato Junior – Universidade Tecnológica Federal do Paraná
Profª Drª Érica de Melo Azevedo – Instituto Federal do Rio de Janeiro
Prof. Dr. Fabrício Menezes Ramos – Instituto Federal do Pará
Profª Dra. Jéssica Verger Nardeli – Universidade Estadual Paulista Júlio de Mesquita Filho
Prof. Dr. Juliano Bitencourt Campos – Universidade do Extremo Sul Catarinense
Prof. Dr. Juliano Carlo Rufino de Freitas – Universidade Federal de Campina Grande
Profª Drª Luciana do Nascimento Mendes – Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande
do Norte
Prof. Dr. Marcelo Marques – Universidade Estadual de Maringá
Prof. Dr. Marco Aurélio Kistemann Junior – Universidade Federal de Juiz de Fora
Prof. Dr. Miguel Adriano Inácio – Instituto Nacional de Pesquisas Espaciais
Profª Drª Neiva Maria de Almeida – Universidade Federal da Paraíba
Profª Drª Natiéli Piovesan – Instituto Federal do Rio Grande do Norte
Profª Drª Priscila Tessmer Scaglioni – Universidade Federal de Pelotas
Prof. Dr. Sidney Gonçalo de Lima – Universidade Federal do Piauí
Prof. Dr. Takeshy Tachizawa – Faculdade de Campo Limpo Paulista
Aprendizado de máquina com python 3
Outra autora
Anna Cristina Barbosa Dias de Carvalho
Formato: PDF
Requisitos de sistema: Adobe Acrobat Reader
Modo de acesso: World Wide Web
Inclui bibliografia
ISBN 978-65-258-0069-1
DOI: https://doi.org/10.22533/at.ed.691222604
Atena Editora
Ponta Grossa – Paraná – Brasil
Telefone: +55 (42) 3323-5493
www.atenaeditora.com.br
[email protected]
DECLARAÇÃO DOS AUTORES
Os autores desta obra: 1. Atestam não possuir qualquer interesse comercial que constitua um conflito
de interesses em relação ao artigo científico publicado; 2. Declaram que participaram ativamente da
construção dos respectivos manuscritos, preferencialmente na: a) Concepção do estudo, e/ou
aquisição de dados, e/ou análise e interpretação de dados; b) Elaboração do artigo ou revisão com
vistas a tornar o material intelectualmente relevante; c) Aprovação final do manuscrito para
submissão.; 3. Certificam que o texto publicado está completamente isento de dados e/ou resultados
fraudulentos; 4. Confirmam a citação e a referência correta de todos os dados e de interpretações de
dados de outras pesquisas; 5. Reconhecem terem informado todas as fontes de financiamento
recebidas para a consecução da pesquisa; 6. Autorizam a edição da obra, que incluem os registros
de ficha catalográfica, ISBN, DOI e demais indexadores, projeto visual e criação de capa, diagramação
de miolo, assim como lançamento e divulgação da mesma conforme critérios da Atena Editora.
DECLARAÇÃO DA EDITORA
A Atena Editora declara, para os devidos fins de direito, que: 1. A presente publicação constitui apenas
transferência temporária dos direitos autorais, direito sobre a publicação, inclusive não constitui
responsabilidade solidária na criação dos manuscritos publicados, nos termos previstos na Lei sobre
direitos autorais (Lei 9610/98), no art. 184 do Código Penal e no art. 927 do Código Civil; 2. Autoriza
e incentiva os autores a assinarem contratos com repositórios institucionais, com fins exclusivos de
divulgação da obra, desde que com o devido reconhecimento de autoria e edição e sem qualquer
finalidade comercial; 3. Todos os e-book são open access, desta forma não os comercializa em seu
site, sites parceiros, plataformas de e-commerce, ou qualquer outro meio virtual ou físico, portanto,
está isenta de repasses de direitos autorais aos autores; 4. Todos os membros do conselho editorial
são doutores e vinculados a instituições de ensino superior públicas, conforme recomendação da
CAPES para obtenção do Qualis livro; 5. Não cede, comercializa ou autoriza a utilização dos nomes e
e-mails dos autores, bem como nenhum outro dado dos mesmos, para qualquer finalidade que não o
escopo da divulgação desta obra.
Introdução
Esse ebook tem por objetivo ampliar o alcance e quantidade de pessoasinseridas
no universo de aprendizado de máquina e suas possibilidades,trazendo a tona conceitos
básicos de uma linguagem de fácil acesso epropiciando ao leitor um conjunto de ferramentas
que possibilite ao mesmoanalisar novos modelos e entrar cada vez mais nesse mundo que
está emcrescimento. Com isso em mente esse livro digital utilizou de linguagemvisual em
conjunto com a plataforma do Google Colab para apresentar deforma dinâmica os códigos
em funcionamento e permitir a interação do leitorcom o que ele está visualizando na tela
através de uma pasta do GoogleDrive, além de fundamentos da linguagem em uso esse
ebook aborda aindauma aplicação de aprendizado de máquina apresentando os pontos
queestruturam o código e os resultados obtidos.
SUMÁRIO
CONHECENDO O INTERPRETADOR......................................................................... 2
Passo 1...................................................................................................................................... 4
Passo 2...................................................................................................................................... 5
Passo 1...................................................................................................................................... 7
PARTE 2 - VARIÁVEL................................................................................................. 12
PROPRIEDADE ESPECIAL....................................................................................... 17
PARTE 5 - COMPARADORES................................................................................... 22
Parte I - [Listas]........................................................................................................................... 30
Parte II - {Dicionários}................................................................................................................. 34
SUMÁRIO
Parte II - For ......................................................................................................................... 41
Variável simples....................................................................................................................... 41
(Tuplas) e [Listas].................................................................................................................... 42
{Dicionários}..................................................................................................................... 42
PARTE 9 - FUNÇÕES.................................................................................................44
PARTE 10 - MÓDULOS.............................................................................................. 47
Aprendizado supervisionado...................................................................................................... 54
Aprendizado reforçado................................................................................................................ 55
PRINCIPAIS BIBLIOTECAS....................................................................................... 57
CONJUNTO DE DADOS............................................................................................. 59
REFERÊNCIAS...........................................................................................................70
PERSONAGENS AUXILIARES.................................................................................. 71
SUMÁRIO
Introdução à linguagem Python
O Python é uma linguagem de programação criada no final da década de 1980 e
tem como principal objetivo tornar a leitura e entendimento do código mais simples de
ser compreendida tendo também como resultado escrever programas complexos com
menos linhas, além dessas características, um atributo que diferencia ela da maioria
das outras linguagens de programação é o de possuir código aberto.
Código aberto significa que é possível alterar seu código fonte, trazendo
customização e possibilitando a criação de atalhos para certas aplicações que são
chamadas de módulos.
Os módulos são grande parte do Python para facilitar e tornar possível
interações, por exemplo, o módulo “MatPlotLib” permite a criação de gráficos para
uma análise mais crítica dos dados de determinado programa, por meio de uma
simples sintaxe e módulos personalizados, o Python consegue simplificar o estudo
da inteligência artificial que é o principal foco nesse e-book [1].
O Python pode ser considerado multiplataforma, englobando Windows,
macOS, Linux, Android, IOS e muitas outras, porém sua performance em dispositivos
móveis é significativamente menor do que em sistemas operacionais mais robustos
[1].
A tabela abaixo apresenta as principais vantagens e desvantagens do Python:
Conhecendo o interpretador 2
Instalando interpretador Python
Neste e-book iremos trabalhar com o "Google Collaboratory" que é uma plataforma
onde podemos escrever algoritmos de programação e mantê-los públicos para que
qualquer pessoa consiga utilizar e testar no próprio navegador, porém para darmos inicio
e introduzir as principais ferramentas do Python, utilizaremos a máquina local (seu próprio
computador).
Agora que conhecemos um pouco mais como o Python e seu interpretador
funcionam, é a hora de acessar o site da organização oficial do Python e baixar a versão
mais atualizada do interpretador.
Passo 1
Para instalar o interpretador de Python é necessário entrar no site oficial da
organização Python através desse link ou digitando o endereço https://www.python.org/ no
seu navegador de internet. Após isso clicar na seção "Downloads".
Passo 2
Após a conclusão do download abrir o arquivo e selecionar a opção "Add Python 3.9
to PATH", que fará iniciar o Python pelo CMD (Command Prompt ou Prompt de comando)
mais simples e não necessitará do endereço específico onde o Python será instalado e
depois clicar em "Install now".
Após a instalação dele aparecerá uma janela semelhante com a abaixo, e fim!
Instalamos o Python na sua versão mais recente com sucesso.
Se você usa Linux, você não está desamparado. Mesmo que provavelmente você
saiba mais sobre computadores do que a gente (o que é muito provável) vamos também
colocar como instalar ou atualizar seu interpretador Python para a versão mais recente
através do terminal, pois ele vem instalado de fábrica no seu sistema operacional.
Passo 1
Acessar o terminal do sistema operacional seguindo os seguintes passos:
Passo A - Acessar seu pesquisador de aplicativos ou apertar tecla Windows
Passo B - Digitar "terminal"
Passo C - Apertar tecla "Enter"
E em seguida digitar o seguinte comando:
sudo apt-get install python3
Por possuir diversas variações, vamos cobrimos apenas o comando das versões
Ubuntu e Debian por serem as mais utilizadas, se você estiver utilizando outra versão ou
Roteiro Python 8
Parte 1 - Python interativo e operadores básicos
Para iniciar o Python no seu computador primeiro acesse seu terminal e digite
"python"
Parte 2 - Variável 12
Imagem 11 - operações no terminal.
Fonte: Autoria própria.
Parte 2 - Variável 13
Agora, é sua vez! Aproveite esse momento para aplicar essas ferramentas de forma
criativa no seu Python.
Parte 2 - Variável 14
Parte 3 - Tipos primitivos
As variáveis no Python possuem duas características principais de armazenamento:
O tipo de dado, e como esse dado está organizado. Nessa parte vamos cobrir quais são os
tipos de dados e quais suas principais características.
Para nos ajudar a comprovar esse fato, além da parte decimal mostrada no número,
podemos conferir o tipo da variável com a função abaixo:
As funções são palavras que fazem algo no código chamando elas onde se deseja
que ocorra a função, e podem ou não necessitar de uma variável para funcionar, que será
declarada dentro do parênteses, sendo que determinadas funções só funcionam com tipos
específicos de variáveis. Mas não se preocupe pois as funções serão abordadas com mais
profundidade nos próximos capítulos.
Vamos pular no terminal do computador e iniciar o Python interativo para descobrir
quais são essas diferenças!
Segundo a imagem abaixo tirado do Python interativo, podemos ver que os números
90 e -78 são da classe dos int e 78.00 e 73.98 são da classe dos float.
E podemos constatar também que mesmo estando dentro de uma variável podemos
checar o tipo dela.
Com isso em mente já podemos continuar, agora com a facilidade de poder ver
e mexer no código de forma simples, vale lembrar também que as partes que estão em
Para criar uma nova página para programar, clique em "Arquivo" e após "Novo
notebook".
Para acompanhar os próximos exemplos, basta entrar no link a seguir que
redirecionará para a pasta onde se encontram os códigos que irão aparecer.
https://drive.google.com/drive/folders/1ggcHVrf7fqXBz9yixeDQZW KYjJXZGMld?us
p=sharing
Se não houve nenhum erro, seu teste resultou em algo similar a isso:
Parte 5 - Comparadores 22
Imagem 21 - operações no Colab
Fonte: Autoria própria
Parte 5 - Comparadores 23
Imagem 22 -
operações no Colab.
Fonte: Autoria própria.
Parte 5 - Comparadores 24
Parte 6 - Estruturas de decisão
Desenvolver linhas de códigos e lógicas de programação requerem, em alguns
casos, a utilização de ferramentas que possibilitem a tomada de diferentes rumos dentro
do mesmo código. Pode-se imaginar as estruturas condicionais ou de decisão como uma
estrada com uma bifurcação, onde dependendo das condições que se tem, pode-se tomar
um rumo ou o outro.
• Em VIOLETA nós observamos a ação que será tomada caso a condição seja
VERDADEIRA, que no nosso caso seria ir até a cidade azul, mas poderia ser
• Por fim, nos temos uma ação na cor AMARELO que ocorrerá caso a condição
seja FALSA, o que nos resultaria a uma viagem a cidade amarela, o que pode
fazer com que uma nova planta seja obtida.
De forma resumida, a indentação consiste na margem existente antes das instruções
"IrCidadeAzul" e "IrCidadeAmarela".
Nessa etapa temos as funções responsáveis pela tomada de decisão seguinte, que
no caso são os destinos dos nossos personagens.
Por fim temos a exibição do resultado da viagem, que no caso resultou na obtenção
de uma nova planta.
Nas páginas anteriores pudemos observar como o "if" e "else" funcionam em
Python, entretanto, caso tenhamos mais do que duas condições, como faríamos? Para
isso adotaremos o "elif" que funciona como exemplificado a seguir:
PARTE I - [LISTAS]
Para entendermos a lista vamos pensar em uma lista de supermercado, onde
anotamos o que precisamos comprar.
Se quisermos transferir essa lista para linguagem Python, primeiro precisamos dar
um nome para essa lista que no caso será "listadecompras", lembrando de não utilizar
espaços no nome, e temos que entender também que o que define essa coleção como uma
lista é o uso dos colchetes ("[]").
Ao analisar a lista podemos perceber que existem números antes dos produtos,
Neste caso estamos atribuindo a posição 0 (Leite) da lista que foi nomeada como
"listadecompras" à uma variável nomeada produto1 e assim por diante.
Muitas vezes quando estamos fazendo a lista de compras do mercardo esquecemos
de algum item e precisamos adiciona-lo depois, no python fazemos isso através do
comando .append(), que é mostrado a seguir:
O função append permite que seja adicionado apenas 1 elemento a lista por vez, e
para usá-lo basta entrar com o nome da lista a ser usada ".append" e como parâmetro o
item a ser adicionado. Agora nossa lista de compras ficou assim:
Esse comando é responsável por substituir o item que está na posição 7 da lista
(Rocambole) por um novo item (Bolacha).
Aqui estamos tirando da lista o item que está na posição 3 , no caso o molho de
tomate.
Nossa lista de compras ficará assim:
PARTE II - {DICIONÁRIOS}
Dicionários são parecidos com as listas, mas com a diferença que os elementos não
são localizados por sua posição, mas sim com uma chave específica, veja o exemplo a
seguir: Vamos supor que você more em uma mansão e tenha várias chaves, uma para cada
cômodo, e como sua casa é muito grande você colocou etiquetas para não se esquecer.
Quando passamos para Python as chaves ficarão antes dos dois pontos (":") e o
seu respectivo valor ficará depois.
Uma vez que temos nosso dicionário criado, podemos usar as chaves para
descobrir o seu valor, no nosso caso entraremos com as letras que estão nos chaveiros
para descobrir qual cômodo a chave abre.
Criamos um novo dicionário agora com os carros, e para juntar os dois usaremos o
seguinte comando:
Podemos por fim também transformar uma tupla em uma lista, permitindo assim sua
modificação, através do seguinte comando:
PARTE I - WHILE
As estruturas de repetição nos permitem repetir um conjunto de instruções até que
se atinja uma certa condição desejada, a primeira que veremos será o WHILE.
Se quisermos fazer um programa para contar até 5, para não precisarmos ficar
escrevendo várias linhas de código usando print e colocando os números em ordem
podemos usar o while para facilitar essa contagem.
Para entendermos o while, podemos traduzir a palavra para o português que
seria referente a palavra enquanto, então essa nossa estrutura de repetição continuará
funcionando enquanto sua variável não atingir o valor definido.
1. Definir a variável;
3. Mostra o valor;
O mago então lança um feitiço na linguagem Python das máquinas para encontrar
os itens para ele:
Item = 'semente_macieira'
Então, após todos os comandos que estiverem dentro da indentação do for forem
realizados, ele atribuirá o próximo item da lista à variável auxiliar:
Item = 'água'
Após a realização do último item da lista o looping acabará automaticamente,
seguindo para o próximo comando do algoritmo.
O for permite a utilização de variáveis simples e compostas para checar, porém
permite apenas variáveis que contenham STRING. Variável INT, FLOAT e BOOL não são
operadas pelo for, resultando em erro na execução do algoritmo.
Apesar dessa infeliz característica, podemos "Burlar" essa regra colocando essa
variável em forma de STRING, portanto sua característica será STRING e sua aparência
Variável simples
Quando utilizamos variáveis simples, o for considerará um caractere por vez até o
último da palavra.
(Tuplas) e [Listas]
As tuplas e listas não possuem nenhuma diferença prática quanto ao for, dependendo
apenas da aplicação do usuário:
(Tupla)
{Dicionários}
Com os dicionários temos mais variações de uso com o uso de seus métodos
internos. Podemos fazer com que o for interaja apenas com as chaves ou apenas com os
valores ou ambos:
Dicionários são úteis, mas não tão bonitos quando damos print() nos itens dele
(imagem acima dirá tudo), portanto, para dar uma melhor aparência a seu código podemos
utilizar duas variáveis diferentes, cada uma representando o item e seu valor respectivo.
É necessário apenas atribuir para chave e valor respectivamente na variável auxiliar
temporária:
Parte 9 - Funções 44
Declaração do inicio de uma função
Nome da função
Argumento
Retorna o valor da variável copo como resultado da função
Parâmetro ''vazio'' sendo enviado para dentro função.
Parte 9 - Funções 45
Número de argumentos desconhecidos, para isso devemos modificar um pouco a
estrutura da declaração, com o acréscimo de um '*' antes do nome do argumento na função.
A função "len(x)" é uma função nativa do Python e o que ela faz é contar a quantidade
de itens dentro da lista nomes, ferramenta importante para controlar a quantidade de
valores inseridos.
Além dessa função existem inúmeras outras, que podem ser visualizadas e
estudadas a fundo no link abaixo.
https://docs.python.org/pt-br/3.6/library/functions.html
Parte 9 - Funções 46
Parte 10 - Módulos
Vimos em capítulos anteriores que para se ter maior dinâmica com um algoritmo
escrito, podemos salvá-lo em um arquivo (com extensão ".py" no final), que pode ser útil
para desenvolvimento de projetos que demandarão muito tempo para conclusão.
Python é o melhor amigo do desenvolvedor de códigos longos, pois permite que o
programador reutilize FUNCÕES já escritas anteriormente em códigos diferentes!
Parte 10 - Módulos 47
Analisando o código de Roberto, que, em primeiro momento na linha 1, ele fez a
importação do módulo Time para seu código utilizando a palavra chave import e, após isso,
o nome do módulo.
Depois do programa receber o tempo que o usuário deseja contar, houve a contagem
propriamente dita:
Para utilizar as funções que estão no módulo utiliza-se um ponto após o nome do
módulo, por isso é importante conhecer as funções do módulo através da documentação
oficial.
Para acessar, testar e modificar o teste de Roberto no Google Colab acesse:
https://colab.research.google.com/drive/10fguzd1OHBmByntZ5WQFJRHe2_gNsfAX?usp
=sharing
Parte 10 - Módulos 48
Quando importamos um módulo, habilitamos no nosso código todas as funções
presentes nele, o que pode sobrecarregar o processamento e aumentar tempo do código.
Essa noção é importante quando trabalhamos com módulos de inteligência artificial como
o Scikit-learn pois apresentam diversas funções diferentes que nem sempre serão usadas
nos algoritmos.
Para importar funções específicas de um módulo, utiliza-se a palavra chave FROM
em conjunto com o IMPORT.
Quando importarmos mais de uma função, faz-se o uso de vírgula para a separação.
Também podemos mudar o nome do módulo e da função para algo mais conveniente
para nós, desenvolvedores. Conseguimos fazer isso utilizando a palavra chave AS.
Parte 10 - Módulos 49
Parte 1 - Aprendizado de máquina
Ela fez menção de algo sobre Robôs inteligentes do futuro. Para surpresa dela, ela
estava parcialmente certa:
APRENDIZADO SUPERVISIONADO
O aprendizado supervisionado tem como principal característica a necessidade de
um modelo base para que possa retornar uma previsão [3], precisamos fornecer um
"dataset", que possui os dados de entrada e seu respectivos dados de saída, ou seja
precisamos fazer a pergunta e dizer a resposta desejada, para que a partir disso o modelo
escolhido possa realizar suas previsões [4].
Classificação: A classificação tem como função prever um item a partir de uma lista
de possibilidades, retornando um resultado discreto [5]. Um exemplo de classificação é a
separação de e- mails que são SPAM, uma vez que o algoritmo aprendeu as características
que definem um e-mail como SPAM, ele já será que capaz de definir um novo e-mail como
SPAM ou não.
APRENDIZADO REFORÇADO
O aprendizado reforçado faz com que o modelo faça decisões por si próprio, e é
recompensado de acordo com o progresso que faz na atividade em que foi designado. Em
outras palavras podemos dizer que o aprendizado reforçado funciona através da tentativa
e erro e a medida que vai ganhando experiência e eficiência quando tem sucesso nas
escolhas [3]. O aprendizado reforçado pode ser usado para recomendação de músicas e
filmes, o algoritmo irá recomendar uma música ou filme relacionado ao que você costuma
consumir, e caso você ouça a música ou assista o filme, o algoritmo entenderá que foi uma
boa recomendação.
Principais bibliotecas 57
usuário ferramentas como a construção de gráficos de linha, histogramas, gráficos de
dispersão e diversas outras ferramentas visuais que podem ser utilizadas para obtenção de
conclusões quanto ao desempenho ou melhor apresentação de um determinado conjunto
de dados.
https://matplotlib.org
Pandas é uma biblioteca que serve para tratamento de dados e análise, de forma
resumida o pandas possui um estruturamento de dados que possibilita a utilização de
diversos tipos de dados em uma mesma tabela a ser trabalhada por outras bibliotecas,
o pandas apresenta uma diferença quanto ao numpy, visto que a lista construída pelo
numpy se delimita a apenas um tipo de dado. O pandas possibilita ainda a utilização de
diversos formatos de banco de dados, como SQL, Excel e arquivos CSV. https://pandas.
pydata.org
Principais bibliotecas 58
Conjunto de dados
Quando estamos trabalhando com a biblioteca Pandas para usar nosso dataset
usamos os arquivos com extensão ".csv" que vem do inglês "comma separated values",
o que em português significa valores separados por vírgulas, vamos ver como podemos
gerar e manipular esse tipo de arquivo, e aproveitando que estamos entrando nesse
assunto já vamos ensinar a importar o dataset para o google colab.
Para gerar um arquivo com a extensão ".csv", basta abrir o excel ou o software
utilizado para formatação de tabelas e ao invés de separar os dados por coluna, separa-
los por virgulas como mostra a imagem abaixo.
Para importar o dataset para o Google Colab basta entrar no arquivo desejado do
Google Colab, ir no canto esquerdo e clicar no ícone de uma pasta, abrindo assim a aba
arquivos, e basta arrastar o arquivo ".csv" para essa aba.
Conjunto de dados 59
Com os arquivos já importados, o próprio google colab nos permite ver como as
tabelas ficaram, e com isso é importante se atentar à um detalhe. As imagens abaixo
demonstram dois arquivos com extensão ".csv" formatados de formas diferentes, e seus
respectivos resultados quando abrimos no Google Colab.
Se pararmos para observar a tabela que antes estava formatada de forma "normal"
Conjunto de dados 60
em diferentes colunas do Excel, na hora de importar para o Google Colab ela se tornou
dividida por ponto e vírgula (";"), enquanto a que respeitou a divisão por vírgulas se
mostrou como uma tabela formatada normalmente no Google Colab.
É possível ajustar ambos os arquivos com os dados para que sejam mais fáceis
de ler e de tratar no algoritmo. Para tanto, necessita-se fazer uma configuração inicial no
código na hora de fazer o "dataset" se transformar em "strings" tratáveis pelo Python, o
comando utilizado para fazer isso é o "pd.read_csv".
O que precisamos nos atentar é quanto ao "sep", que define o delimitador das
colunas, ou seja, o símbolo que é usado para separar uma coluna da outra.
O padrão é o uso da vírgula, então quando nosso arquivo é feito originalmente com
vírgulas não precisamos declarar o "sep", já no caso da figura XX onde podemos ver a
separação feita por ponto e vírgula, deveremos declarar o "sep" sendo ";".
Conjunto de dados 61
Algoritmo - Árvore de decisão
O algoritmo que foi desenvolvido e será retratado a seguir, tem a função de predizer
qual o estilo musical uma pessoa gosta, baseado em sua idade e seu gênero. Para isso foi
utilizado o modelo de classificação, utilizando a técnica de "árvore de decisão".
Em pesquisas científicas, o ideal é sempre trabalhar com um número elevado
de amostras para uma análise que represente uma maioria. Para o exemplo a seguir
utilizaremos um conjunto de dados reduzido para tornar mais fácil o entendimento.
A tabela abaixo representa nosso conjunto de dados utilizado para desenvolver o
algoritmo.
Dados de entrada
Dados que serão utilizados como parâmetros e irão ser relacionados com os dados
de saída e utilizados como base para fazer a predição.
Dados de saída
Valores que serão retornados ao usuário quando for alimentado com um valor de
entrada.
Temos como dados de entrada a idade e o gênero, sendo o número "1" representando
o gênero masculino e o "0" o feminino, e como dados de saída o estilo musical.
Se tivéssemos usado todos os dados que temos para treinar o nosso algoritmo não
saberíamos a precisão de predição dele, então é importante dividirmos um pouco dos
dados para treinar o algoritmo e o resto para testar e verificar sua acurácia, portanto, existe
a necessidade de se dividir os dados brutos em partes tratáveis, sendo elas os dados de
entrada e de saída.
Para separar os dados de entrada, que são formados pelas duas primeiras colunas
da tabela do conjunto de dados usamos a função abaixo:
Essa função é responsável por alimentar o algoritmo com esses dados alterando
Com os dados de treino e teste em mãos, enviamos esses dados para a árvore de
decisão realizar a predição dos dados.
O primeiro passo é armazenar a função DecisionTreeClassifier em uma variável
para tratamento:
Com o modelo definido podemos começar a treina-lo, o comando usado será o .fit(),
onde devemos preencher os parênteses com os dados de treino, tanto entrada quanto
saída.
• os estilos musicais, enquanto "unique" garante que não haverão nomes repe-
tidos;
• "rounded": trata apenas do visual, onde ao ser habilitado ele tornará as caixas
de nó arredondadas e mudará a fonte da letra;
• "filled": também trata apenas da parte estética, onde quando habilitado colore
as caixas de nó.
O comando "mpl.subplots" é responsável por ajustar o tamanho da figura, onde
"figzise" determina o tamanho da figura em polegadas, e o "dpi" que significa Dots per
inches, determina quantos pixels a figura possui.
BARRY, Paul. Head First Python. 2. ed. [S. I.]: O'Reilly, 2015.
RAVI, Ajay; REBALA, Gopinath; CHURIWALA, Sanjay. An Introduction to Machine Learning. Suíça:
Springer, 2019.
Referências 70
PERSONAGENS AUXILIARES
Personagens auxiliares 71
View publication stats