7 Pacotes Python Para Aumentar a Produtividade do Cientista de Dados
A Ciência de Dados está evoluindo a passos largos. Para nós da DSA, que fomos pioneiros no ensino de Data Science no Brasil em 2016, quando mal se falava sobre o assunto no país, é uma grande satisfação ver nossas previsões se confirmando e a Ciência de Dados sendo consolidada como parte das estratégias das empresas, à medida que aumenta a importância dos dados como ativos corporativos.
E o Cientista de Dados recebe cada vez mais demandas e será cada vez mais acionado a oferecer soluções, previsões e insights para os tomadores de decisão. E para dar conta do recado, produtividade será a palavra de ordem daqui para frente, principalmente em um mundo com o “novo normal” trazido pela pandemia do corona vírus.
Separamos para você 7 Pacotes Python Para Aumentar a Produtividade do Cientista de Dados, os quais listamos abaixo. Fique à vontade para deixar seu comentário sobre os pacotes que você usa no seu dia a dia para aumentar sua produtividade.
O objetivo deste post não é falar sobre pacotes básicos, que todo Cientista de Dados deve conhecer muito bem, como Pandas, NumPy, Matplotlib, SciPy ou Scikit-Learn. Isso é obrigatório e abordado até mesmo em nosso curso gratuito de Python Fundamentos Para Análise de Dados. Estamos falando aqui sobre pacotes que visam aumentar a produtividade.
No nome de cada pacote está o link para a documentação oficial. Boa leitura.
1- Scrapy
Todo projeto de Data Science precisa de dados como matéria-prima e a Internet é o maior, mais rico e mais acessível tesouro de dados. O Scrapy facilita a raspagem de dados da web (web scraping), bem como a identificação da anatomia de um web site em busca de dados (web crawling).
A maior vantagem do Scrapy, além de sua interface limpa, é sua eficiência. As solicitações web enviadas com o Scrapy são programadas e processadas de forma assíncrona. Isso significa que, se uma solicitação demorar mais para ser concluída e processada, outra solicitação poderá ser enviada nesse ínterim. Um rastreamento muito rápido pode ser empregado com o Scrapy, enviando várias solicitações simultâneas a um site, iterando seu conteúdo da maneira mais produtiva possível.
Além disso, o Scrapy permite que os Cientistas de Dados exportem os dados salvos em vários formatos – JSON, CSV ou XML – bem como em diferentes backends – FTP, S3, local.
O Scrapy é ensinado na DSA nos cursos da Formação Cientista de Dados.
2- Statsmodels
É notório que a Linguagem R é muito mais forte para modelagem estatística do que a Linguagem Python. Mas ficar alternando entre as duas linguagens (R para modelagem estatística e Python para manipulação de dados e Machine Learning) pode ser improdutivo dependendo do projeto (para alguns projetos pode ser a única alternativa, principalmente em projetos mais complexos). O Statsmodels é uma biblioteca que você deve conhecer. Além de oferecer implementações importantes de algoritmos como ANOVA e ARIMA, que bibliotecas de aprendizado de máquina padrão como Scikit-Learn não têm, talvez o mais valioso sobre Statsmodels seja o nível absoluto de detalhes e informações que ele fornece.
Considere, por exemplo, uma regressão de mínimos quadrados treinada usando Statsmodels. Todas as informações que um Cientista de Dados pode desejar, desde métricas até informações detalhadas sobre os coeficientes, são fornecidas pelo Statsmodels, e o mesmo acontece com todos os outros modelos implementados na biblioteca. Você não consegue fazer isso com o Scikit-Learn. O Statsmodels é uma ferramenta para Estatística e o Scikit-Learn é uma ferramenta para Machine Learning. São complementares.
Ter todas essas informações é incrivelmente valioso para Cientistas de Dados, que muitas vezes colocam muita confiança em um modelo que eles realmente não entendem. Como os dados de alta dimensão são naturalmente não intuitivos para nós, é necessário obtermos uma compreensão dos dados e do modelo antes de implementá-los. A busca cega por métricas puras de desempenho, como precisão ou erro quadrático médio, terá repercussões negativas.
Além da modelagem estatística incrivelmente detalhada, Statsmodels também oferece uma variedade de recursos e métricas úteis. Considere, por exemplo, a implementação da decomposição de tendência sazonal, que pode ajudar os Cientistas de Dados a entender melhor seus dados e quais transformações e algoritmos são mais adequados para eles – essas informações são tremendamente valiosas. Aliás, o Statsmodels é uma excelente ferramenta para análise de séries temporais e ensinamos como usar o pacote no curso gratuito de Análise Estatística e Séries Temporais (disponível exclusivamente para os alunos que adquirem qualquer uma das Formações DSA).
Ensinamos o Statsmodels nos projetos dos cursos da Formação Cientista de Dados, Formação Análise Estatística Para Cientistas de Dados e Formação IA Aplicada à Medicina, principalmente.
3- Mlxtend
Mlxtend é uma biblioteca que pode acompanhar qualquer projeto de Ciência de Dados.
O pacote é considerado como uma extensão do Scikit-Learn, e possui automação de tarefas comuns em Data Science, tais como:
- Extração e seleção de recursos totalmente automatizadas.
- Uma extensão do Scikit-Learn para transformadores de dados, como centralização média e codificadores.
- Uma vasta gama de métricas de avaliação: algumas incluem decomposição de viés-variância (mede viés e variância que seu modelo contém), testes de potência, teste de McNemar, teste F e muitos mais.
- Visualizações de modelo, incluindo limites de recursos, curvas de aprendizado, círculos de correlação e gráficos de enriquecimento.
- Muitos conjuntos de dados integrados que não estão incluídos no Scikit-Learn.
- Funções úteis de pré-processamento para imagens e texto, como um generalizador de nomes que pode identificar e converter texto com diferentes sistemas de nomenclatura.
- Mlxtend também tem recursos úteis de processamento de imagem, como um que pode extrair pontos de referência faciais.
O Mlxtend é ensinado na DSA nos cursos da Formação Cientista de Dados.
4- Dash
O Dash é o framework Python mais baixado e confiável para criar aplicativos Web de Machine Learning e Data Science.
Construído sobre Plotly.js, React e Flask, o Dash vincula elementos modernos de interface do usuário, como menus suspensos, controles deslizantes e gráficos, diretamente ao seu código Python de análise de dados.
O Dash é ensinado na DSA nos cursos da Formação Cientista de Dados.
5- Pingouin
Os pacotes Statsmodels e SciPy, são as principais ferramentas para modelagem estatística em Python e são realmente incríveis. Mas quando se trata de realizar testes estatísticos simples, mas amplamente usados, como o teste t, análise de variância (ANOVA) e regressão, essas duas bibliotecas parecem fazer muito e pouco ao mesmo tempo. Deixe-me explicar!
Statsmodels é poderoso, mas por se tratar de um pacote mais avançado, pode ser difícil para iniciantes, pois ele oferece uma saída com muitas informações e detalhes técnicos. Scipy.stats, no entanto, é mais fácil de usar, mas fornece saída que omite alguns detalhes importantes (por exemplo, apenas teste de estatísticas e valor de probabilidade). Ou seja, o Statsmodels entrega muito e o SciPy entrega pouco.
Existe algo intermediário – uma biblioteca que fornece resultados simples, mas exaustivos, para os testes estatísticos mais comuns? Sim, o Pingouin.
Super fácil de usar, esse pacote fornece funções para executar os principais testes estatísticos e a saída desses testes é clara e objetiva, desde que o profissional de análise de dados tenha conhecimento sobre o que está sendo feito.
Ensinamos o Pingouin em alguns projetos dos cursos da Formação IA Aplicada à Medicina, principalmente.
6- Plotly
Plotly é uma biblioteca gráfica para Python. Os usuários podem importar, copiar, colar ou transmitir dados que devem ser analisados e visualizados. O Plotly oferece uma sandbox, como ambiente de teste.
Quando usar? Você pode usar o Plotly se quiser criar e exibir figuras, atualizar figuras e passar o mouse sobre o texto para obter detalhes (com Plotly criamos gráficos interativos). Plotly também possui um recurso adicional de envio de dados para servidores em nuvem. Isso é interessante!
O que você pode fazer com Plotly? A biblioteca de gráficos Plotly possui uma ampla variedade de gráficos que você pode plotar:
- Gráficos Básicos: linha, pizza, dispersão, bolha, ponto, Gantt, Sunburst, mapa de árvore, Sankey.
- Gráficos Estatísticos: erro, caixa, histogramas, gráficos de árvore, gráficos de violino, linhas de tendência.
- Gráficos Científicos.
- Gráficos Financeiros.
- Mapas.
- Subplots.
- Transformadas.
- Jupyter Widgets Interaction.
Pense em visualização e o Plotly pode fazer! O Plotly é ensinado na DSA nos cursos da Formação Cientista de Dados.
7- PyCaret
PyCaret é uma biblioteca de aprendizado de máquina de código aberto em Python que permite ir desde a preparação de seus dados até a implantação de seu modelo em minutos. O PyCaret é o novo queridinho do mercado (de tempos em tempos os novatos ficam encantados com novos pacotes que surgem com frequência).
A ideia do PyCaret é simplificar o trabalho do Cientista de Dados e automatizar tarefas de rotina, aumentando a produtividade e permitindo entregar soluções mais rapidamente! Mais uma ferramenta na caixa de ferramentas do Cientista de Dados.
O PyCaret é ensinado na DSA nos cursos da Formação Cientista de Dados.
Equipe DSA
Referências:
Mlxtend (machine learning extensions)
5 Obscure Python Libraries Every Data Scientist Should Know
Reproducible Experiment Platform (REP)