Blog

Postado em em 19 de setembro de 2022

Curso de Ciência de Dados Aula4 – Aprendizado de Máquina para Classificação

Hoje no Curso de Ciência de Dados Aula4 vamos ver alguns modelos de classificação para verificar qual prevê melhor nossos dados!

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

Curso de Ciência de Dados Aula4

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

Curso Básico de Ciência de Dados

Nessa aula nós vamos falar sobre aprendizado de máquina para classificação, então vamos ver alguns modelos de classificação para prever o valor de uma categoria.

Nesse exemplo para o nosso modelo de aprendizado de máquina nós vamos utilizar novamente a nossa base do titanic.

Aprendizagem Supervisionada

Para essa aula nós vamos utilizar a aprendizagem supervisionada, que é quando nós temos tanto os valores de entrada quanto os valores de saída (valor target).

Essa primeira parte de explicar o que são cada uma das informações e o que temos em cada uma das colunas nós já vimos na aula anterior, então essa parte você pode dar uma olhada lá!

Removendo a coluna "Cabin" da base de dados
Removendo a coluna “Cabin” da base de dados

Aqui estamos fazendo uma análise geral das informações que já temos e vamos começar com a retirada da coluna Cabin, que tem muitos valores vazios.

Eliminando os valores vazios
Eliminando os valores vazios

Como nós vamos simplificar esse tratamento nesse exemplo nós vamos eliminar também todas as colunas com o tipo “object”, pois vamos deixar apenas as colunas com o tipo inteiro e ponto flutuante.

Removendo as colunas do tipo objeto
Removendo as colunas do tipo objeto

Com isso nossa base já está quase pronta para utilizarmos. O próximo passo é onde vamos começar a utilizar alguns dos modelos de classificação.

Mas para isso vamos precisar da biblioteca scikit-learn, que é uma biblioteca para análise preditiva de dados. Você pode acessar o site dela no link abaixo:

https://scikit-learn.org/stable/

Definindo x e y de treino
Definindo x e y de treino

Antes de fazer qualquer uso de modelos de dados nós vamos definir o x e y para o treino, onde o x vai ser a nossa base ser a coluna “Survived” que é o que queremos descobrir.

E o y será a coluna survived para que possamos fazer uma comparação com os modelos de classificação.

Para esse exemplo nós vamos utilizar 3 modelos de classificação, o KNN, o modelo árvore de decisão e a regressão logística.

Usando o modelo KNN
Usando o modelo KNN

OBS: Não se preocupe, pois todos os links e códigos estão disponíveis para download, então se precisar acessar a documentação de cada biblioteca no arquivo estão todos os links e está tudo separado para que você consiga acompanhar!

Usando o modelo Árvore de Decisão
Usando o modelo Árvore de Decisão

Por fim vamos utilizar a regressão logística. Pode ficar calmo que ainda vamos fazer as comparações para que esses valores façam sentido.

Usando a Regressão Logística
Usando a Regressão Logística

Feito isso nós vamos fazer uma avaliação dos modelos de classificação, então agora nós vamos fazer o mesmo tratamento que fizemos anteriormente, só que agora utilizando a base de teste.

Avaliando os modelos de classificação
Avaliando os modelos de classificação

Aqui fizemos o mesmo tratamento que foi feito anteriormente, até porque precisamos do mesmo tratamento para que os resultados sejam compatíveis.

Avaliando os modelos com a base de teste
Avaliando os modelos com a base de teste

Feito isso fizemos a análise com os 3 modelos de classificação. Agora nós vamos utilizar a matriz de confusão para fazer uma análise desses dados para comparar o real com o modelo.

Curso de Ciência de Dados Aula4
Visual da matriz de confusão
Curso de Ciência de Dados Aula4
Cálculo da matriz de confusão para cada um dos modelos

Aqui já temos uma visualização de que o KNN prevê melhor as pessoas que vão sobreviver, enquanto a regressão logística prevê melhor as pessoas que não vão sobreviver.

Além de avaliar essas informações pela matriz de confusão nós podemos utilizar a acurácia, a precisão o recall para definir qual modelo é melhor para esse caso.

Na acurácia nós vamos verificar quantos valores nós acertamos independente se acertamos para o positivo ou negativo. Isso quer dizer que é um cálculo em relação ao total.

Curso de Ciência de Dados Aula4
Acurácia dos modelos

Aqui você já nota que os dois últimos modelos acertaram uma mesma quantidade, enquanto o primeiro modelo já teve uma quantidade de acertos menor.

Agora na precisão nós vamos verificar dos valores positivos (falso-positivo e verdadeiro-positivo) quantos nós acertamos.

Curso de Ciência de Dados Aula4
Precisão dos modelos

Aqui o modelo de árvore de decisão teve uma maior precisão, então com esses parâmetros até o momento ele seria o melhor modelo dentre os que testamos.

O recall vai fazer uma relação entre o verdadeiro (positivo) e o falso (negativo). Um bom exemplo é quando estamos tratando de fraude, então queremos encontrar a maior quantidade de fraudes.

Curso de Ciência de Dados Aula4
Recall dos modelos

E por mais que a precisão seja muito boa, se o recall for muito baixo nós não vamos conseguir encontrar essas fraudes.

Então no nosso modelo essas seriam pessoas que sobreviveram, mas o nosso modelo classificou que essas pessoas não sobreviveram.

OBS: Então você já nota que não basta apenas ter todos os valores mais altos que já um ótimo modelo, isso depende muito da análise que nós estamos fazendo. Isso que dizer que para cada caso você vai ter que analisar quais são as melhores métricas a serem analisadas.

Nesse caso se quiséssemos identificar as pessoas que de fato sobreviveram e o modelo definiu como não sobrevivente poderíamos utilizar o recall, que para o KNN tem o valor mais alto.

Então esse modelo já conseguiria fazer essa verificação com maior facilidade. Assim você consegue começar a entender que não existe um modelo certo ou um modelo perfeito, isso tudo depende da sua análise e do que você precisa.

Conclusão – Curso de Ciência de Dados Aula4

Nessa aula eu te mostrei alguns modelos de classificação e como eles podem te auxiliar na análise dos seus dados.

Além disso te mostrei a matriz de confusão que é muito interessante para fazer algumas análises e baseado nisso temos a precisão, acurácia e precisão.

Que são métricas que vão te auxiliar no seu problema, é claro que vai depender do que você está procurando, pois nem sempre vamos ter um único modelo ou métrica que vai ser excelente ou que vá funcionar para todos os casos.

Hashtag Treinamentos

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


Quer aprender mais sobre Python com um minicurso básico gratuito?

Quer sair do zero na linguagem de programação que mais cresce no mundo? Inscreva-se gratuitamente no Intensivão de Python!