Como foi estudar Ciência de Dados em 2019


Este artigo é uma tradução do artigo de Thomas Nild Como é Aprender Ciência de Dados em 2019




Visão da floresta (aleatória) através de árvores (decisões)


Thomas nield Thomas Nield Segue Fev 4
10 minutos para ler

A inspiração para o seguinte foi um artigo sobre como é aprender o JavaScript em 2016. Não leve este artigo muito a sério. Isso é sátira, então não a trate como um conselho de vida. Como todas as dicas, algumas são úteis e outras são estúpidas. Este texto é apenas uma opinião muito semelhante à definição de ciência de dados.


Eu ouvi isso por conselhos - para você. Obrigado por me conhecer e obrigado pelo café. Você conhece ciência de dados, certo?


Bem, eu sei. No ano passado, fui ao PyData e O'Reilly Strata (conferências sobre análise de dados - aprox. Por.) E na minha conta existem alguns modelos.


Sim, ouvi dizer que na semana passada você fez uma ótima apresentação sobre aprendizado de máquina para nossa empresa. Meu colega disse que foi muito útil.


Classificador de fotos de gatos e cachorros? Sim obrigado.


Em resumo, decidi que não posso mais ignorar ciência de dados , inteligência artificial e aprendizado de máquina . Trabalhei como analista e consultor por muitos anos, reorganizando números no Excel, criando tabelas e gráficos dinâmicos. Mas o tempo todo eu me deparo com artigos que dizem que a IA aceita empregos, mesmo para trabalhadores de colarinho branco como eu.



É o suficiente para se tornar um cientista de dados confiante (a partir de 2013). Bastante alcançável, hein? ( Fonte: Swami Chandrasekaran )


Eu pesquisei como me tornar uma data de cientista, encontrei esse "plano" e aprendi sobre a crise existencial. Deixe-me perguntar: eu realmente tenho que dominar tudo neste diagrama para me tornar uma data de cientista?


Vou responder brevemente - não. Ninguém mais usa esse plano. Ele é 2013. Ele nem tem TensorFlow, e alguns caminhos podem simplesmente ser cruzados. Eu acho que já naquela época a “ciência de dados” se tornou mais complexa e especializada. Seria melhor usar uma abordagem diferente.


Ok, um pouco melhor. Então, eu deveria voltar para a escola? Li em algum lugar que muitos cientistas têm pelo menos um mestrado. Devo obter um mestrado em ciência de dados?


Senhor, por que você precisa disso? Em geral, você deve ter cuidado com as áreas de treinamento "ciência de dados", que em geral redesenharam os cursos "análise de negócios". Além disso, os acadêmicos modernos tendem a ficar para trás do setor e podem ensinar tecnologia ultrapassada. Para se manter atualizado, é melhor estudar sozinho na Coursera, Stepik ou na Khan Academy.


Aqui está como.


Embora se você for para a faculdade, talvez para métodos físicos ou matemáticos de operações de pesquisa? Difícil dizer. Curiosamente, muitos bons cientistas que conheço vêm dessas áreas. Você pode encontrar um bom programa de treinamento em ciência de dados. Não sei, fale com esse doutor em ciências, ele lhe dirá sua posição.


Então, como você começa a auto-educação? Alguém no LinkedIn disse que os interessados ​​em ciência de dados deveriam começar explorando o Linux. Então, no Twitter, li que outro cara insistia que a data em que os cientistas estudariam Scala, não Python ou R.


Bem, esse cara congelou no LinkedIn. Quanto ao "especialista" de Scala, se você mergulhar de cabeça, por favor, mas não nesta piscina. Confie em mim. Já 2019 no quintal. O Scala não existe há muito tempo na comunidade de ciência de dados. E se fosse, o PySpark não teria aparecido. E certamente não ouça descolados como o cara que sempre fala sobre Kotlin.


Ok! E o R? Parece que as pessoas gostam disso.


