Acabei de terminar um programa de mestrado de Ciência de Dados de 1 ano em que fomos ensinados a R. Descobri que o Python é mais popular e tem uma comunidade maior em IA.
Vale a pena alguém na minha posição mudar para Python e, se sim, por quê? O python tem algum recurso de mudança de jogo não disponível no R ou é apenas uma questão de comunidade?
python
comparison
r
Sou eu Mario
fonte
fonte
Respostas:
Quero reformular sua pergunta.
Não pense em mudar, pense em adicionar.
Na ciência de dados, você poderá ir muito longe com python ou r, mas será mais longe com ambos.
Python e r se integram muito bem, graças ao
reticulate
pacote. Costumo arrumar dados em r porque é mais fácil para mim, treinar um modelo em python para se beneficiar de uma velocidade superior e visualizar os resultados em r em beloggplot
tudo em um único notebook!Se você já sabe que não há sentido em abandoná-lo, use-o onde for sensível e fácil para você. Mas é 100% recomendável adicionar python para muitos usos.
Depois de se sentir confortável em ambos, você terá um fluxo de trabalho que melhor se adequa a você, dominado pelo seu idioma favorito.
fonte
reticulate
. rstudio ainda tem algum suporte para inspecionar python e está em processo de adicionar maisreticulate
permite que o R use Python; Da mesma forma,rpy2
permite que o Python use R. É comum que linguagens de programação com propósitos semelhantes tenham alguma maneira de conversar entre si.Obviamente, esse tipo de perguntas também levará a respostas baseadas principalmente em opiniões. No entanto, é possível enumerar os pontos fortes e fracos de cada idioma, com relação às tarefas de aprendizado de máquina, estatística e análise de dados, que tentarei listar abaixo.
R
Forças
O R foi projetado e desenvolvido para estatísticos e analistas de dados, para fornecer, pronto para uso (ou seja, eles fazem parte do próprio idioma), recursos e facilidades para estatísticos, que não estão disponíveis no Python, a menos que você instale um pacote relacionado. Por exemplo, o quadro de dados, que o Python não fornece, a menos que você instale o famoso
pandas
pacote do Python . Existem outros exemplos, como matrizes, vetores, etc. No Python, também existem estruturas de dados semelhantes, mas elas são mais gerais, portanto, não são direcionadas especificamente para estatísticos.Existem muitas bibliotecas estatísticas.
Fraqueza
Python
Forças
Muitas pessoas e empresas, incluindo Google e Facebook, investem muito em Python. Por exemplo, a principal linguagem de programação do TensorFlow e PyTorch (duas estruturas de aprendizado de máquina amplamente usadas) é o Python. Portanto, é muito improvável que o Python não continue sendo amplamente usado no aprendizado de máquina por pelo menos 5 a 10 anos.
A comunidade Python provavelmente é muito maior que a comunidade R. De fato, por exemplo, se você olhar para o índice de Tiobe , o Python é o terceiro, enquanto R é o 20º.
O Python também é amplamente usado fora das estatísticas ou nas comunidades de aprendizado de máquina. Por exemplo, é usado para desenvolvimento web (veja, por exemplo, os frameworks Python Django ou Flask).
Existem muitas bibliotecas de aprendizado de máquina (por exemplo, TensorFlow e PyTorch).
Fraqueza
Existem outras vantagens e desvantagens possíveis desses idiomas. Por exemplo, os dois idiomas são dinâmicos. No entanto, esse recurso pode ser uma vantagem e uma desvantagem (e não está estritamente relacionado ao aprendizado de máquina ou estatística), portanto não o listei acima. Evitei mencionar recursos de linguagem opinativa, como legibilidade de código e curva de aprendizado, por razões óbvias (por exemplo, nem todas as pessoas têm a mesma experiência de programação).
Conclusão
Definitivamente vale a pena aprender Python se você estiver estudando aprendizado de máquina ou estatística. No entanto, isso não significa que você não usará mais o R. R ainda pode ser mais útil para determinadas tarefas.
fonte
Não tive essa opção porque fui forçado a mudar de R para Python:
Depende do seu ambiente : quando você está incorporado a um departamento de engenharia , o grupo técnico de trabalho ou algo semelhante ao Python é mais viável.
Quando você estiver cercado por cientistas e especialmente estatísticos , fique com R.
O PS: R oferece keras e tensorflow, embora ele seja implementado sob o capô do python. Somente coisas muito avançadas farão você precisar de Python. Embora eu esteja me acostumando cada vez mais ao Python, a sintaxe no R é mais fácil . E embora cada pacote tenha o seu, é de alguma forma consistente enquanto o Python não é .. E o ggplot é tão forte. O Python possui um clone (plotnine), mas não possui vários recursos (importantes). Em princípio, você pode fazer quase tanto quanto em R, mas especialmente a visualização e a manipulação de dados são muito mais fáceis em R. Assim, a mais famosa biblioteca Python, os pandas, é um clone de R.
PSS: Estatísticas avançadas visam definitivamente a R. Python oferece muitas ferramentas e métodos cotidianos para um cientista de dados, mas nunca alcançará os> 13.000 pacotes que a R fornece. Por exemplo, eu tive que fazer uma regressão inversa e o python não oferece isso. Em R, você pode escolher entre vários testes de confiança e se é linear ou não linear. O mesmo vale para modelos mistos: ele é implementado em python, mas é tão básico que não consigo perceber como isso pode ser suficiente para alguém.
fonte
Eu diria que sim. Python é melhor que R para a maioria das tarefas, mas R tem seu nicho e você ainda deseja usá-lo em várias circunstâncias.
Além disso, aprender um segundo idioma melhorará suas habilidades de programação.
Minha própria perspectiva sobre os pontos fortes de R vs Python é que eu preferiria R para um pequeno programa de propósito único envolvendo tabelas ou gráficos, ou trabalho exploratório da mesma maneira. Eu preferiria o Python para todo o resto.
Para elaborar mais sobre o último ponto: a programação de computadores bem feita é lego, onde você cria seus próprios tijolos (funções e módulos).
Os programas são geralmente modificados e adaptados após o design original. À medida que você as constrói, é útil pensar em quais partes podem ser reutilizadas e construí-las de uma maneira geral que permita que elas se conectem aos outros tijolos.
R incentiva você a derreter todos os tijolos juntos.
fonte
Como outros já disseram, não é um "interruptor". Mas vale a pena adicionar Python ao seu arsenal? Eu diria certamente. Na ciência de dados, o Python é popular e está se tornando cada vez mais popular, enquanto o R está recuando um pouco. E nos campos de aprendizado de máquina e redes neurais, eu diria que o Python é a linguagem principal agora - não acho que o R realmente chegue perto aqui em termos de uso. A razão para tudo isso é generalidade. O Python é uma linguagem de programação geral e permite que você faça scripts facilmente de todos os tipos de tarefas. Se você estiver estritamente dentro de um mundo estatístico bem estruturado, R é ótimo, mas com a IA você acaba tendo que fazer coisas novas e diversas, e não acho que R consiga vencer o Python. E por isso,
fonte
Esta é totalmente minha opinião pessoal.
Eu li no meu escritório (em uma obra) que "Existe uma ferramenta certa para todas as tarefas".
Espero que eu enfrente uma variedade de tarefas, como programador. Quero o máximo de ferramentas possível "comprar ou investir". Um dia, uma ferramenta me ajudará a resolvê-la, outro dia, outra ferramenta. R (para estatísticas) e Python (para em geral) são duas ferramentas que eu definitivamente quero comigo e acho que vale a pena investir para mim.
No que diz respeito à mudança, usarei a ferramenta mais eficiente que conheço (onde a eficiência é medida pela exigência do cliente, tempo e investimento de custo e facilidade de codificação). Quanto mais ferramentas eu sei, melhor! Claro que há um limite prático para isso.
Tudo isso é minha opinião pessoal e não necessariamente correto.
fonte
Parece que você investiu 1 ano em ciência de dados com R e incorporado ao ambiente R, mas deseja explorar o python para ciência de dados.
Primeiro, aprenda o básico do python, como funciona a lista e a tupla e como as classes e os objetos funcionam.
Em seguida, sujar as mãos com algumas bibliotecas como pandas numéricos matplotlib. Aprenda tensorflow ou keras e depois vá para a ciência de dados.
fonte
E sim, Python é mais popular. Eu trabalho em ambos, mas, falando em negócios, é fácil encontrar um emprego no Python do que no R.
Então, você poderia:
Ou
fonte