Meigarom
7/5/2020

O Projeto de Machine Learning para o Seu Portfólio

Imagem Principal
Introdução

As melhores empresas, para se trabalhar como Data Scientist, não olham mais para a sua formação acadêmica, nem para o curso que você frequentou na faculdade. Essas empresas olham para a sua capacidade de resolver problemas reais usando conceitos de Data Science e ferramentas de Machine Learning.

E não há nada mais poderoso, para demonstrar sua capacidade de encontrar soluções para problemas complexos, do que um portfólio de projetos Matador.

Leia esse post até o final, eu vou passar o contexto e os detalhes de um projeto do Tipo Machine Learning para você resolver e colocar no seu Portfólio de Projetos.

Os outros projetos…

Existem 5 tipos de projetos que compõe o portfólio matador: Projetos de Insights, Projetos de Data Engineering, Projetos de Machine Learning, Projetos End to End e Projetos de Data Science.

Se você quer saber mais detalhes sobre todos os tipos de projetos, assista esse vídeo do canal “Seja Um Data Scientist” https://youtu.be/LJrK4B7bNWA.

E se você precisa de sugestões sobre quais projetos desenvolver, eu sugiro um projeto do Tipo INSIGHTS aqui nesse post, Os 5 Projetos de Data Science Que Fará o Recrutador Olhar para Você! e um Projeto do Tipo DATA ENGINEERING aqui nesse segundo post O Projeto de Data Engineering Para o Seu Portfólio.

Agora vamos para o projeto mais espero por todos aqueles que estudam Data Science, o projeto do Tipo MACHINE LEARNING.

Projeto Número 03: O Projeto de Machine Learning:

O objetivo do projeto de Machine Learning é criar uma solução de negócio usando um algoritmo de Machine Learning. Ou seja, você precisará responder perguntas de negócio através de um Modelo.

Meigarom, eu tenho uma pergunta! Porque eu preciso de um modelo para responder perguntas de negócio? Para responder essa pergunta, eu preciso explicar o que é um modelo.

Em poucas palavras, um modelo é uma representação de um fenômeno. Com um modelo você pode responder várias perguntas e se antecipar aos acontecimentos. Quantos itens essa categoria vai vender na próxima semana? Quantas visitas meu website receberá no próximo mês? E assim por diante.

Se você quiser entender melhor o que é um modelo e como usá-lo, eu trago uma explicação mais detalhada nesse vídeo https://youtu.be/WHoK46KLrcM.

O projeto do tipo Machine Learning cobre 6 passos do roadmap de resolução de problemas em Data Science, sendo esses: Coleta de Dados, Limpeza de Dados, Exploração de Dados, Modelagem de Dados, Aplicação de algoritmos de Machine Learning e Métricas de Performance.

Para cumprir todos esses passos, eu vou criar um desafio fictício de uma empresa imaginária, de modo a contextualizar o problema e torná-lo mais real, mais próximo de um problema de negócio.

Disclaimer: O Contexto a seguir, é completamente fictício, a empresa, o contexto e o problema, existem somente na minha imaginação.

Contexto do Desafio

Você é um Data Scientist contratado por uma empresa chamada Rocket Science Inc. A empresa é uma multinacional que produz peças para a construção de satélites. As peças são produzidos por uma fábrica com 18 linhas de produção. Cada linha de produção é composta por uma sequência de máquinas operatrizes, que realizam 10 operações, desde o material bruto até a peça acabada.

As máquinas possuem muitas partes móveis que funcionam com ar pneumático e motores elétricos. O sucesso da empresa Rocket Science Inc é diretamente relacionado ao tempo em que as máquinas permanecem operando, ou seja, as máquinas não podem ficar fora de operação, quebradas aguardando manutenção.

Para garantir o funcionamento ininterrupto das máquinas, o time de manutenção da Rocket Science Inc., realiza manutenções periódicas programadas, a fim de substituir peças gastas, lubrificar as partes móveis e checar a vida útil de motores elétricos, tudo isso para evitar a quebra repentina

Como um Data Scientist, você foi contratado pela Rocket Science Inc. para prever quando ocorrerá a falha em um motor elétrico

Os Dados do Desafio

Os dados para este desafio estão disponíveis em um repositório chamado “The Prognostics Data Repository”. É uma coleção de conjunto de dados, disponibilizados por universidades, agências e empresas nesse link Prognostics Center — Data Repository

Dentro desse website, você vai descer na página até o item “6. Turbofan Engine Degradation Simulation Data Set” e clicar no link “+Download Turbofan Engine Degradation Simulation Data Set”, como na figura abaixo.

Você vai fazer o download de uma pasta zipada chamada “CMAPSSData.zip” que contém 14 arquivos.

Para esse desafio, vamos usar o arquivo “RUL_FD001.txt”, “train_FD001.txt” e o “test_FD001.txt”.

Característica do Conjunto de Dados

O arquivo “train_FD001.txt” possui 26 colunas