R é bom em modelagem matemática e nada mais. Com o Python, você obtém muito mais do seu investimento em treinamento e pode executar uma variedade maior de tarefas, como coletar dados e configurar serviços da Web.


Mas R ainda ocupa um lugar bastante alto em Tiobe , e ele tem muitos seguidores e recursos. Use-o - se machucar?


Olha, você pode usar R. Se você está interessado apenas em matemática, é claro que é discutível, mas melhor, mas ainda melhor funciona com o Tidyverse . Mas a ciência de dados ainda é muito, muito mais que matemática e estatística. Acredite, em Python, em 2019, você pode ir muito mais longe.


Ok, então ... Aparentemente, estou começando a aprender Python.


Você não vai se arrepender.


Python é complicado? Vou ficar à tona com ele quando os robôs assumirem?


Bem, é claro, Python é uma linguagem bastante simples. Com ele, você pode automatizar muitas tarefas e criar nishtyaki legal . Mas você nem precisa de Python. A ciência de dados é muito mais do que scripts e aprendizado de máquina.


Como assim?


Bem, estas são apenas ferramentas. Você usa Python para obter informações de dados. Às vezes, exige aprendizado de máquina, mas na maioria dos casos não. Ciência de dados pode significar simplesmente criar um gráfico. Na verdade, você nem precisa aprender Python, basta usar o Tableau. Eles anunciam que podem "tornar todos na sua organização uma data para os cientistas" se apenas usarem o produto.



O Tableau está confiante de que pode resolver o problema de pessoal devido à falta de data dos cientistas.


Parar o que? Então, estou comprando uma licença para o Tableau e agora sou um cientista? Bem, vamos falar sobre esta oferta comercial com um toque de ceticismo. Talvez eu seja um ignorante, mas sei que a ciência de dados não está apenas criando belas visualizações. Eu também posso fazer isso no Excel.


Claro. No entanto, é preciso admitir que este é um ótimo marketing. Os gráficos são divertidos, é claro, mas eles perdem toda a dor e muito tempo que levam para limpar, processar, modificar e carregar dados.


Sim, e é por isso que suspeito que haja valor em aprender o código. Vamos falar sobre Python.


Espere um minuto, na verdade. Talvez você deva aprender Alteryx.


O que?


Há outro software chamado Alteryx que permite limpar, processar, modificar e baixar dados. Isso é ótimo porque usa Arrastar e Soltar para combinar dados e ...



O Alteryx também promete "ciência de dados" sem código.

Oh Deus, por favor pare. Não há mais arrastar e soltar. Quero aprender Python, não Alteryx ou Tableau.


Ok desculpe. Eu só estava tentando facilitar a sua vida, evitar a codificação. Talvez eu tenha feito isso também porque nossa empresa comprou licenças que devemos usar. Mas, em qualquer caso, para usar o Python, você precisa estudar várias bibliotecas, como o Pandas para gerenciar o DataFrame e o matplotlib para criar gráficos. Geralmente cruze o matplotlib. Use Plotly. Ele usa o d3.js e geralmente é muito melhor.


Eu conheço algumas das palavras que você disse. Mas o que é um DataFrame?


Bem, essa é uma estrutura de dados na forma de uma tabela com linhas e colunas. Você pode fazer todas essas transformações interessantes, tabelas dinâmicas e agregações com um DataFrame em Python.


Espere, então como isso difere do Excel? Eu tenho feito tudo isso desde a graduação na faculdade. Isso significa que eu já sou um cientista?


Se você se sente lisonjeado em se chamar assim, é claro. Eu declararia publicamente esse título autoproclamado toda vez que fosse a uma festa ou escrevesse um currículo.


Então, o que torna o Python diferente do Excel?


Python é diferente, pois tudo pode ser feito em um laptop Jupyter . Você pode realizar todas as etapas da análise de dados, e o laptop visualiza todas as etapas. É quase como escrever uma história que você possa compartilhar com outras pessoas. E a comunicação e as histórias, afinal, são uma parte muito importante da ciência de dados.


