O Vale do Silício em San Francisco, na Califórnia, está fervendo. O maior centro de inovação e desenvolvimento de tecnologias do planeta está “mudando de fase”, como dizem alguns profissionais que trabalham por lá. E Big Data, Internet das Coisas e Ciência de Dados são os principais responsáveis por este momento. Startups e soluções nestas áreas estão surgindo em uma velocidade espantosa e isso com certeza fará com que o campo de Data Science se desenvolva de forma nunca vista, o que vai elevar a demanda por profissionais nesta área, com certeza. E a linguagem de programação Python está no centro desta expansão.
Recentemente ocorreu um evento em San Francisco, com a participação de mais de 1.000 cientistas de dados e pesquisadores, o Data Science Summit. No evento foram discutidos os avanços recentes em Data Science, aplicações de Machine Learning e aplicações preditivas. Discutiu-se também sobre novas ferramentas Python para análise de dados. Vejamos algumas delas:
SFrame e SGraph
Um dos maiores anúncios da cúpula do evento, foi que Sframe e SGraph (ferramentas criadas pela Dato, organizadora do evento e que fazem parte do pacote GraphLab) estarão disponíveis em código aberto, para qualquer pessoa. Sframe (abreviação de Scaleable Data Frame) é uma estrutura de dados otimizada para eficiência de memória e desempenho, com um Data Frame como interface. SGraph tem características semelhantes, mas para representar gráficos de forma eficiente. Uma das maiores vantagens destas duas estruturas de dados é que elas permitem que um cientista de dados consiga fazer análises de forma mais eficiente, mesmo com recursos limitados de memória.
Bokeh
Bokeh é uma biblioteca de visualização interativa do Python que permite exibir gráficos interativos elaborados em seu navegador. É capaz de lidar com grandes conjuntos de dados (ou até mesmo dados de streaming), é rápido, incorporável e pode exibir efeitos visuais, tais como chamadas de retorno em foco. É útil para quem quer criar de forma rápida e fácil plots, gráficos interativos, dashboards e aplicativos de dados.
O Bokeh realmente mostra seu valor, no momento de visualizar grandes conjuntos de dados com muitos pontos. É no trabalho com esses conjuntos de dados que se aprecia o foco do Bokeh no desempenho. Ele também permite a criação de plots e gráficos interativos puramente em Python. Atualmente, a maioria das tarefas interativas são feitas com Javascript, mas o Bokeh pode fazer o mesmo, apenas em Python.
Dask
Dask permite computação paralela através de agendamento de tarefas e algoritmos. Isto permite aos desenvolvedores, escrever algoritmos paralelos complexos e executá-los em paralelo em máquinas modernas com multi-core ou em um cluster distribuído.
Ibis
Se você é um cientista de dados, são grandes as chances de você utilizar Python diariamente. Mas Python possui suas limitações. Um de seus maiores problemas é que Python não é muito escalável. É ótimo para conjuntos médios de dados, mas o uso de ferramentas distribuídas para conjuntos maiores de dados, pode comprometer o resultado de várias maneiras.
Um novo projeto da Cloudera Labs, o Ibis é um framework de análise de dados que visa proporcionar a mesma experiência Python para cientistas e engenheiros de dados utilizando qualquer tamanho de conjunto de dados. Ele espelha a experiência de Python de nó único sem um compromisso em termos de funcionalidade ou usabilidade, proporcionando a mesma experiência interativa e de alta fidelidade de análise ao lidar em escala com grandes volumes de dados.
Ibis permite um fluxo de trabalho 100% em Python, end-to-end, permitindo a integração com o ecossistema de dados Python existente (Pandas, scikit-learn, NumPy, etc). Uma prévia do Ibis está disponível para instalação e será expandido para incluir mais funções como a integração com análises avançadas, aprendizado de máquina e ferramentas de computação.
Splash
Um problema comum no desenvolvimento de ferramentas para web scraping, é que muitos sites usam uma quantidade pesada de JavaScript. Ferramentas webscraping têm dificuldade em executar JavaScript, por isso muitas vezes você acaba apenas com o HTML puro e não o código executado. Splash é um serviço de renderização javascript, implementado em Python. É um navegador leve, com uma API HTTP que é capaz de processar várias páginas em paralelo, executar JavaScript personalizado, e desativar imagens, para permitir uma renderização mais rápida.
Petuum
Petuum é uma estrutura de aprendizado de máquina distribuída que tem o objetivo de fornecer uma interface algorítmica e os sistemas genéricos de aprendizagem de máquina em grande escala. Ele fornece ferramentas de programação distribuída que podem ajudar com os desafios da gestão de aprendizagem de máquina em grande escala.
Flink
Apache Flink é uma plataforma de código aberto escalável e de processamento de dados stream. O núcleo do Flink é um mecanismo de fluxo de dados de streaming que fornece a distribuição de dados, comunicação e tolerância a falhas para computações distribuídas. É muito semelhante ao Apache Spark, dado que um dos seus principais objetivos é servir como um substituto para o MapReduce, o coração do Hadoop.
Pyxley
Dashboards baseados na web são uma das melhores e mais simples maneiras de compartilhar conhecimento de ciência de dados. Mas, enquanto o Shiny fornece uma estrutura em R para que cientistas de dados possam construir aplicações web interativas sem ter que escrever Javascript, HTML ou CSS, não houve um equivalente para Python. Pyxley preenche essa lacuna. É um pacote Python que simplifica o desenvolvimento de aplicações web e fornece uma maneira fácil de incorporar Javascript, ativado através Flask, PyReact e Pandas.
Python vem crescendo e se tornando uma das principais ferramentas em Data Science. Com isso, novas ferramentas e soluções surgem a todo momento. E muitas destas ferramentas podem ser a resposta para perguntas que ainda não foram feitas.
David Matos
Fonte:
http://www.galvanize.com/blog/eight-new-tools-for-the-python-data-ecosystem