“Ciência de Dados do Zero à Kaggle Kernels Master”

Um breve relato sobre como entrei na área de dados

Leonardo Ferreira
Ensina.AI
12 min readAug 8, 2018

--

Muitas pessoas entram em contato comigo para me pedir dicas ou ajuda para aprender ou conseguir uma vaga na área de ciência de dados, e então, resolvi escrever esse texto para já ter algo um pouco mais “estruturado” para melhor contribuir com quem está no inicio dessa jornada.

Nesse artigo inicial, irei fazer uma espécie de contextualização para os próximos textos que pretendo escrever futuro onde irei mais afundo em alguns dos tópicos que pretendo abordar nesse texto. Vou contar minha história na área de dados até o momento, e no fim, pretendo deixar algumas dicas para ajudar quem está começando e também querem entrar na área mas não sabem muito bem o que fazer, por onde começar ou para onde ir.

O meu primeiro contato com ciência de dados foi há pouco mais de um ano e meio, ali pelo dia 25 de maio de 2017. Estava desempregado e tentando operar na bolsa de valores forma consistente e embora dominasse muitas técnicas que funcionavam, exigia um controle emocional imenso, e depois de muito estress, vi um artigo na Forbes sobre Data Science, onde havia a citação sobre ser “a profissão mais sexy do século 21” e os seus porquês. Isso me chamou muita atenção logo de inicio, falava sobre o alto salário médio, os tipos de desafios e que havia uma demanda imensa por esse tipo de profissional que demanda um domínio de um monte de coisa, como negócios, matemática, estatística e programação, e que aos olhos de muita gente, é um tipo de profissional raro, e que quanto mais elevada e equilibrada forem suas habilidades mais pode ser considerado um “unicórnio”, tamanha a raridade.

Sou formado em contabilidade, aprovado na prova do CRCSP 2016/2 e, por conta da vida, sempre tive um certo “feeling” para negócios, empreendedorismo e matemática financeira. Na faculdade tive matérias de matemática e estatística, mas em programação, minha noção era próxima do zero.

Também sou um grande entusiasta de filosofia, teorias do conhecimento, e acredito que isso tenha me ajudado a estruturar a forma que iria aprender, e como já estava vindo de uma fase de autodidatismo, comecei indo atrás de sites, blogs e notícias que explicavam o que era Data Science/machine learning/Big Data e fui descobrindo o que havia por trás de cada um destes conceitos, e a cada novo assunto que eu encontrava, tentava me aprofundar ao máximo, e buscar por referências. Nessa época ainda não conhecia o conceito de MOOC’s que são cursos online com didáticas mais adequadas ao século 21, onde quem tem disciplina para estudar, consegue otimizar absurdamente o tempo de aprendizado, economizar dinheiro e ainda ter um conhecimento muito a frente que qualquer curso presencial. Na época, também adquiri um ótimo livro chamado “Data Science do Zero” e já nas primeiras semanas, apelando para o meu perfil de negócios e demonstrando grande interesse, e mesmo sem saber praticamente nada da área, já apareceram algumas entrevistas.

No total foram 10 entrevistas que consegui através do LinkedIn e eu acabei não passando em nenhuma, porém me deu uma grande força para continuar me dedicando full-time (cerca de de 12h ~ 14h diárias ao estudo de segunda a segunda), pois percebi que havia realmente muita demanda e que se eu me dedicasse, sem dúvidas teria uma oportunidade, pois é uma industria completamente nova, muitos inclusive dizem que é o novo óleo.

O primeiro MOOC que conheci foi o Udemy. Num primeiro momento achei interessante e logo apareceram as promoções de R$ 20,00. Então me empolguei e comprei inúmeros cursos, entre eles “Machine Learning de A a Z”, “Data Science from Zero to Hero” (inspiração para o título do artigo heheh), alguns de Tableau, mas logo percebi a burrada que havia feito, e acabei pedindo reembolso de 3 cursos, pois meu inglês na época era horrível e os cursos eram apenas vídeos. Nesse meio tempo, acabei conhecendo outras plataformas, e uma delas foi a Udacity, onde apostei minhas fichas.