Soa como o PowerPoint. Eu já faço isso. Estou tão confusa.


Oh Deus não. Os laptops são muito mais automatizados e otimizados, e isso facilita o rastreamento de todas as etapas da análise. Mas se você pensar bem, lembrei-me de que algumas pessoas não gostam de laptops, porque o código nelas não é muito conveniente para reutilizar. É mais fácil distribuir o código entre os módulos fora dos laptops, se você precisar transformá-lo em um produto de software.


Então agora a ciência de dados também é desenvolvimento de software?


Talvez, mas não vamos nos distrair com isso. Há coisas muito mais urgentes que precisam ser aprendidas a princípio. Para fazer ciência de dados, você obviamente precisa de dados - dados.


Claro.


E não há nada melhor para um iniciante do que coletar dados na rede a partir das mesmas páginas da Wikipedia que podem ser despejadas no seu disco rígido.


Espere, o que estamos tentando alcançar novamente?


Bem, estamos tentando obter alguns dados para a prática. Raspar páginas da Web e analisá-las com a Beautiful Soup fornecerá toneladas de dados de texto não estruturados para trabalhar.


Estou confusa Acabei de ler um excelente livro SQL de 130 páginas e pensei em consultar tabelas, e não desmantelar a Internet. O SQL não é uma maneira típica de acessar dados?


Bem, podemos fazer muitas coisas interessantes com dados de texto não estruturados. Podemos usá-los para classificar o humor em mensagens de redes sociais ou para outro processamento de linguagem natural. O NoSQL é ótimo para armazenar esse tipo de dados, porque podemos armazenar grandes quantidades de dados sem nos preocupar em torná-los adequados para análise.


Eu ouvi o termo NoSQL. Então é SQL? Anti-SQL? Espere, acho que isso tem algo a ver com big data, certo?


Bem, primeiro, “big data” é de 2016. A maioria das pessoas não usa mais esse termo, então não é legal dizer isso. Como muitas tecnologias de campanha publicitária, ela ultrapassou seu pico de popularidade e encontrou aplicação em apenas alguns lugares. Mas o NoSQL é essencialmente o resultado do movimento de “big data” que alimentou plataformas como o MongoDB.


OK, mas de onde vem o nome “NoSQL”?


NoSQL significa "não apenas SQL" e suporta estruturas de dados fora das tabelas relacionais. No entanto, os bancos de dados NoSQL, como regra, não usam SQL, mas sua própria linguagem de consulta. Aqui está o MongoDB comparado ao SQL:



Oh meu Deus, isso é terrível. Então você diz que cada plataforma NoSQL tem sua própria linguagem de consulta? O que há de errado com o SQL?


Te peguei. Com o SQL, tudo está em ordem, exceto que já tem décadas. A mania de dados não estruturados tornou-se uma oportunidade de fazer algo novo e ampliar amplamente de maneiras anteriormente inacessíveis. No entanto, acho que mais e mais pessoas estão chegando à conclusão de que há um ponto em salvar o SQL . Isso simplifica bastante a análise. Tanto que muitas tecnologias NoSQL e "big data" foram embaralhadas para adicionar alguma forma de SQL . Afinal, o SQL é uma linguagem bastante universal, mesmo que seja difícil para algumas pessoas.



Uau, tudo bem. Então, percebi que aprender o NoSQL para mim, como data de um cientista, não é crítico, a menos que meu trabalho exija de outra forma. Parece que estou seguro sabendo apenas SQL.


Quanto mais penso nisso, mais acredito que sim, você está certo, mas apenas até ser atraído para se tornar um engenheiro de dados.


Engenheiro de dados?