Cada linha desse conjunto de dados representa 1 ciclo de medições. As medições são feitas por 21 sensores e 3 valores de ajuste, como descrito nas colunas.

Cada motor possui um ciclo máximo de medição, após esse ciclo máximo é esperado um número de ciclos até a falha do motor. Esse número de ciclos esperados até a falha é chamado de RUL ( Remaining Useful Life ).

Por exemplo, o número máximo de ciclos do motor 01 é 192, como descrito na imagem abaixo. Após o ciclo 192, é esperado 112 ciclos até a falha.

O valor 112 é o número de ciclos esperados até a falha ( RUL ). Esse valor pode ser encontrado no arquivo “RUL_FD001”, como na figura abaixo.

A primeira linha mostra um valor de 112 para RUL. Esse valor corresponde ao número de ciclos estimado, até a falha, para o motor 01.

A segunda linha mostra um valor de 98 para RUL, que corresponde ao número de ciclos estimado, até falha, para o motor 02. E assim por diante.

O seu objetivo como Data Scientist é prever o valor do RUL para os motores do conjunto de dados de teste “RUL_FD001.txt” e responder à essa pergunta:

Quantos ciclos cada motor ainda possui até a falha?

Como solucionar esse desafio?

Esse é um desafio de Machine Learning. A pergunta que você precisa responder com o modelo é muito clara, o que torna o desafio ainda mais interessante. Porém, ele não é um desafio fácil, é bem mais complicado do que parece, mas é um ótimo exercício para você desenvolver habilidades de Modelagem com Machine Learning.

Eu vou deixar uma sugestão de roteiro para você se orientar, ele pode ser modificado da forma que você preferir ou simplesmente ignorado. Provavelmente, você já tem um roteiro de resolução melhor para abordar esse desafio.

E o mais importante, tenha paciência, criar uma solução leva tempo, assuma uma postura resiliente e nunca desista, afinal você quer ser um Data Scientist e ganhar um ótimo salário, não quer?

Roteiro Sugerido para a Resolução

Esse é o roteiro de resolução do desafio que eu sugiro:

  1. Leia os 3 arquivos em um Jupyter Notebook e renomeia as colunas.
  2. Defina o tipo desse problema: Regressão, Classificação ou Clusterização.
  3. Faça testes Estatísticos procurando por incoerências nos dados.
  4. Crie novas variáveis para modelar melhor o fenômeno, se necessário.
  5. Verifique se as variáveis possuem o mesmo peso, em termos de importância, para o modelo.
  6. Aplique diferentes algoritmos de Machine Learning.
  7. Compare os algoritmos sob a mesma métrica de performance, a mais apropriada.
  8. Garanta que seu modelo não possui “Overfit”, ou seja, uma memorização ao invés de aprendizado.
  9. Escreva os valores de previsão do RUL e seu intervalo de confiança para cada motor do arquivo de teste.
  10. Escreve um breve explicação do raciocínio da sua solução.

Vá em Frente!

Não existe caminho fácil, de curto prazo em nenhuma profissão, muito menos em Data Science, mas existe o caminho certo. E o caminho certo é adquirir experiência através do desenvolvimento de projetos para mostrar sua capacidade

Volto a repetir, os projetos do seu portfólio precisam demonstrar que você é tão capaz de resolver desafios de negócio quantos os Data Scientists que já atuam profissionalmente nas empresas e os desafios não são fáceis e ainda se agravam com a pressão para entregar rápido, portanto, aproveite para se aprimorar o máximo que puder.

Quando você conseguir solucionar esse desafio, armazena seus códigos no Github ou no Bitbucket e escreva um artigo, explicando como sua solução funciona, o contexto do problema e o resultado final.

Se quiser publicar aqui no blog, me manda um msg no LinkedIn (@meigarom ) ou no Instagram ( @meigarom.datascience ). Publicarei seu trabalho com o maior prazer do mundo.

Conclusão

Nesse terceiro post da série, você recebeu o desafio de resolver um problema de negócio utilizando um Modelo de Machine Learning. Essa é a única habilidade que separa o Data Scientist dos outros profissionais de Dados, e é exatamente essa habilidade que torna o Data Scientist tão valioso para as empresas.

Para te ajudar na solução, eu sugeri um passo a passo que pode ser seguido ou não, talvez você tenha um roadmap bem melhor que o meu!!

Fique ligado nos próximos posts, eu vou trazer sugestões para os outros tipos de projetos. Assim você conseguirá criar um portfólio de projetos matador no final dessa série e com certeza estará vários passos a frente em relação aos outros candidatos e muito passos perto de entrar para essa profissão incrível.

Não se esqueça de acompanhar o canal “Seja um Data Scientist” e o Instagram @meigarom.datascience para mais conteúdos. Caso você tenha LinkedIn, não se esqueça de conectar comigo, é só procurar por @Meigarom, está fácil de encontrar!! haha

Bons estudos!! #KeepStuding