Blog

Postado em em 21 de março de 2022

Algoritmo de Classificação no Python – Como Criar o Seu?

Hoje eu quero te mostrar como criar um algoritmo de classificação no Python para você iniciar em ciência de dados!

Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!

Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:

Como Criar Algoritmo de Classificação no Python

Hoje nós vamos continuar com o assunto de Ciência de Dados no Python, ainda vamos abordar a parte teórica para que você consiga entender tudo o que precisa sobre ciência de dados.

Não queremos mais uma pessoa que apenas cria códigos e não entende de fato o que está fazendo ou criando. Por isso é muito importante essa parte teórica.

Projeto de Data Science

Você deve lembrar que na aula anterior nós colocamos alguns passos para a construção do nosso projeto não é mesmo?

Passos da Construção de um Projeto de Ciência de Dados
Passos da Construção de um Projeto de Ciência de Dados

Esses são os passos e os 2 primeiros são muito importantes, que é a Definição do Problema e o Alinhamento de Expectativas.

São 2 pontos cruciais para que o projeto funcione, então é importante esse alinhamento para que tanto quem solicitou como quem está fazendo o projeto saibam onde vão chegar.

Nessa aula nós vamos abordar os 3 primeiros tópicos para iniciar o nosso projeto de ciência de dados utilizando o Dataset Íris. Esse é um dataset do Sklearn que é gratuito!

Vamos então a definição do problema e a expectativa para a resolução desse problema.

Definição do problema
Definição do problema

A ideia é classificar a planta íris entre os 3 tipos mostrados, você vai notar que pode ser algo que você não faz ideia do que é ou como classificar isso.

Esse é um ponto chave do projeto de ciência de dados, pois você tem que entender o seu problema para poder criar a solução e chegar no que está sendo esperado.

Então se não sabe como é essa classificação, ou a diferença de pétala e sépala é importante que busque para construir um projeto correto do início ao fim.

Você não vai querer chegar no final do seu projeto com resultados errados só porque não conhecia o que estava trabalhando não é mesmo?

Essas informações são gratuitas fornecidas pelo sklearn, então podemos importar essas informações para visualizar tudo o que temos nela.

Entendimento dos dados
Entendimento dos dados

OBS: Não se esqueça de baixar o arquivo disponível para que você possa acompanhar, pois nessa aula nós não vamos programar, nós vamos apenas fazer algumas análises para que você entenda esse processo da criação do projeto de ciência de dados.

Aqui vamos ter as informações da classificação, os nomes de classificação e as informações das colunas, onde vamos ter os tamanhos das pétalas e sépalas.

Depois nós vamos para a preparação dos dados.

Preparação dos dados
Preparação dos dados

Lembrando que a parte de mostrar em uma tabela é muito interessante para facilitar na visualização dos dados, e claro, mais fácil de visualizar a classificação.

Análise exploratória
Análise exploratória

Na análise exploratória nós podemos visualizar se temos algum dado que está fora do padrão. Nesse caso estamos trabalhando com comprimento de uma íris, então se você visualizar algum valor muito maior já sabe que tem algo errado.

Gráfico de boxplot
Gráfico de boxplot

Dentro do seaborn nós temos o boxplot que te permite ter uma visualização gráfica dessas informações, então vamos verificar o comportamento desses dados e até mesmo de outliers, que é algo que está fora do padrão.

Que são essas marcações no gráfico da largura da sépala, então em alguns casos vamos precisar analisar, excluir ou até mesmo tratar essas informações.

Verificando os outliers
Verificando os outliers

Aqui nós temos uma análise desses outliers para verificar o que pode ter acontecido.

Informações da base de dados
Informações da base de dados

Esse .info é importante para que possamos visualizar valores nulos dentro da nossa base de dados, pois eles podem precisar de um tratamento especial, isso porque nem sempre o nosso programa vai saber tratar valores nulos, então é importante fazer essa verificação.

Outra parte importante é verificar os tipos dos dados, para não termos nada fora do padrão para evitar erros dentro do código.

Verificando a correlação entre as informações
Verificando a correlação entre as informações

