Ads Top

Python vs. R para Data Science: qual é a diferença?



Se você é novo na ciência de dados ou sua organização é, precisará escolher um idioma para analisar seus dados e uma maneira ponderada de tomar essa decisão. Embora eu possa escrever Python, minha formação é principalmente na comunidade R - mas farei o possível para não ser partidário.

A boa notícia é que você não precisa se preocupar muito com a decisão: o Python e o R têm vastos ecossistemas e comunidades de software, portanto, qualquer idioma é adequado para quase todas as tarefas de ciência de dados.

Os dois índices de linguagem de programação mais usados, TIOBE e IEEE Spectrum, classificam as linguagens de programação mais populares. Eles usam critérios diferentes de popularidade, o que explica as diferenças nos resultados (o TIOBE é inteiramente baseado nos resultados dos mecanismos de pesquisa; o IEEE Spectrum também inclui fontes de dados de mídias sociais e da comunidade, como Stack Overflow, Reddit e Twitter). Dos idiomas de cada lista que são comumente usados para ciência de dados, ambos os índices listam o Python como o idioma mais popular para ciência de dados, seguido por R. MATLAB e SAS, que ficam em terceiro e quarto lugar, respectivamente.

Agora que estabelecemos que Python e R são boas escolhas populares, existem alguns fatores que podem influenciar sua decisão de uma maneira ou de outra.

Qual linguagem seus colegas usam?


O fator mais importante para decidir qual linguagem de programação usar é saber qual delas seus colegas usam, pois os benefícios de poder compartilhar código com seus colegas e manter uma pilha de software mais simples superam os benefícios de uma linguagem em detrimento de outra.

Quem está trabalhando com dados?


O Python foi originalmente desenvolvido como uma linguagem de programação para o desenvolvimento de software (as ferramentas de ciência de dados foram adicionadas mais tarde); portanto, pessoas com experiência em ciência da computação ou desenvolvimento de software geralmente acham que o Python é mais natural para elas. Ou seja, a transição de outras linguagens de programação populares como Java ou C ++ para Python é mais fácil do que a transição dessas linguagens para R.

O R possui um conjunto de pacotes conhecido como Tidyverse, que fornece ferramentas poderosas e fáceis de aprender para importar, manipular, visualizar e relatar dados. Usando essas ferramentas, pessoas sem nenhuma experiência em programação ou ciência de dados (pelo menos anedoticamente) podem se tornar produtivas mais rapidamente do que no Python. Se você quiser testar isso por conta própria, tente usar Introdução ao Tidyverse, que apresenta os pacotes dplyr e ggplot2 de R e Introdução à ciência de dados em Python, que apresenta os pacotes de pandas e Matplotlib de Python e veja qual você prefere.

Veredicto: Se a ciência de dados em sua organização for principalmente conduzida por uma equipe dedicada com experiência em programação, o Python terá uma pequena vantagem. Se você tem muitos funcionários que não possuem formação em ciência de dados ou programação, mas que ainda precisam trabalhar com dados, R tem uma pequena vantagem.

Que tarefas você está executando?


Embora o Python e o R possam basicamente executar qualquer tarefa de ciência de dados que você possa imaginar, há algumas áreas em que um idioma é mais forte que o outro.

Onde Python se destaca:



  • A maioria das pesquisas de aprendizado profundo é feita em Python, portanto, ferramentas como Keras e PyTorch têm desenvolvimento "Python-first". Você pode aprender sobre esses tópicos em Introdução ao Deep Learning em Keras e Introdução ao Deep Learning no PyTorch.
  • Outra área em que o Python tem uma vantagem sobre o R é a implantação de modelos em outras partes de software. Como o Python é uma linguagem de programação de uso geral, você pode escrever o aplicativo inteiro no Python e, em seguida, incluir seu modelo baseado no Python é contínuo. Abordamos a implantação de modelos no Design de fluxos de trabalho de aprendizado de máquina em Python e na construção de pipelines de engenharia de dados em Python.


Onde R se destaca:


  • Muitas pesquisas de modelagem estatística são realizadas em R, portanto, há uma variedade maior de tipos de modelo para escolher. Se você tiver perguntas regularmente sobre a melhor maneira de modelar dados, R é a melhor opção. O DataCamp tem uma grande variedade de cursos sobre estatística com R.
  • O outro grande truque na manga de R é a criação fácil do painel usando o Shiny. Isso permite que pessoas sem muita experiência técnica criem e publiquem painéis para compartilhar com seus colegas. O Dash do Python é uma alternativa, mas não tão maduro. Você pode aprender sobre o Shiny na criação de aplicativos da Web com o Shiny no R e a criação de aplicativos da Web com o Shiny no R: estudos de caso.

Esta lista está longe de ser exaustiva e os especialistas debatem incessantemente quais tarefas podem ser realizadas melhor em um idioma ou outro. Novamente, há mais boas notícias: programadores Python e programadores R emprestam muitas boas ideias uns dos outros. Por exemplo, o pacote de visualização de dados plotnine do Python foi inspirado no pacote ggplot2 de R e o pacote de raspagem da web rvest de R foi inspirado no pacote BeautifulSoup do Python. Então, eventualmente, as melhores idéias de um idioma se direcionam para o outro.

Se você está impaciente demais para esperar por um recurso específico em seu idioma de escolha, também vale a pena notar que existe uma excelente interoperabilidade de idioma entre Python e R. Ou seja, você pode executar o código R a partir do Python usando o pacote rpy2, e você pode executar código Python a partir de R usando reticulate. Isso significa que todos os recursos presentes em um idioma podem ser acessados ​​no outro idioma. Por exemplo, a versão R do pacote de aprendizado profundo Keras realmente chama Python. Da mesma forma, o rTorch chama PyTorch.

O que seus concorrentes usam?


Se você trabalha em uma empresa que está crescendo rapidamente e deseja recrutar os melhores funcionários, vale a pena fazer uma pesquisa para ver quais tecnologias seus concorrentes estão usando. Afinal, seus novos contratados serão mais produtivos se não precisarem aprender um novo idioma.

Sumário


As guerras de linguagem de programação são principalmente desculpas para as pessoas promoverem seu idioma favorito e se divertirem trolando as pessoas que usam outra coisa. Então, quero deixar claro que não estou interessado em iniciar outro argumento na internet sobre Python versus R para ciência de dados.

Espero ter convencido você de que, enquanto Python e R são boas escolhas para ciência de dados, fatores como formação dos funcionários, problemas nos quais você trabalha e cultura da indústria podem orientar sua decisão.

Nenhum comentário:

Tecnologia do Blogger.