segunda-feira, 18 de setembro de 2017

[REALIDADE] Saindo do limitado Excel para R ou melhor Python?



Fonte: Aquarela


Olá pessoal,
A comparação entre as plataformas R e Python começou há um tempo quando resolvi experimentar um sistema para edição e processamento de scripts chamado Jupyter Notebook, o qual é desenvolvido em Python. Até então sempre usei R. Aparentemente seria um processo tranquilo instalar um aplicativo, aí que a cobra pegou-me pela perna. Como resultado, escrevi o seguinte comentário no Linkedin:
Para quem quer sair do limitado Excel para uma linguagem estatística e de negócios intuitiva, o caminho é o R (a minha visão até o momento). Fiz testes com o seu concorrente (Python) e fiquei bastante frustrado com a quantidade de parametrizações, centenas de pacotes interdependentes misturados, mal documentados e com diversas versões incompatíveis entre si. Dizem que a linguagem Python é super fácil e intuitiva, mas até ter a plataforma pronta para trabalhar, o analista de dados já perdeu a orientação de negócios e se tornou um técnico em infraestrutura de rede e sistemas operacionais. Aí o boi já foi com a corda…
Resultado, não imaginaria o quão frutífera seria a discussão e por isso segue as reflexões neste post. Antes de falar propriamente do R ou Python, vou apontar algumas das limitações mais críticas do Excel do ponto de vista de gestor e analista de dados.

Limitações do Excel em Análise Avançada de Dados

Primeiramente o Excel é uma ferramenta de análise tão poderosa e abrangente que concorre com praticamente tudo, desde o rascunho feito em papel de saco de pão até os sistemas mais avançados de gestão. Se você já desenvolveu software, já ouviu algo do tipo:
  • Mas isso eu não posso fazer em Excel?
  • Mas depois ele exporta pra Excel, né?
Além disso, algumas funcionalidades do Excel são matadoras. Por exemplo, quando ensinamos alguns alunos a função “Planilha Dinâmica” com 3 cliques, elas entram em estado de euforia plena (recomendo muito investigar isso, em inglês Pivot Table). Funcionalidade com garantia de muitas horas de trabalho economizadas. De fato, o Excel é uma ferramenta poderosíssima de análise e assim como a sua antecessora, a calculadora, ela é assetorizada (palavra nem existe em português, pois são poucas as ferramentas que podem rodar em qualquer área).
Como uma solução de uso geral o Excel apresenta as seguintes limitações em Advanced Analytics:
  • Automação da higienização e tratamento de dados em grande escala para processamentos de algoritmos de mineração de dados.
  • Incompatibilidade com formatos de arquivos, geralmente devem ser transformados para .XLSX ou é necessário fazer algumas manobras por dentro dele para acertar a formação de “.CSV” por exemplo.
  • Os arquivos no seu formato “.XLSX” têm um limite de até 1.048.576 linhas e 16.384 colunas. A versão anterior “.XLS”, apenas 65.536 por 256 colunas. Dependendo da análise esse limite já se torna crítico.
  • Não é uma ferramenta gratuita como o seu concorrente direto LibreOffice ou Google Docs; O valor de mercado varia de R$ 500,00 a R$700,00 e deve ser pago, sobre tudo pelos profissionais que estiverem analisando dados de fraudes. O subconsciente não aceita bem essas situações.
  • A manutenção das customizações se torna caótica se forem implementadas muitas regras.
  • Difícil automatizar relatórios. Já ouvi muito, o jargão, “Vê lá com o guri do Excel”.

Características chaves do R e do Python

Abaixo relaciono algumas características chaves (não todas, claro) destas ferramentas R e Python para Advanced Analytics:
  • Manipulação de dados em grandes quantidades.
  • Automação e replicabilidade das análises.
  • Leitura de diversos tipos de formatos diferentes de fontes diversas de informação, até em tempo real, incluindo o próprio .XLSX.
  • Gestão do projeto e manutenção dos códigos estruturados.
  • Gratuitos e de livre distribuição.
  • Multi-plataforma.
  • Integração com centenas de algoritmos de inteligência artificial conhecidos como Machine Learning.
Fazendo algumas pesquisas, achei este gráfico bastante relevante comparando a curva de aprendizado do R versus do Excel, que simplificando quer dizer que, coisas de pouca complexidade são fáceis de fazer em Excel e difíceis em R, já tarefas mais robustas são difíceis de fazer no Excel e fáceis no R. Pode se incluir o Python também junto ao R.

Por Gordon Shotwell
Tendo a oportunidade de conhecer o cenário de trabalho das principais empresas do país,  a grande maioria da minha amostragem pessoal, está lá na dificuldade 75  do eixo Y do Excel com uma série de cobranças por resultados práticos que às vezes são feitas apenas pela intuição. Muito poucos estão conseguindo chegar a aplicações reais de Machine Learning por este gargalo no meio do caminho da preparação dos dados. Dizemos que o tratamento de dados garante emprego e renda.

Conclusões da Experiência

Cientista de dados, ocupam grande parte da cognição analisando duas coisas:
  • Dados.
  • Ferramentas de análise de dados (sempre estão surgindo coisas novas).
Levando em consideração a limitação de tempo para estudo e que os finais de semana são finitos, a linguagem R e Python acabam colidindo e gerando uma bifurcação no caminho dos analistas que devem decidir entre uma ou a outra para resolver os gargalos do Excel. Abaixo está o sumário dos comentários mais interessantes que vi no Linkedin e espero que isso possa ajudar quem está enfrentando este dilema:
O ideal é aprender as duas linguagens, mas a decisão parece depender principalmente do background profissional e dos objetivos do analista como segue:
  • Se o background está baseado na área de gestão como: administração, economia e contabilidade e seu objetivo é a tomada de decisão e geração de relatórios. Minha opinião é focar em R. O Rstudio se apresenta de forma muito integra tanto em compatibilidade com os sistemas operacionais como em sua documentação no padrão R, que é ótimo para o aprendizado e tem uma base estatística muito rica e relatórios com alta qualidade gráfica. A questão estética conta mais do que se imagina no mundo dos negócios.
  • Se o background for de áreas de desenvolvimento de software tais como: Ciências da Computação, Automação e Engenharias e o foco do trabalho é a criação de ferramentas de análise com robustez, melhor Python. Ainda, leva vantagens em algumas bibliotecas de mineração de texto e de Machine Learning.
O Python, é uma linguagem robusta e genérica suficiente para entrar em qualquer área, colidindo na estatística com R e desenvolvimento de plataforma com JAVA/SCALA, que a propósito é a linguagem que utilizamos para a construção do Aquarela VORTX. Na minha experiência, queria apenas fazer um teste com um sistema simples feito em Python e a documentação me levou a instalar um pacote gigantesco chamado Anaconda que, por sua vez, conflitou com a versão Python 2.7 e 3 tanto no MAC como no Linux Centos 7. Pesquisando com amigos geeks, explicaram-me que houve uma mudança bastante grande entre essas versões e que também existem diversas outras formas de ter instalado o Jupyter. Enfim, voltando ao texto inicial é importante que as ferramentas não desvirtuem a orientação de negócio, principalmente daqueles com perfil de gestão.
Finalizando, independente da linguagem que você escolher, desejo bastante sucesso nos seus projetos. A otimização das empresas e organizações é a otimização do nosso país. Vamos em frente! Em breve mais análises.

Nenhum comentário:

Postar um comentário