O segredo para crescer de um analista de dados a um cientista de dados

Principais dicas para mover-se lateralmente da análise de dados para a ciência de dados

NATALIA KOUPANOU em Rumo à Ciência dos Dados Seguir no dia 9 de julho · 11 min ler Road to Data Science (Foto de Aleksandr Barsukov em Unsplash )

Sem dúvida, uma onda de calor da ciência de dados atingiu a maioria das indústrias, tornando o cientista de dados o trabalho mais sexy do século 21, como referido na Harvard Business Review . Apesar da crescente demanda e apetite por cientistas de dados experientes, o trabalho é ambiguamente descrito na maioria das vezes. Além disso, o delineamento entre ciência de dados e análise de dados ou engenharia ainda é vagamente definido por muitos gerentes de contratação. Essa falta de padrão real da indústria confunde muitos profissionais que desejam mudar para uma função de ciência de dados. Falando a muitos analistas e desenvolvedores de software, eu percebo o quão esmagadora a informação disponível sobre AI e aprendizado de máquina (ML) pode ser. Também sei por experiência como é difícil saber por onde começar sem qualquer orientação. Atualmente, sou cientista de dados na Zoopla e gostaria de compartilhar algumas lições que aprendi em minha jornada profissional pessoal, de analítica à ciência de dados.

GIF bonito de https://imgur.com/gallery/oJSx1YR

Fique firme em uma sólida base matemática

A maioria dos algoritmos ML são construídos em cálculo multivariado e álgebra linear e não linear . Cientistas de dados altamente qualificados são capazes de mudar o programa de computador no nível da matemática e, assim, impulsionar a melhoria real no desempenho do modelo. É importante ter as habilidades matemáticas, especialmente estatísticas e álgebra linear. Ter a capacidade de aprender e entender técnicas de aprendizado de máquina é um requisito para se tornar um cientista de dados. Se você aprendeu isso de um curso de psicologia ou matemática, um PhD ou um curso on-line não é relevante.

Pessoalmente, tenho um bacharelado e mestrado em Engenharia pela Universidade de Cambridge. Normalmente, os graus de bacharel STEM já fornecem os fundamentos em matemática necessários para aprender técnicas de aprendizado de máquina e de ciência de dados. Muitos aspirantes a cientistas de dados são desencorajados pelo mito de um PhD como pré-requisito para uma carreira em ciência de dados. Atualmente, existem muitos cientistas de dados com doutorado, mas isso não é uma regra. Por exemplo, meu ex-colega Jorge Brasil, com mestrado em matemática aplicada, tem mais de 7 anos de experiência em ciência de dados em empresas de ponta, incluindo a Microsoft.

Dica 1: Concentre-se em suas habilidades, em vez de seu fundo.

Como cientista de dados, você geralmente quebra problemas difíceis, abertos e mal definidos em pequenos passos . Esta é uma habilidade para a qual você é treinado durante um curso de pós-graduação em um período de 3 a 6 anos. A indústria também pode oferecer essa habilidade, e é por isso que eu pessoalmente escolhi me juntar a uma start-up de e-commerce após meus estudos de graduação, onde eu era o segundo membro da equipe de análise e precificação digital.

Ensine-se antes de ensinar sua máquina

Um analista de dados relata, resume e interpreta informações históricas e atuais para torná-las utilizáveis para os negócios. Isso é muito diferente de um cientista de dados, cujo papel é resumir os dados de uma maneira que permita fazer uma previsão sobre o futuro ou uma decisão prescritiva. A principal tarefa dos cientistas de dados é treinar, testar e otimizar algoritmos ML e, portanto, seu conjunto de habilidades é fortemente ponderado na modelagem ML.

Muitas postagens de blog em plataformas médias e outras são ideais para iniciantes e podem guiá-lo com problemas específicos que você pode querer resolver. Outras leituras úteis são as seguintes:

Teoria e equações pesadas podem ser esmagadoras às vezes e não devem manter alguém fora do campo. Uma abordagem que funcionou para mim foi fazer minha leitura em paralelo à codificação. Por exemplo, tente criar um perceptron de camada única (o tipo mais simples de rede neural) do zero para entender completamente o que você leu nos livros.

Combo de aprendizagem: livros, cursos e código.

Dica 2: Aplique as metodologias científicas que você aprendeu.

Existem também inúmeros cursos on-line e mestrados com diferentes pesos teóricos e práticos cobrindo os fundamentos da aprendizagem de máquina ML. Minhas escolhas favoritas são:

O objetivo aqui não é memorizar fórmulas e derivações nem ler todas as páginas desses livros e palestras. Você deve procurar capturar conceitos fundamentais que a maioria dos modelos e algoritmos aborda de maneiras diferentes , por exemplo, camadas de saída em redes neurais, gradiente de fuga, relações sinal / ruído. Obter a capacidade de relacionar problemas com esses fundamentos fará de você um bom cientista de dados aplicado, que muitos empregadores gostariam de ter.

Pesquisa para fazer ciência

Dica 3: escolha a metodologia certa para a configuração e o problema da sua empresa.

