Blog

Postado em em 6 de junho de 2022

Melhor Modelo de Machine Learning – Como Escolher o Melhor Modelo?

Você sabe como escolher o melhor modelo de machine learning? Nessa aula eu vou te mostrar como fazer isso e como fazer suas análises!

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:

Escolhendo o Melhor Modelo de Machine Learning

Você sabe qual melhor modelo de machine learning escolher quando estiver criando o seu projeto?

Hoje eu quero te mostrar uma avaliação dos modelos de machine learning para que você entenda como escolher qual o melhor modelo para o seu projeto.

Machine Learning no Python

Você pode estar pensando que o melhor modelo seria o modelo mais complexo não é mesmo?

Só que não é bem assim, principalmente porque nós temos um fato muito importante que é o tempo para entrega de um projeto.

E para criar um modelo bem complexo você tem que concordar que isso vai demandar muito mais tempo, certo?

Por esse motivo é que nós precisamos saber qual modelo escolher.

Visualização do Tempo x Erro nos modelos
Visualização do Tempo x Erro nos modelos

Dá só uma olhada nesses exemplos que nós colocamos inserindo o tratamento de dados, seleção de variáveis, ajuste de parâmetros e alterando os algoritmos.

Você vai notar que para ter um erro menor nós vamos precisar de muito mais tempo para construir esse modelo.

E muita das vezes nós não vamos ter um prazo muito longo, então vamos ter que saber ponderar esse tempo que foi gasto para implementar esse algoritmo.

Área de muito esforço para pouco retorno
Área de muito esforço para pouco retorno

Em alguns casos você vai notar que tem muito esforço para pouco retorno em termos de diminuição de erro.

Então nesses casos pode nem valer a pena ter todo esse esforço e tempo para ter um resultado muito pequeno.

Mas lembre-se de que é muito importante a conversa com o cliente para que você saiba o que ele quer e que ele saiba das possibilidades que tem caso você dedique mais tempo para melhorar seu modelo.

Vamos para um exemplo para que você entenda também como podemos utilizar as medidas de erro para fazer essa verificação.

Avaliando o erro
Avaliando o erro

Aqui nós traçamos uma reta passando por dois pontos, mas como fazer essa verificação do modelo? Como verificar o quão errado ele está. Lembrando que sempre vamos ter erros, então isso não é algo negativo, pois podemos aprender e melhorar com esses erros.

Fazendo a projeção dos pontos reais no modelo
Fazendo a projeção dos pontos reais no modelo

Aqui nós vamos projetar os pontos na nossa reta para verificar a diferença do valor real pelo valor do nosso modelo (que seria o projetado na reta).

Depois podemos pegar a média dessas distâncias ou o quadrado dessa distância para termos como parâmetro. Assim vamos poder verificar se essa reta ou outra reta está mais próxima dos valores reais.

Dessa forma nós vamos alterando esse modelo para chegar em um modelo com um erro menor, mas como você deve notar, isso vai tomar tempo.

OBS: Lembrando que isso é um exemplo, o seu modelo pode ser mais complexo, mas é para que você entenda que precisa ir verificando e adaptando o seu modelo para ter um erro ainda menor.

Avaliando o erro na regressão
Avaliando o erro na regressão

Aqui nós temos outro exemplo onde podemos fazer essa análise, criar uma reta que passa em alguns dos pontos e depois projetar os pontos reais nesse modelo.

Você pode fazer isso de forma manual, mas no scikit learn (na parte de regressão) você pode encontrar alguns desses modelos para facilitar o seu trabalho.

Cálculo do erro médio absoluto
Cálculo do erro médio absoluto

Além do erro médio absoluto, nós podemos calcular o erro quadrático médio.

Cálculo do erro médio quadrático
Cálculo do erro médio quadrático

Quando você tem pontos que estão muito distantes você vai notar que o erro médio quadrático ele aumenta bastante, então isso é interessante para verificar os outliers (que seriam dados muito fora do conjunto de dados).

Dá só uma olhada nessa outra avaliação!

Avaliando o erro na classificação
Avaliando o erro na classificação

Nessa avaliação nós queremos separar as transações aprovadas das transações negadas. E isso vai ser feito com a matriz de confusão, que vai dizer o quanto erramos e o que nós erramos.

Melhor Modelo de Machine Learning
Matriz de confusão

Aqui você nota que tivemos transações aprovadas e negadas, mas dentro das aprovações uma estava errada e nas transações negadas temos o mesmo cenário.

Matriz de confusão e acurácia no Python
Matriz de confusão e acurácia no Python

Podemos utilizar a matriz de confusão para verificar o que acabamos de representar e verificar também a acurácia desse modelo.

Nesse caso da acurácia é sempre bom verificar o que está sendo feito, pois nesse caso podemos ter 99% de acurácia, mas o 1% que deixamos passar foi uma fraude milionária.

Então só esse número por si só não vai dizer se os resultados são bons ou ruins, é necessário avaliar o cenário para verificar se o que passou de fato não era tão importante.

Melhor Modelo de Machine Learning
Descrição da matriz de confusão

Aqui temos uma breve explicação dessa matriz para que você consiga entender melhor sobre os resultados que acabamos de obter.

Melhor Modelo de Machine Learning
Explicação do Falso Positivo e Falso Negativo

Aqui eu te mostro uma explicação do falso positivo e do falso negativo e os impactos que isso podem trazer nesse cenário de transações bancárias.

Mas e se você quisesse diminuir esse erro, como poderíamos fazer? Nós vamos dar um peso para esses falsos para que na nossa análise isso seja mais fácil de identificar.

Melhor Modelo de Machine Learning
Atribuindo peso aos falsos positivos e negativos

Dá só uma olhada nesses casos para que você tenha uma ideia de como podemos colocar esses pesos de acordo com a “gravidade” de cada caso.

Dá só uma olhada no último caso, se nós tivermos um falso positivo não seria algo tão grave, pois estaríamos dizendo que uma pessoa está doente, mas na verdade não está.

Então essa pessoa poderia repetir os exames ou ir a outro médico para verificar se de fato está doente.

Agora imagine se acontece o contrário? Se a pessoa está doente e o médico fala que ela está bem. Já imaginou o problema que isso poderia gerar?

Ainda mais se for uma doença grave, nesse caso já podemos ter um risco de vida. Você percebe que mesmo que seja 1 caso em 100 esse caso seria muito grave?

Mesmo que você tenha acertado 99% dos casos, passou um caso muito grave.

Vale lembrar que todos esses pesos e essas maneiras de análise vão ser alinhados com o seu cliente, então tudo isso precisa ser bem definido para definir esses pesos.

Com isso você vai conseguir ter maior sucesso no seu projeto de ciência de dados!

Conclusão

Nessa aula eu te mostrei como você pode escolher o melhor modelo de machine learning tendo em vista a relação de tempo e erro do seu projeto.

Então não basta ter o modelo mais complexo se não vai ter tempo suficiente, ou até mesmo deixar passar um erro que é mais grave.

Tudo isso depende das análises e do alinhamento de expectativas com o seu cliente para o sucesso do seu projeto de ciência de dados!

Hashtag Treinamentos

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


Quer aprender mais sobre Python com um minicurso gratuito?


Quer sair do zero no Python e virar uma referência na sua empresa? Inscreva-se agora mesmo no Python Impressionador