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:
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.
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.
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.
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.
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.
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.
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.
Além do erro médio absoluto, nós podemos calcular o erro quadrático médio.
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!
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.
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.
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.
Aqui temos uma breve explicação dessa matriz para que você consiga entender melhor sobre os resultados que acabamos de obter.
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.
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!
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!
Para acessar outras publicações de Ciência de Dados, clique aqui!
Quer aprender mais sobre Python com um minicurso gratuito?
Expert em conteúdos da Hashtag Treinamentos. Auxilia na criação de conteúdos de variados temas voltados para aqueles que acompanham nossos canais.