Atualmente, estou trabalhando como cientista de dados em uma empresa de varejo (meu primeiro emprego como DS, portanto, essa pergunta pode ser resultado da minha falta de experiência). Eles têm um grande estoque de projetos de ciência de dados realmente importantes que teriam um grande impacto positivo se implementados. Mas.
Os pipelines de dados são inexistentes na empresa; o procedimento padrão é que eles me entreguem gigabytes de arquivos TXT sempre que eu precisar de alguma informação. Pense nesses arquivos como logs tabulares de transações armazenadas em notação e estrutura misteriosas. Nenhuma informação inteira está contida em uma única fonte de dados e eles não podem me conceder acesso ao banco de dados do ERP por "razões de segurança".
A análise inicial dos dados para o projeto mais simples requer uma brutal e torturante disputa de dados. Mais de 80% do tempo gasto em um projeto é tentar analisar esses arquivos e cruzar fontes de dados para criar conjuntos de dados viáveis. Isso não é um problema de simplesmente manipular dados ausentes ou pré-processá-los; trata-se do trabalho necessário para criar dados que podem ser manipulados em primeiro lugar ( solucionável por dba ou engenharia de dados, não ciência de dados? ).
1) Parece que a maior parte do trabalho não está relacionada à ciência de dados. Isso é preciso?
2) Sei que não é uma empresa orientada a dados com um departamento de engenharia de dados de alto nível, mas é minha opinião que, para criar um futuro sustentável para projetos de ciência de dados, são necessários níveis mínimos de acessibilidade de dados . Estou errado?
3) Esse tipo de configuração é comum a uma empresa com sérias necessidades de ciência de dados?
fonte
Respostas:
Parece que a maior parte do trabalho não está relacionada à ciência de dados. Isso é preciso?
sim
Sei que não é uma empresa orientada a dados com um departamento de engenharia de dados de alto nível, mas é minha opinião que a ciência de dados requer níveis mínimos de acessibilidade de dados. Estou errado?
Você não está errado, mas essas são as realidades da vida real.
Esse tipo de configuração é comum para uma empresa com sérias necessidades de ciência de dados?
sim
Do ponto de vista técnico, você precisa procurar soluções ETL que podem facilitar sua vida. Às vezes, uma ferramenta pode ser muito mais rápida que a outra para ler determinados dados. Por exemplo, o readxl de R é uma ordem de mangnitudes mais rápida que os pandas de python na leitura de arquivos xlsx; você pode usar o R para importar os arquivos e salvá-los em um formato compatível com Python (parquet, SQL, etc.). Eu sei que você não está trabalhando em arquivos xlsx e não faço ideia se você usa Python - foi apenas um exemplo.
Do ponto de vista prático, duas coisas:
Primeiro de tudo, entenda o que é tecnicamente possível. Em muitos casos, as pessoas que você conhece são analfabetas de TI que se preocupam com considerações de negócios ou conformidade, mas não têm noção do que é e do que não é viável do ponto de vista de TI. Tente falar com os DBAs ou com quem gerencia a infraestrutura de dados. Entenda o que é tecnicamente possível. ENTÃO, só então, tente encontrar um compromisso. Por exemplo, eles não dão acesso ao sistema deles, mas presumo que exista um banco de dados por trás dele? Talvez eles possam extrair os dados para outros formatos? Talvez eles possam extrair as instruções SQL que definem os tipos de dados, etc?
É mais provável que os empresários o ajudem se você puder argumentar que isso é do seu interesse. Se eles nem acreditam no que você está fazendo, azar ...
fonte
Essa é uma situação que muitos blogs, empresas e jornais reconhecem como algo real em muitos casos.
Neste artigo, disputa de dados para big data: desafios e oportunidades , há uma citação sobre ele
Além disso, você pode ler a fonte dessa citação neste artigo do The New York Times, para cientistas de big data, 'trabalho de zelador' é um obstáculo fundamental para insights
Infelizmente, o mundo real não é como o Kaggle. Você não obtém um arquivo CSV ou Excel, basta iniciar o Data Exploration com um pouco de limpeza. Você precisa encontrar os dados em um formato que não seja adequado às suas necessidades.
O que você pode fazer é usar os dados antigos o máximo possível e tentar adaptar o armazenamento de novos dados em um processo que será mais fácil para você (ou um futuro colega) trabalhar.
fonte
Essa é a realidade de qualquer projeto de ciência de dados. O Google realmente mediu e publicou um artigo "Dívida técnica oculta em sistemas de aprendizado de máquina" https://papers.nips.cc/paper/5656-hidden-technical-debt-in-machine-learning-systems.pdf
O resultado do trabalho também reflete minha experiência. Grande parte do tempo é gasta na aquisição, limpeza e processamento de dados.
fonte
Parece que a maior parte do trabalho não está relacionada à ciência de dados. Isso é preciso?
A disputa de dados está definitivamente na descrição do trabalho do Data Scientist. Em algum nível, você precisa entender o processo de geração de dados para usá-lo para gerar soluções. Certamente, alguém especializado em ETL poderia fazê-lo com mais rapidez / eficiência, mas receber despejos de dados não é incomum no mundo real. Se você não gostar desse aspecto da ciência de dados, pode haver uma oportunidade de trabalhar mais de perto com os recursos de TI para obter os dados adequadamente adquiridos em um armazém ao qual você tem acesso. Como alternativa, você pode encontrar um trabalho que já tenha dados em melhor ordem.
Sei que não é uma empresa orientada a dados com um departamento de engenharia de dados de alto nível, mas é minha opinião que a ciência de dados requer níveis mínimos de acessibilidade de dados. Estou errado?
Eu acho que o nível mínimo é de arquivos txt. Se você tiver acesso aos dados por meio de arquivos de texto, deverá ter acesso aos dados no banco de dados (repita isso com superiores).
Esse tipo de configuração é comum para uma empresa com sérias necessidades de ciência de dados?
Sim. Você é o CIENTISTA de dados; você é o especialista. Faz parte do seu trabalho educar outras pessoas sobre as ineficiências da estrutura de dados atual e como você pode ajudar. Dados que não são utilizáveis não ajudam ninguém. Você tem a oportunidade de melhorar as coisas e moldar o futuro da empresa.
fonte
Como outro iniciante recente em Data Science, posso apenas acrescentar que não acho que sua experiência seja única, minha equipe de cerca de 10 aparentemente não realiza nenhum DS há mais de um ano (um pequeno projeto que ocupava 2 dos equipe). Isso se deve à promessa de um pipeline eficaz em que a equipe está trabalhando, mas ainda não está fornecendo os dados. Aparentemente, a retenção foi bastante ruim no passado e há uma promessa contínua de um ambiente sagrado do MS Azure para futuros projetos do DS.
Então, para responder:
1) Sim totalmente preciso
2) Não, você está correto, mas é uma batalha difícil obter acesso aos dados que você deseja (se houver).
3) Tenho certeza que existem empresas por aí que são melhores que outras. Se você não aguenta mais na empresa atual, 2 anos é um período decente, comece a procurar coisas mais brilhantes (tenha cuidado ao expressar seu desejo de deixar o emprego atual, algo como "procurar trabalhar de forma mais dinâmica" equipe "soaria melhor do que" minha antiga empresa não me fornecerá dados ").
fonte
Se você olhar para isso da perspectiva de "este não é o meu trabalho, por que devo fazê-lo" , esse é um problema geral bastante comum, não específico da ciência de dados. Por fim, seu trabalho é fazer o que o chefe manda, mas, na prática, há poucas razões para o chefe ser ditatorial a respeito disso e geralmente eles podem ser persuadidos. Ou pelo menos eles lhe darão uma explicação sincera de por que tem que ser assim. Mas, no que diz respeito à apelação de autoridade, não existe uma definição oficial de "Ciência de dados" que diga que você só pode fazer no máximo X% de limpeza de dados. A autoridade é quem está pagando a você, desde que ele tenha o direito legal de parar de pagar.
Você também pode olhar de outra perspectiva: esse é um bom uso do seu tempo? Parece que você aceitou um trabalho para executar algumas tarefas (que você quer dizer com "ciência de dados"), mas está tendo que fazer outra coisa (que você chama de "disputa de dados"). Descrições de cargos e sentimentos pessoais estão um pouco fora de questão aqui, porque há algo mais pertinente: a empresa provavelmente paga uma boa quantia de dinheiro para fazer algo que somente você pode fazer (a ciência de dados). Mas é fazer com que você faça outras coisas, o que poderia ser feito por outras pessoas que são uma combinação de mais capaz, mais motivado ou menos caro. Se a disputa de dados puder ser feita por alguém que ganha metade do seu salário, não faz sentido pagar duas vezes mais para fazer a mesma coisa. Se isso pudesse ser feito mais rapidamentepor alguém que pagou o mesmo salário, a mesma lógica se aplica. Portanto, é um desperdício de recursos (especialmente dinheiro) ter a empresa atribuir esta tarefa a você. A partir dessa perspectiva, você pode achar muito mais fácil fazer com que seus superiores vejam o seu lado das coisas.
É claro que, no final do dia, alguém precisa fazer uma disputa de dados. Pode ser que a maneira mais barata, rápida e fácil de fazer isso - a melhor pessoa para o trabalho, seja você. Nesse caso, você está meio sem sorte. Você pode tentar reivindicar que não faz parte do seu contrato, mas quais são as chances de eles serem ingênuos o suficiente para colocar algo tão específico no contrato?
fonte
Talvez para simplificar:
Você precisa trabalhar e entender seus dados - o que inclui coisas simples, desde a correção de inconsistências (NULLs, cadeias vazias, "-") até a compreensão de como um dado passa da coleta para a exibição. O processamento inclui o conhecimento das mesmas informações, portanto é parcialmente um trabalho que você teria que fazer de qualquer maneira.
Agora, parece que essa empresa poderia se beneficiar da criação de algum tipo de instância gratuita do MySQL (ou similar) para armazenar seus dados. Tentar ser flexível ao projetar seu código de disputa também é uma boa idéia - ter um conjunto intermediário de dados processados que eu acho que seria útil se você puder (e não puder fazê-lo no MySQL).
Mas é claro que você ainda está configurando as coisas do zero. Este não é um processo fácil, mas essa "experiência de aprendizado" é pelo menos boa para colocar no seu currículo.
fonte
1) Parece que a maior parte do trabalho não está relacionada à ciência de dados. Isso é preciso? Na minha opinião, a Data Science não pode retirar-se da disputa de dados. Mas, como você disse, a pergunta viria sobre a porcentagem de Disputa de Dados necessária para um Cientista de Dados. Depende da largura de banda das organizações e do interesse da pessoa em fazer esse trabalho. Na minha experiência de 15 a 16 anos como DS, sempre gastei cerca de 60% a 70% em atividades de organização de dados e passei no máximo 15% do tempo em análises reais. então atenda sua ligação.
2) Sei que não é uma empresa orientada a dados com um departamento de engenharia de dados de alto nível, mas é minha opinião que a ciência de dados requer níveis mínimos de acessibilidade de dados. Estou errado? Novamente, depende das políticas de segurança da organização. Eles não podem deixar tudo para você e têm seus próprios problemas de segurança para revelar os dados a uma pessoa que é funcionário temporário (desculpe-me por usar estas palavras :-()
3) Esse tipo de configuração é comum a uma empresa com sérias necessidades de ciência de dados? Sinto que esse tipo de empresa exige mais atenção dos cientistas de dados para fazer com que a modelagem orientada a dados seja o futuro para sustentar seus negócios. :-)
Eu dei minhas contribuições para pensar em negócios, em vez de pontos de vista técnicos. :-) Espero que eu seja claro na minha escolha de palavras.
fonte
Em sua palestra "Big Data são quatro problemas diferentes", o vencedor do prêmio Turing Michael Stonebraker menciona essa questão em particular como um grande problema ( vídeo , slides )
Ele diz que existem vários problemas em aberto nessa área: Ingerir, Transformar (por exemplo, euro / dólar), Limpar (por exemplo, 99 / Nulo), Mapeamento de esquema (por exemplo, salário / salário), Consolidação de entidades (por exemplo, Mike Stonebraker / Michael Quebra-pedra)
Existem várias empresas / produtos que tentam resolver esse problema, como Tamr, Alteryx, Trifacta, Paxata e Google Refine trabalhando para resolver esse problema.
Até essa área amadurecer, grande parte do trabalho de cientista de dados será de fato uma disputa de dados.
fonte