Aqui nós temos a correlação entre as informações para verificar se algumas delas possui uma correlação forte com outra para podermos tirar alguma informação ou até mesmo excluir uma das colunas na nossa análise.

Utilizando o pairplot para plotar os pares
Utilizando o pairplot para plotar os pares

Podemos utilizar o pairplot para visualizar de forma gráfica essa correlação entre as nossas informações.

Visualizando a correlação de forma visual
Visualizando a correlação de forma visual

Podemos ainda separar essa correlação em cores para facilitar a visualização e ver ainda mais fácil a correlação das nossas plantas.

Você pode notar que a setosa nós temos uma facilidade maior de fazer a separação em relação as outras duas.

Agora que você entende os dados, entende o que precisa ser feito nós vamos partir para o tratamento de dados.

Visualizando o gráfico de comprimento por largura da pétala
Visualizando o gráfico de comprimento por largura da pétala

Agora nós vamos plotar o gráfico de largura da pétala por comprimento, assim vamos poder fazer uma separação de forma mais fácil das 3 classes de plantas que temos.

Separando em treino e teste
Separando em treino e teste

Aqui vamos separar em treino e teste para que possamos fazer o mesmo procedimento que fizemos, mas para verificar como está a nossa classificação.

Plotando os dados de teste com o target
Plotando os dados de teste com o target

Vamos fazer uma segunda plotagem com os dados de teste, só que dessa vez vamos utilizar o target como número ao invés do nome para facilitar.

Algoritmo de Classificação no Python
Separando o target = 0

Aqui nós conseguimos separar bem facilmente o nosso target 0, então tudo abaixo dessa linha já será o nosso 0. Só que tudo acima será o target 1 ou 2.

Algoritmo de Classificação no Python
Separando os outros targets

Aqui nós vamos entrar em uma parte importante, que é o Underfitting e Overfitting, ou seja, quando simplificamos demais a reta para essa separação ou quando complicamos demais e acaba que esse modelo só funciona para os dados de teste.

Algoritmo de Classificação no Python
Adequação das curvas de dados

A ideia seria no meio termo, que seria o balanceado, então não podemos simplificar demais nem complicar demais.

Algoritmo de Classificação no Python
Curva simplificada para facilitar a classificação

Essa é a linha que podemos utilizar para esse caso, até porque a nossa classificação terá que ser com acerto de 90%.

Algoritmo de Classificação no Python
Traçando as retas para classificação dos dados

Agora vamos de fato traçar essas duas retas no gráfico, o que fizemos anteriormente foi apenas algo “desenhado”, agora estamos de fato criando essas duas linhas para criar nossa classificação.

Algoritmo de Classificação no Python
Tratando os dados de teste

Com isso nós agora vamos utilizar os nossos dados de teste para verificar se essas duas retas estão de fato classificando corretamente os nossos dados.

Algoritmo de Classificação no Python
Utilizando os dados de teste para classificar com as retas

Aqui você vai notar que apenas um dos pontos pode não ser classificado corretamente, mas o demais estão todos corretos.

Algoritmo de Classificação no Python
Passos utilizados para a criação do nosso projeto

Aqui foram os passos que nós fizemos, você pode notar que não precisamos passar por todas as etapas.

O que fizemos foi suficiente para poder resolver esse problema, então é muito importante que você não saiba apenas programar, o principal é entender toda a lógica por trás da resolução desse problema!

Conclusão do Algoritmo de Classificação no Python

Hoje tivemos uma aula um pouco mais longa, mas foi para te ensinar a criar um algoritmo de classificação no Python.

Então a ideia inicial não é te ensinar a simplesmente criar um monte de código. O mais importante é que você entenda toda a lógica por trás da resolução de um problema!

Essa parte é que vai garantir que você seja um bom cientista de dados e não simplesmente alguém que só escreve os códigos e pronto.

Hashtag Treinamentos

Para acessar outras publicações de Ciência de Dados, clique aqui!


Quer aprender mais sobre Python com um minicurso gratuito?


Vire uma referência no Mercado de Trabalho por causa do Power BI!

Quer saber como? Inscreva-se no Intensivão de Power BI! É gratuito!