A verdadeira habilidade de um cientista de dados é saber quais tecnologias e metodologias de aprendizado de máquina são necessárias para responder às questões de negócios em questão. O campo está crescendo durante a última década e a sede contínua de conhecimento é necessária para brilhar como profissional de ciência de dados. Eu aconselho vivamente a ler tanto os trabalhos acadêmicos publicados quanto os blogs de ML / AI de diferentes empresas de tecnologia e personalidades-chave no campo. Isso pode ser útil quando você é solicitado a fornecer soluções para declarações de problemas abstratos que não fornecem uma solução imediata. Encontrar a solução certa, pesquisando o que está por aí, é 80% do trabalho realizado. Andrej Kárpáthy muito bem disse na classe Stanford cs231n , “não seja um herói”. Na minha equipe, não subestimamos o esforço e o tempo que os outros dedicaram para encontrar a arquitetura que atualmente funciona melhor. Em vez de criar nossa própria arquitetura para um problema comum, importamos bibliotecas, baixamos modelos pré-treinados e os ajustamos em nossos dados. O mundo dos negócios espera que você entregue (e falhe) rapidamente , portanto, quando possível, você não deve reinventar a roda, mas ficar de pé sobre os ombros dos gigantes.

“Se eu vi mais longe, é ficar de pé sobre os ombros dos gigantes”, Isaac Newton (1675) (imagem de https://me.me/i/3487477 )

Trabalhe nas suas habilidades de programação

Os analistas de dados usam os dados de maneira a ajudar as empresas a tomar decisões informadas. Eles são mestres em ferramentas SQL, Excel e de visualização, como o Tableau ou o Power BI. Por outro lado, os cientistas de dados precisam construir modelos robustos para extrapolar e resolver problemas de negócios em escala. Portanto, eles são obrigados a desenvolver suas habilidades de programação. Eu não estava codificando desde os 10 anos com um capuz, mas nunca era tarde demais para eu começar a aprender a codificar. Na universidade, aprendi Aprendizado de Máquina no Matlab e codifiquei em JavaScript para diferentes projetos de trabalho, mas era importante praticar os caminhos da pítons.

O Python está se tornando a linguagem de codificação mais popular do mundo e tem inúmeras bibliotecas testadas para a ciência de dados que são continuamente atualizadas. Sem surpresa, a maioria das equipes de ciência de dados, incluindo a minha, está procurando por usuários Python. Então, se você não conhece o Python, inscreva-se em um curso online e aprenda o básico para seguir em frente. Você não deve ignorar os guias de estilo como PEP8 e mostrar ao paciente, pois a prática trará os resultados desejados. Além disso, aprender a usar o Jupyter será fundamental para um fluxo de trabalho mais rápido e exploração de dados / modelos.

Dica 4: Pratique prática e prática para habilidades de programação mais rápidas e melhores.

Porque programação te dá poderes mágicos

Participar de hackathons, participar de competições de kaggle, trabalhar em projetos de codificação pessoal são maneiras diferentes de melhorar suas habilidades de programação. Identificar ou envolver-se em oportunidades de ciência de dados que resultam dos resultados de sua análise pode ser uma maneira de ganhar experiência em sua função atual. Algoritmos para previsão e detecção de anomalias podem ser outros projetos que você pode pedir para trabalhar, mesmo como parte de seu desenvolvimento como analista. Lembro que meu primeiro projeto de ciência de dados na indústria foi um algoritmo para preencher automaticamente as consultas de pesquisa em um site de comércio eletrônico . Este projeto foi iniciado por algumas análises interessantes sobre pesquisas e cestas de compras que relatei enquanto ainda era analista júnior.

Adquira habilidades de engenharia de software

Habilidades de engenharia de software se tornam necessárias quando você quer que seus modelos vejam a luz de produção. Cultivar uma atitude de codificação que vise a reprodutibilidade de projetos e resultados através da automação é fundamental, tanto por razões metodológicas como legais. Em uma empresa com uma cultura de ciência de dados madura, alguém pode criar o protótipo, outra pessoa pode escrever o código de produção e outra pessoa pode implantá-lo. Na realidade, embora, e independentemente do tamanho da empresa, é improvável que você tenha todo o suporte necessário e saber apenas as estatísticas não será suficiente para entregar um projeto de ciência de dados.

Dica 5: automatize as etapas do seu projeto o mais cedo possível.

Portanto, uma lista inicial de dados científicos pode ser assim:

  • Pipelines de dados reproduzíveis (por exemplo, em faísca e python) : Você já teve que reproduzir uma análise que você fez antes? Criar um fluxo de dados lógico (por exemplo, raw (dados imutáveis) -> intermediário (trabalho em andamento) -> processado (recursos finais)) e usando Makefiles irá poupar você e seus colegas por muito tempo. Minha equipe e eu somos grandes fãs do cookiecutter , que oferece uma estrutura lógica de projeto como esta.
  • Automação de ponta a ponta de treinamento e pontuação : Um modelo é na maioria das vezes um organismo vivo, novas previsões são necessárias e os dados podem mudar. Isso se traduz em reciclagem, pontuação e refinamento. É necessário, então, colocar seus parâmetros de modelo, segredos e sementes aleatórias em arquivos de configuração, dividir um projeto do DS em elementos diferentes e aplicar modularidade, por exemplo, criando uma biblioteca de recursos compartilhada que pode ser usada durante o treinamento e a pontuação.
  • Cobertura de teste de unidade : Aposto que você gostaria de ter um sono tranquilo e férias ininterruptas. Então, é importante escrever testes para seus projetos, a fim de garantir robustez.
  • Construindo uma API para fornecer previsões : Para lançar suas idéias e modelos, você precisa ter uma prova de conceito e, em muitos casos, isso é equivalente a uma API REST. Se você não se incomoda em usar outro idioma além do Python, pode usar o Flask e o Flasgger que vêm com a Swagger UI . O Swagger será útil para documentar e visualizar seus serviços da Web RESTful.
  • Containerização de uma solução de ciência de dados para implantação ou ambiente de produção do ECS : O Docker permite que você isole projetos e suas dependências, mova modelos entre ambientes e execute seu código exatamente da mesma maneira sempre obtendo 100% de reprodutibilidade. Isso ajudará sua colaboração com DevOps e engenheiros, pois eles podem usar seus contêineres como uma caixa preta sem precisar conhecer a ciência de dados.

Alguns itens de tick-off na lista de programação de um cientista de dados

Traduzir ciência para domínio de idioma

Como pessoa de dados e especialista no assunto, você pode superar os bloqueadores, como uma empresa em falta ou uma definição de KPI, localizando proxies em dados ou tornando-se um fator latente que você aprende com o ML. A ciência de dados geralmente traz transtornos para uma empresa e, como resultado, você precisará apresentar suas ideias à liderança sênior para obter o suporte e os recursos apropriados. Alguém poderia dizer que tornar um algoritmo compreensível para todos os interessados no negócio é uma forma de arte. Aprender a traduzir o que construí para mostrar sua importância para os outros é algo que estou constantemente tendo que aprender e reaprender. Como Rebecca Pope , atual chefe de ciência de dados e engenharia da KPMG, enfatizou na conferência Women of Silicon Roundabout: “Lembre-se sempre de que você (não seu código) é impactante. As pessoas não compram algoritmos, confiam em você e em suas habilidades ”. Portanto, garanta que você preste atenção e tempo à capacidade de traduzir matemática em uma narrativa visual específica para sua indústria vertical.

Dica 6: comunique seu trabalho com termos de sua indústria vertical.

Um cientista de dados que explica a aprendizagem profunda. (imagem de https://memegenerator.net/img/instances/63241330.jpg )

Hora de crescer

Estar em uma profissão recém-formada é mais excitante do que difícil. A Zoopla me deu a oportunidade de trabalhar em uma talentosa equipe de ciência de dados e trabalhar com pessoas que eu possa aprender me ajuda a atingir meus objetivos profissionais mais rapidamente. Encontrar uma equipe que lhe permita crescer e ter uma mente como uma esponja acelerará sua jornada rumo ao sucesso. Tive a sorte de meu gerente de linha, Jan Teichmann , ter a experiência de me orientar para se tornar um cientista de dados altamente qualificado. Idealmente, seu gerente entende seu trabalho do dia a dia e para onde você quer chegar. Caso contrário, encontre a orientação extra que você pode precisar fora de sua equipe ou empresa, por exemplo, de um ex-aluno ou professor de sua universidade ou de um cientista de dados amigável de sua rede. Reuniões e conferências também podem ser inspiradoras e ajudá-lo nessa tarefa.

Dica 7: Lembre-se de que nenhum livro ou curso seria tão importante quanto o mentoring.

Meme personalizado (Leia com a voz de Don Corleone)

Resumindo , o conjunto de habilidades que você deve focar para iniciar uma carreira em ciência de dados é a estatística, cálculo multivariado e álgebra linear, aprendizado de máquina, habilidades de programação, engenharia de software e habilidades de visualização .

Diagrama de Venn da ciência dos dados por Steven Geringer Raleigh, NC.

Principais dicas para alcançar seu objetivo:

  1. Concentre-se em suas habilidades, em vez de seu plano de fundo
  2. Aplique as metodologias científicas que você aprendeu.
  3. Escolha a metodologia correta para a configuração e o problema da sua empresa.
  4. Pratique prática e prática para habilidades de programação mais rápidas e melhores.
  5. Automatize as etapas do seu projeto o mais cedo possível.
  6. Comunique seu trabalho com termos de sua indústria vertical.
  7. Lembre-se de que nenhum livro didático ou curso será tão importante quanto o mentoreamento.

O que você está esperando? Aprecie a oportunidade e faça o esforço para se tornar o que você está sonhando. 😉

Sinta-se à vontade para compartilhar o amor da ciência de dados e se conectar comigo no LinkedIn . Agradecimentos especiais a Jan Teichmann por seu feedback e apoio!