TL;DR é um post para perguntas/respostas sobre Data Science e como entrar na profissão e se desenvolver nela. No artigo irei analisar os princípios básicos e FAQ e estou pronto para responder às suas perguntas específicas - escreva nos comentários (ou em mensagem privada), tentarei responder tudo dentro de alguns dias.
Com o advento da série de notas “Data Satanista”, muitas mensagens e comentários vieram com dúvidas sobre como começar e onde cavar, e hoje analisaremos as principais habilidades e dúvidas que surgiram após as publicações.
Tudo o que é afirmado aqui não pretende ser a verdade última e é a opinião subjetiva do autor. Veremos as principais coisas que parecem mais importantes no processo.
Por que exatamente isso é necessário?
Para que o objetivo seja melhor alcançável, para que pareça pelo menos um pouco específico - você quer se tornar um DS ou Cientista Pesquisador no Facebook/Apple/Amazon/Netflix/Google - observe os requisitos, idiomas e habilidades necessárias especificamente para qual posição. Qual é o processo de contratação? Como é um dia típico nesse papel? Qual é o perfil médio de uma pessoa que trabalha lá?
Freqüentemente, o quadro geral é que uma pessoa não entende exatamente o que deseja e não está totalmente claro como se preparar para essa imagem pouco clara - portanto, vale a pena ter pelo menos um plano aproximado do que exatamente você deseja.
Concretize a visão do objetivo atual
Mesmo que isso mude ao longo do caminho, e geralmente seja normal mudar os planos no decorrer da jogada, vale a pena ter um objetivo e focar nele, avaliando e repensando periodicamente.
Será ou ainda é relevante?
No momento em que você cresce em uma posição.
Imagine que antes de ocupar o cargo você precisa obter um doutorado, trabalhar por 2 a 3 anos na indústria e geralmente cortar o cabelo enquanto medita em um mosteiro - a situação com a Ciência de Dados não será a mesma de antes com os economistas e advogados? Tudo mudará irreconhecível na área que você deseja seguir?
Não há uma boa chance de que todos corra para lá agora e vejamos uma imagem onde há uma grande camada de pessoas tentando entrar na profissão - e haverá apenas uma escassa posição inicial.
Pode valer a pena considerar as tendências atuais ao escolher um caminho, não apenas o estado atual do mercado de trabalho, mas também a sua ideia de como ele está mudando e onde está.
Por exemplo, o autor não planejava se tornar um satanista, mas durante seu doutorado trabalhou em projetos de terceiros que tinham fortes habilidades em comum com o DS, e no final da pós-graduação mudou naturalmente para o meio ambiente, vendo um bom posição.
Se no decorrer da peça for necessário mudar para outro lugar - porque agora há mais movimento e todas as ações mais interessantes estão acontecendo, então nos moveremos para lá naturalmente.
Análise de habilidades
Estas são categorias condicionais de competências que me parecem fundamentais para um trabalho pleno e eficaz em SD. Destacarei o inglês separadamente - aprenda tudo o que você faz em CS. A seguir estão as categorias principais.
Programação/Script
Com quais idiomas você tem certeza de se familiarizar? Pitão? Java? Script de shell? Lua? SQL? C++?
O que exatamente você precisa fazer e por que em termos de programação - a gama de posições aqui varia muito.
Por exemplo, muitas vezes tenho que implementar lógicas complexas, consultas, modelos, análises e, em geral, desenvolver sistemas interpretados, mas quase nunca há requisitos para a velocidade do código, exceto os mais gerais e razoáveis.
Portanto, meu conjunto de habilidades é muito diferente daqueles que escrevem a biblioteca Tensorflow e pensam em otimizar o código para uso eficiente do cache l1 e coisas semelhantes, então veja exatamente o que você precisa e avalie o caminho certo para aprender.
Por exemplo, para python, as pessoas já inventam
Certamente, já existem conselhos experientes e boas fontes para as suas necessidades – você precisa decidir sobre uma lista e começar a trabalhar nela.
Entendendo os processos de negócios
Você não pode ir a lugar nenhum sem ele: você precisa entender por que é necessário neste processo, o que está fazendo e por quê. Muitas vezes é isso que pode economizar muito tempo, maximizar seu benefício e não desperdiçar tempo e recursos com besteiras.
Normalmente, eu me faço as seguintes perguntas:
- O que exatamente eu faço na empresa?
- Por quê?
- Quem irá usá-lo e como?
- Que opções eu tenho?
- Quais são os limites dos parâmetros?
Aqui estão mais alguns detalhes sobre os parâmetros: muitas vezes você pode mudar bastante o cenário de trabalho se souber que algo pode ser sacrificado: por exemplo, interpretabilidade ou vice-versa, alguns por cento não desempenharão um papel aqui e temos um processo muito rápido solução, e o cliente precisa dela, porque ele paga pelo tempo que o pipeline está rodando na AWS.
Matemática
Aqui você pensa e entende tudo sozinho - sem conhecimento de matemática básica você nada mais é do que macacos com uma granada (desculpe Random Forest) - então você precisa entender pelo menos as coisas básicas. Se eu fosse compilar uma lista mínima, incluiria:
- Álgebra linear - um grande número de recursos são fáceis de pesquisar no Google, procure o que melhor lhe convier;
- Análise matemática - (pelo menos nos dois primeiros semestres);
- A teoria da probabilidade está em toda parte no aprendizado de máquina;
- Combinatória - na verdade é complementar à teoria;
- Teoria dos grafos - pelo menos BASIC;
- Algoritmos – pelo menos para os dois primeiros semestres (ver as recomendações de Cormen no seu livro);
- Mathlogic - pelo menos básico.
Análise e visualização prática de dados
Uma das coisas mais importantes é não ter medo de sujar a mão com os dados e realizar uma análise abrangente do conjunto de dados, projetar e criar uma visualização rápida dos dados.
A análise exploratória de dados deve simplesmente se tornar algo natural, como todas as outras transformações de dados e a capacidade de criar um pipeline simples a partir de nós unix (veja artigos anteriores) ou escrever um caderno legível e compreensível.
Gostaria de mencionar a visualização: é melhor ver uma vez do que ouvir cem vezes.
Mostrar um gráfico para um gerente é cem vezes mais fácil e claro do que um conjunto de números, então matplotlib, seaborn e ggplot2 são seus amigos.
Habilidades interpessoais
É igualmente importante ser capaz de comunicar as suas ideias, bem como os resultados e preocupações (etc.) a outras pessoas - certifique-se de que consegue definir claramente a tarefa, tanto em termos técnicos como comerciais.
Você pode explicar aos colegas, gerentes, superiores, clientes e qualquer pessoa que precise o que está acontecendo, quais dados você está usando e quais resultados obteve.
Seus gráficos e documentação devem ser lidos sem você. Ou seja, você não precisa ir até você para entender o que está escrito ali.
Você pode fazer uma apresentação clara para transmitir a ideia e/ou documentar o projeto/seu trabalho.
Você pode transmitir sua posição de maneira fundamentada e sem emoção, dizer “sim/não” ou questionar/apoiar uma decisão.
treinamento
Existem muitos lugares diferentes onde você pode aprender tudo isso. Vou dar uma pequena lista - tentei de tudo e, para ser sincero, cada item tem seus prós e contras. Experimente e decida o que combina com você, mas eu recomendo fortemente tentar várias opções e não ficar preso a uma.
- Cursos online: coursera, udacity, Edx, etc;
- Novas escolas: online e offline - SkillFactory, ShAD, MADE;
- Escolas clássicas: programas de mestrado universitário e cursos de formação avançada;
- Projetos - você pode simplesmente selecionar as tarefas de seu interesse e recortá-las, enviando-as para o github;
- Estágios - aqui é difícil sugerir alguma coisa, é preciso procurar o que está disponível e encontrar opções adequadas.
Isso é necessário?
Para concluir, provavelmente acrescentarei três princípios pessoais que tento seguir sozinho.
- Deve ser interessante;
- Trazer prazer interior (= pelo menos não causar sofrimento);
- "Para ser seu."
Por que eles? É difícil imaginar fazer algo todos os dias e não gostar ou não se interessar. Imagine que você é médico e odeia se comunicar com as pessoas - isso, é claro, pode funcionar de alguma forma, mas você ficará constantemente incomodado com o fluxo de pacientes que querem lhe perguntar algo. Isso não funciona a longo prazo.
Por que mencionei especificamente o prazer interno? Parece-me que isso é necessário para um maior desenvolvimento e, em princípio, para o processo de aprendizagem. Gosto muito quando consigo completar algum recurso complexo e construir um modelo ou calcular um parâmetro importante. Gosto quando meu código é esteticamente bonito e bem escrito. Portanto, aprender algo novo é interessante e não requer diretamente nenhuma motivação significativa.
“Ser seu” é a mesma sensação de que isso é basicamente o que você queria fazer. Eu tenho uma pequena história. Desde criança me interesso por rock (e metal - SALMON!) e, como tantos outros, queria aprender a tocar e só. Acontece que eu não tinha audição nem voz - isso não me incomodou em nada (e devo dizer que isso não incomoda muitos artistas no palco), e quando eu ainda estava na escola ganhei um violão... e ficou claro que eu realmente não gosto de ficar sentado por horas brincando. Foi difícil, sempre me pareceu que estava saindo algum tipo de besteira - eu não sentia nenhum prazer com isso e apenas me sentia péssimo, estúpido e completamente incapaz. Eu literalmente me forcei a sentar para as aulas e em geral não era uma boa comida para o cavalo.
Ao mesmo tempo, eu conseguia ficar sentado tranquilamente por horas desenvolvendo algum brinquedo, usando um script para animar algo em flash (ou outra coisa) e estava extremamente motivado para finalizar elementos do jogo ou lidar com a mecânica de movimento e/ou conectando bibliotecas de terceiros, plug-ins e tudo mais.
E em algum momento percebi que tocar violão não é minha praia e que gosto muito de ouvir, não de tocar. E meus olhos brilhavam quando eu escrevia jogos e códigos (ouvia todo tipo de metal naquele momento) e era disso que eu gostava na época, e era isso que deveria estar fazendo.
Você tem alguma outra dúvida?
É claro que não poderíamos abordar todos os tópicos e perguntas, então escreva comentários e envie-me uma mensagem privada - fico sempre feliz em ter perguntas.
Fonte: habr.com