Vi muitos vídeos falando sobre como eram os cursos chamados de Nanodegree’s, e muita coisa me chamou a atenção. Principalmente a didática moderna e correção feita por uma “pessoa de verdade”, que te retorna os feedbacks. A primeira parte fiz muito rápido, totalmente empolgado e enquanto não havia código, eu voei baixo e estava amando o curso… Porém quando chegou na parte do código, começou a ficar mais puxado para eu acompanhar, e na época ainda havia muita coisa sem legenda em português.

Minha primeira análise feita sozinho em Python foi no dia 21 de Julho de 2017 com dataset Titanic no github, aplicando os conceitos que havia aprendido no módulo de estatística… O projeto contribuiu para clarear muito sobre a aplicação de Data Science, mesmo que em um dataset tão simples. E no módulo seguinte, acabei não conseguindo mais prosseguir com o curso, pois eu não estava dando conta de entender a parte do código…. E conclui que sem uma base de programação, eu ficaria patinando por muito tempo.

Antes de pedir o cancelamento do curso, tentei pegar uma base de lógica assistindo várias aulas e cursos do YouTube como os do Gustavo Guanabara e várias outras pessoas muito boas, que se dedicam a ensinar lógica e programação de forma gratuita na internet. Depois de mais de um mês, me dedicando a desenvolver essa base de Python, conheci o Datacamp, que foi a plataforma que transformou minha forma de aprender e ver ensino online.

O Datacamp se encaixou perfeitamente para mim, me quebrava inúmeros galhos numa paulada só, pois o meu inglês ainda estava muito precário, e lá existiam instruções e material escritos, onde muitas vezes eu precisava ir no google translate para “ter certeza”, e também por ter uma área para você colocar o código que você fez e submeter para teste, com correção automática e que se você acertasse a resolução, ganharia pontos na plataforma. Comecei testando alguns cursos soltos, e como havia achado a plataforma diferenciada das que já tinha testado, resolvi tentar a versão paga e comecei o “Data Scientist Track with Python”, onde caso não conseguisse desenvolver o código ou entender o problema, eu tinha a opção de clicar em “HINT” e uma dica ou instrução sobre a tarefa apareceria, e caso mesmo assim não soubesse como fazer, era só apertar novamente o HINT e o sistema apresentava o código completo. Fui fazendo o curso e complementando a teoria com o livro Data Science do Zero, livros mais específicos, textos, blogs, papers, grupos, fóruns, vídeos no youtube e várias outras referências para entender melhor cada conceito e aplicações… Porém quando chegou na parte de Machine Learning, comecei a me sentir bastante inseguro pois tinha a impressão de que “não estava aprendendo”, o que pode ser bem normal para quem está começando em qualquer área e ainda não colocou os aprendizados em prática.

Dominado pela frustração, e sem saber direito o que fazer, resolvi tentar o “Data Scientist Track with R”, pois havia lido que R era uma linguagem estatística, e como estava frustrado com Python, cai de cabeça no R, e talvez por já estar de certa forma familiarizado com Python, tive uma facilidade enorme com a linguagem R, onde terminei em pouco tempo, e ainda reforcei a maioria dos conceitos e reapliquei a outros datasets… Após o término deste Track, resolvi fazer outro curso de R, voltado para a área financeira, o “Quantitative Analyst Track with R”, onde aprendi muita coisa interessante e nova. Até que em Dezembro de 2017, consegui uma oportunidade de estágio, e como pretendiam usar Python, voltei para o curso de Python no Datacamp, mas agora tinha que trabalhar.

Como já estava a um certo tempo sem mexer com Python, quando voltei a mexer estava bem perdido, e foi quando tive que por em prática meus conhecimentos no primeiro “dataset real”, com a tarefa de realizar a predição de fraudes para uma empresa de água, e dessa vez, não havia ninguém para me dizer o que fazer, como analisar, o que usar e quais métricas eram importantes… Não tinha muito um certo e errado.

No primeiro momento fiquei totalmente perdido, sem saber direito por onde começar, pois até então, eu só havia visto teoria e quase nada de prática, muito menos com um dataset que não fosse “manjado” (como o iris, mushrooms, taxi ny, breast cancer etc), onde as variáveis que deveriam ser investigadas eram meio óbvias e bem limitadas.

Meu progresso dentro da plataforma do Datacamp