Sim, a data dos cientistas era como se estivesse dividida em duas profissões. Os engenheiros de dados trabalham com sistemas de produção e ajudam a tornar os dados e modelos adequados para uso, mas estão menos envolvidos no aprendizado de máquina e na modelagem matemática, que, por sua vez, continua sendo a data dos cientistas. Provavelmente isso era necessário, pois a maioria dos RH e recrutadores não enxergam além do título de “Date Scientist” . Pense nisso: se você quer ser um engenheiro de dados, prestaria atenção especial ao aprendizado do Apache Kafka e não do NoSQL. O Apache Kafka agora é apenas uma bomba.
Agora, este diagrama de Venn o ajudará. Para obter o título “Date Scientist”, você precisa estar em algum lugar no círculo matemático / estatístico e, idealmente, no cruzamento com outra disciplina.



Diagrama de Venn da ciência de dados

Bem, agora não tenho idéia se quero ser um cientista ou engenheiro de dados. Vamos seguir em frente. Então, voltando, por que analisamos as páginas da Wikipedia?


Bem, eles servem como entrada para o processamento de linguagem natural e, com a ajuda deles, você pode fazer, por exemplo, bots de bate-papo.


Como é Tay da Microsoft? Esse bot será inteligente o suficiente para prever vendas e me ajudar a lançar novos produtos com a quantidade certa de estoque? Existe o risco de ele se tornar inevitavelmente racista?


Teoricamente, existe. Se você o alimentar com artigos de notícias, poderá criar um modelo que defina algumas tendências e, como resultado, faça recomendações sobre decisões de negócios. Mas isso é realmente difícil. Pense com cuidado, talvez essa não seja a melhor opção para começar.


Então, bem ... processamento de linguagem natural, bots de bate-papo e dados de texto não estruturados podem não ser para mim?


Talvez, mas lembre-se de que a ciência dos dados está em todo lugar agora. Empresas do Vale do Silício, como Google e Facebook, lidam com muitos dados não estruturados (como postagens em mídias sociais e artigos de notícias) e obviamente têm um grande impacto na definição de "ciência de dados". Bem, o resto, como nós, usa dados de transações comerciais na forma de bancos de dados relacionais e tecnologias menos inspiradoras, como SQL.


Isso parece crível. Suponho que eles dediquem seus talentos no campo de dados não estruturados, principalmente para a extração de mensagens de usuários, e-mails, histórias para publicidade e outros propósitos vis.


Assim é. Você sabe, o ingênuo classificador Bayes pode parecer interessante e útil para você. Você pode pegar o texto e prever a categoria para ele. Isso é muito fácil de implementar do zero:



Categorização de corpos de texto usando um classificador Bayes ingênuo

Você está certo, ele é legal. Além disso, não vejo valor em dados não estruturados.


Então siga em frente. Então você está trabalhando com dados tabulares: planilhas e vários números gravados. Parece que você deseja fazer previsões ou análises estatísticas.


Sim, finalmente descobrimos algo! Finalmente, resolveremos problemas reais. Então, agora isso começará o tópico neurônios e aprendizado profundo?


E-gay, segure os cavalos. Eu sugeriria começar com distribuições normais com desvios médios e padrão. Talvez calcule as probabilidades com um escore z e uma ou duas regressões lineares.


Mas, novamente, eu posso fazer tudo isso no Excel! Não posso?


Bem ... hum ... sim, está certo, você pode fazer muitas coisas acima no Excel. Mas, ao escrever scripts, você obtém mais flexibilidade.


Como com o VBA? Visual basic


Ok, vou começar de novo e fingir que você não disse isso. O Excel tem realmente ótimos operadores estatísticos e modelos de regressão linear decentes. Mas se você precisar fazer uma distribuição normal ou regressão separada para cada categoria de elementos, é muito mais fácil escrever um script Python, em vez de criar fórmulas infernais, cujo comprimento pode se tornar uma métrica para a distância da Lua.



Quando você se torna avançado no Excel, causa dor a todos que trabalham com você. (Quando você se refresca no excel, todos ao seu redor estão sofrendo)

Você pode usar a biblioteca legal do scikit-learn . Com isso, você terá oportunidades muito mais poderosas para várias regressões e aprendizado de máquina.