Conforme os dias foram passando, as coisas foram fazendo mais sentido e o projeto foi entregue dentro do prazo, deu tudo certo, e no final tivemos um bom resultado nas predições das fraudes, mas mesmo dando tudo certo, foi bastante tenso para mim, pois me enrolava muito na hora de fazer qualquer coisa que envolvendo código, e como já tinha ouvido falar sobre o Kaggle, que é uma plataforma de modelagem preditiva e de competições analíticas em que estatísticos e mineradores de dados competem para produzir os melhores modelos para prever e descrever os conjuntos de dados enviados por empresas e usuários, e que recentemente foi adquirida pelo google, fui atrás de um dataset clássico que haviam me recomendado, que era o German Credit Risk onde o objetivo era desenvolver uma análise e prever se o crédito poderia ou não ser concedido a determinado cliente baseado em seus históricos, e como sou contador, tive uma certa facilidade para explorar e apresentar os dados de forma clara, o que acabou me rendeu muitos votos na plataforma de dados e motivou a continuar produzindo mais kernels até que me sentisse à vontade o suficiente com o código e diferentes métodos de análises em diferentes tipos de dados e industrias diferentes, tentando focar os dados de uma forma mais abstrata, mas sempre considerando as diferentes nuances de cada industria.

Rapidamente, percebi que havia um nicho para análises com um viés mais financeiro/econômico por lá, que por algum motivo, poucas pessoas focavam neste tipo de análise, mas que havia uma ótima aceitação.

Minha primeira interação no Kaggle foi no dia 8 de janeiro de 2018 e em um mês e meio, alcancei o nível de Kaggle Kernels Expert. Fiquei muito animado e estava realmente encantando com tudo o que eu estava aprendendo, e depois de apenas alguns meses, ganhei meu primeiro prêmio na competição de Kernels da Kiva Data Science for Good, levando uma premiação de mil dólares. Ao mesmo tempo que rolava a competição, em Abril de 2018, mudei de empresa e fui trabalhar numa empresa que faz visualização de dados realmente grandes, com javascript (e nem sabia javascript ainda) numa plataforma própria, onde já entrei como cientista de dados, e um mês e pouco depois, 20 de maio, fui a 21ª pessoa no mundo e o primeiro brasileiro a conquistar o status Kaggle Kernel Master.

Depois de tantas análises e trabalhos que desenvolvi no Kaggle, e todos projetos que participei nos últimos meses para grandes empresas, somados as longas horas de estudos, já considero ter acumulado uma boa bagagem para conseguir ter uma boa compreensão e frequentes insights de dados, para produtos, análises, e muitas vezes apenas pela curiosidade/conhecimento mesmo… Esta é uma área muito interessante e rica para qualquer pessoa que goste de aprender, não tenha medo de desafios e principalmente, que goste de resolver problemas.

Pelo que já percebi até o momento, não existe um único perfil e nem um consenso para o que é um cientista de dados e isso é muito libertador, pois abre espaço para pessoas do mais variado espectro da sociedade, e embora muitos tentem colocar inúmeras restrições e a sua área ou status acadêmico como um pré requisito, o importante é que você consiga pensar, entender, explicar e principalmente aplicar os conhecimentos em qualquer tipo de dataset.

Fiz esse texto gigante, contei minha história apenas para contextualizar as dicas que costumo dar para amigos e pessoas que me chamam no LinkedIn ou no Kaggle, e mostrar que é possível aprender em pouco tempo e com qualidade, desde que haja dedicação e foco.

Atualmente tenho tido boas conversas sobre dados com pessoas do mundo todo, e principalmente trabalhado muito junto do premiadíssimo e grande mestre Anderson L. Amaral em algumas soluções e consultorias de automação de Machine Learning, tanto para feature engineering, modelagem, pré-processamento, otimização, e até limpeza de dados.

Enfim, deixo aqui algumas “dicas” para as pessoas que estão nessa trajetória:

1. LEVA TEMPO MESMO

Da mesma forma que você não consegue emagrecer ou ficar musculoso em poucas semanas, ou meses, não espere que em ciência de dados seja diferente. Embora eu tivesse bastante tempo livre para estudar, o principal fator no aprendizado será a consistência e o tempo dedicado nas tarefas… Quanto mais você se dedicar, mais rápido irá aprender.

Pense sempre que para aprender coisas novas e ficar mais inteligente, necessitamos de tanto esforço quanto para levantar peso, correr uma maratona ou qualquer outro tipo de atividade de alto rendimento, tudo isso exige dedicação e disciplina.

2. TIRE AS DÚVIDAS

Não aceite não entender como algo funciona. No começo será um pouco difícil por existir muitos conceitos relacionados a área. Porém, com o tempo, esses conceitos irão se repetir muito e consequentemente os conceitos se tornarão intuitivos. Uma coisa boa de pensar é que o seu conhecimento ninguém nunca irá tirar de você, então, “perca” o tempo que for, mas entenda os conceitos.

Uma coisa que costumo usar para me motivar, é buscar por crianças, pessoas com limitações, ou até mesmo idosos que façam o que eu pretendo fazer… Pois assim me sinto mais desafiado.

3. PENSE ATRAVÉS DOS DADOS

Quando você está aprendendo algo, pode ser interessante usar aquilo como uma ferramenta de pensamento… Nesse caso, olhe para as coisas e tente pensar em soluções com dados, produtos, métricas que talvez se aplicariam em cima daquilo que você está observando e afins…. Assim você já irá treinar sua capacidade de análise e aplicação dos conceitos de forma intuitiva.

Ao contratar um cientista de dados, uma empresa visa aumentar o seu lucro, diminuir alguma despesa ou se prevenir de perdas/fraudes, então, esteja atento à importância do “business”, caso você queira trabalhar para empresas.

4. APLIQUE SEUS CONHECIMENTOS

Após um certo tempo acumulando conhecimentos através de aulas, MOOC’s, videos, livros, é interessante que você tente fazer suas próprias análises e desenvolver seu próprio “estilo” de análise. Um lugar que achei fenomenal para isso, é o Kaggle, mas existem inúmeras outras plataformas como o drivendata e data.world. No inicio dê preferência a aplicar o conhecimento em datasets que você tenha algum domínio, e formule de forma simples as perguntas iniciais que irá tentar responder… Esse foi um dos motivos de eu ter escolhido muitos datasets financeiros no início, ou sempre puxando quase tudo para este lado.

Além do mais, só o fato de você estar praticando por conta própria, saiba que você já é um outlier.

5. DEIXE QUE AS PESSOAS SAIBAM O QUE VOCÊ FAZ

Essa é uma das áreas mais interessantes da atualidade e ainda assim, muitas pessoas reclamam que não conseguem uma oportunidade na área, e ao meu ver, uma das principais razões disso, é que as pessoas não sabem o que você está fazendo e nem o seu esforço para aprender. Aprender a ser comunicar bem é essencial.

Meu perfil público no Kaggle com trabalhos realizados nessa jornada

Acho que é o suficiente para um texto de introdução. O que escrevi acima é um resumo de tudo que rolou nesse um ano e pouco, e pretendo em breve fazer outros textos que irão se aprofundar sobre assuntos citados acima e também algumas observações em relação aos diferentes perfis de Data Science, técnicas/dicas de aprendizado, métodos para ajudar no entendimento dos dataset e como tirar valor da exploração de dados, e também sobre automação de ML que é algo que venho me dedicando a um tempo e que sem dúvidas fará cada vez mais parte do dia-a-dia dos data scientists do mundo todo.

Em breve estou de volta, agradeço a quem leu até aqui e caso tenha ficado muito repetitivo, peço desculpas, pois não estou acostumado a escrever tanto.

Fique a vontade para entrar em contato pelo LinkedIn, e caso tenha interesse, visite meus perfis no Kaggle e GitHub onde costumo postar alguns dos trabalhos e projetos que estou desenvolvendo.

EDIT: O pessoal do Datacamp leu o texto e decidiu oferecer um cupom de desconto para quem está inciando e gostaria de conhecer melhor a plataforma. Se você quiser testar uma semana grátis envie um e-mail para sales@datacamp.com e no assunto coloque “Leonardo” e fale que você leu o artigo e gostaria de testar.

--

--

Leonardo Ferreira
Ensina.AI

Data Scientist Consultant at trich.ai | Python Developer | Accountant | Kaggle Grandmaster | Upwork Top Rated Plus Freelancer