Ok, certo. Então, parece que agora a conversa está se movendo para o campo da modelagem matemática. Aqui está um monte de problemas matemáticos na minha frente, por onde começar?


Bem, na visão tradicional, a álgebra linear é o alicerce de grande parte da ciência de dados e é com isso que você precisa começar. Multiplicação e adição de matrizes (o chamado produto escalar) - é isso que você fará o tempo todo e existem outros conceitos importantes, como determinantes e vetores próprios. 3Blue1Brown é quase o único canal onde você pode encontrar uma explicação intuitiva da álgebra linear.



Então ... a multiplicação / adição de uma matriz a outra - é isso que farei principalmente? Parece realmente sem sentido e chato. Você pode dar um exemplo?


Bem ... aprendizado de máquina! Ao fazer regressão linear ou construir sua própria rede neural, você precisará realizar a multiplicação e o dimensionamento da matriz com valores de peso aleatórios várias vezes.


Ok, então as matrizes têm algo a ver com o quadro de dados? Eles soam como.


Espere um minuto ... repensei. Vamos voltar a esta afirmação. Na prática, você não precisa fazer álgebra linear.



Oh, vamos lá! Sério? Então, devo estudar álgebra linear ou não?


Na prática, você provavelmente não precisa aprender álgebra linear. Bibliotecas como o TensorFlow e o scikit -learn farão tudo por você. No final, é realmente cansativo e chato. Obviamente, você pode entender e ter uma idéia de como essas bibliotecas funcionam. Mas, por enquanto, comece a usar bibliotecas de aprendizado de máquina e ignore completamente a álgebra linear.


Sua insegurança me preocupa. Posso confiar em você?


Mostre pelo menos um pouco de respeito! Acabei de tirar você de outra piscina. Nem um pouco.


Ooh


E, no entanto, até que eu esqueci. Você mesmo não usa o TensorFlow. Use-o com o Keras porque o TensorFlow é muito mais fácil com ele.


Se você voltar, a regressão linear está realmente relacionada ao aprendizado de máquina?


Sim, a regressão linear está incluída na lista de ferramentas de "aprendizado de máquina".


Legal, eu faço isso o tempo todo no Excel. Então, também posso me chamar de praticante de aprendizado de máquina?


* Suspiro * tecnicamente, sim. Mas você pode ampliar um pouco seus horizontes. Veja bem, o aprendizado de máquina (independentemente da tecnologia) geralmente consiste em duas tarefas: regressão e classificação. Tecnicamente, a classificação é regressão. Árvores de decisão, redes neurais, o método do vetor de suporte, regressão logística e sim ... regressão linear - elas meio que se encaixam nas curvas. Cada modelo tem prós e contras, dependendo da situação.


Espere, o aprendizado de máquina é apenas uma regressão? ?


. , , , , , . — . , , 2-3 , , .



, , . — ?


. . : . , () , , . , , , , , .


.


(!)


, ? ? ?


, , , , data science . “ ” .


, . , ?


, . , . «», , .


?


, , . , . , , , .


, ?


* * - , . , , . , : , , . .


, - , , , ?


, . , . … , « », , , . , .


, — , , ? … ? «», ?


, , ( ) , , . , , .


. , DeepMind , StarCraft! ! , ?


StarCraft ?


( )


, StarCraft ?



StarCraft, - StarCraft? : StarCraft. , , .


, . , … , , -. , , — . .


- Data Science , . , .


, ? «data science», … … . .


, . .


Obrigada Eu preciso dar um passeio e pensar sobre isso. Se eu entendo alguma coisa, acho que meu trabalho no Excel se qualifica como "ciência de dados". Embora eu não saiba se quero ter um título de cientista. Parece que poderia ser qualquer coisa. Eu posso gastar meu tempo em outra coisa. Esperamos que o próximo "Novo Sucesso" que vem depois da ciência de dados seja menos louco.


Talvez você deva trabalhar por algum tempo na IBM?


Porque


Já ouviu falar em computação quântica?


Source: https://habr.com/ru/post/pt478688/


All Articles