Skip to content

Top 7 Exemplos e Tutoriais do Streamlit para Começar

Updated on

Bem-vindo ao mundo do Streamlit!

Se você é um cientista de dados ou entusiasta do aprendizado de máquina que deseja compartilhar seu trabalho, está no lugar certo. Estamos prestes a explorar alguns dos exemplos mais emocionantes construídos com o Streamlit, uma poderosa ferramenta que está revolucionando a comunidade de ciência de dados. Desde analisar sentimentos e visualizar dados de ações até servir modelos de aprendizado de máquina, veremos como o Streamlit está tornando mais fácil do que nunca transformar scripts de dados em aplicativos web compartilháveis.

O que é o Streamlit?

Mas antes de mergulharmos nos projetos, vamos dar um momento para entender o que é o Streamlit. Streamlit é um framework Python de código aberto que permite criar aplicativos web personalizados para aprendizado de máquina e ciência de dados.

O que é Streamlit

Com apenas algumas linhas de código, você pode construir recursos interativos que permitem aos usuários manipular dados, ajustar parâmetros e ver os resultados em tempo real. Ele foi projetado para ajudar cientistas de dados e engenheiros a otimizar seus processos, desde a exploração de dados até a implantação do modelo. Portanto, seja você um profissional experiente ou um iniciante começando agora, o Streamlit tem algo a oferecer. Vamos mergulhar e ver o que é possível!

Por que usar o Streamlit? Comparação do Streamlit com o Django e o Flask

O Streamlit tem sido comparado a outros frameworks web populares, como o Django e o Flask, especialmente no contexto de ciência de dados e aplicativos de aprendizado de máquina. Vamos ver como eles se comparam.

Aqui está uma tabela de comparação que resume as diferenças entre o Streamlit, Django e Flask:

RecursoStreamlitDjangoFlask
Projetado para Ciência de Dados e Aprendizado de MáquinaSimNãoNão
Facilidade de UsoAlta (requer pouco código)Média (curva de aprendizado íngreme)Média (requer compreensão de desenvolvimento web)
Conhecimento de Desenvolvimento Web NecessárioNãoSimSim
Recursos IncluídosNão (focado em aplicações de ciência de dados e aprendizado de máquina)Sim (inclui ORM, painel administrativo, suporte à autenticação, etc.)Não (design minimalista, mas pode ser estendido com bibliotecas)
FlexibilidadeMédia (não adequado para aplicações web complexas)Alta (adequado para aplicações web complexas)Alta (permite que você escolha suas próprias ferramentas e bibliotecas)
Adequado para Aplicações Web SimplesSimTalvez (pode ser excessivo)Sim

Essa tabela fornece uma comparação geral dos três frameworks. A melhor escolha depende das suas necessidades específicas e da complexidade do seu projeto.

Streamlit vs. Django

O Django (opens in a new tab) é um framework web Python de alto nível que incentiva o desenvolvimento rápido e o design limpo e pragmático. Ele segue o padrão arquitetural do modelo-template-visão e é conhecido por sua filosofia de "baterias incluídas", ou seja, inclui muitos recursos prontos para uso, como ORM, painel administrativo e suporte à autenticação.

Embora o Django seja um framework robusto e versátil, ele pode ser exagerado para aplicações simples de ciência de dados e aprendizado de máquina. Ele possui uma curva de aprendizado íngreme e requer um bom entendimento de conceitos de desenvolvimento web.

Por outro lado, o Streamlit é projetado especificamente para aplicações de ciência de dados e aprendizado de máquina. Ele permite criar aplicativos web interativos com apenas algumas linhas de código, sem precisar conhecer desenvolvimento web. No entanto, ele não é tão rico em recursos quanto o Django e pode não ser adequado para aplicações web complexas.

Streamlit vs. Flask

O Flask (opens in a new tab) é um framework web Python leve que oferece o mínimo necessário para iniciar e executar um aplicativo web. Ele é mais flexível que o Django e permite que você escolha suas próprias ferramentas e bibliotecas.

O Flask é uma boa escolha para aplicações web simples, mas, assim como o Django, requer um bom entendimento de conceitos de desenvolvimento web. Criar aplicativos interativos de ciência de dados e aprendizado de máquina com o Flask pode ser desafiador e demorado.

O Streamlit, com sua foco em ciência de dados e aprendizado de máquina, facilita a criação de aplicativos web interativos. Ele lida com grande parte do trabalho de desenvolvimento web para você, permitindo que você se concentre na parte de ciência de dados.

Melhores Exemplos do Streamlit para Começar

TensorFlow Serving com Streamlit

TensorFlow Serving com Streamlit (opens in a new tab) é um projeto que demonstra como servir um modelo TensorFlow usando o TensorFlow Serving e visualizar as predições em um aplicativo web usando o Streamlit. O projeto inclui um notebook Jupyter que orienta o processo de treinar um modelo, exportá-lo em um formato adequado para servir e servir o modelo usando o TensorFlow Serving. O aplicativo Streamlit fornece uma interface amigável para interagir com o modelo servido e visualizar as predições.

TensorFlow Serving com Streamlit

Aqui está uma breve visão geral de como o projeto funciona:

  1. Treine um modelo TensorFlow: O projeto inclui um notebook Jupyter que demonstra como treinar um modelo TensorFlow simples no conjunto de dados MNIST.

  2. Exporte o modelo para servir: O modelo treinado é exportado em um formato que pode ser servido usando o TensorFlow Serving.

  3. Sirva o modelo: O modelo exportado é servido usando o TensorFlow Serving, que fornece um sistema de servir flexível e de alta performance para modelos de aprendizado de máquina.

  4. Visualize previsões com Streamlit: Um aplicativo Streamlit é criado para interagir com o modelo servido. O aplicativo permite aos usuários desenhar um dígito em uma tela, envia a imagem desenhada para o modelo servido e exibe o dígito previsto.

Rhyme with AI

Rhyme with AI (opens in a new tab) é um projeto divertido que usa aprendizado de máquina para gerar rimas. O projeto usa um modelo de linguagem treinado em um corpus de letras de músicas. O aplicativo Streamlit permite que os usuários insiram uma palavra e o modelo gera uma lista de palavras que rimam com a palavra de entrada.

Rhyme with AI

Veja como o projeto funciona:

  1. Treinar um modelo de linguagem: O projeto treina um modelo de linguagem em um corpus de letras de músicas. O modelo aprende os padrões dos dados e pode gerar texto que imita o estilo dos dados de treinamento.

  2. Gerar rimas: Dada uma palavra de entrada, o modelo gera uma lista de palavras que rimam com a palavra de entrada. As rimas são geradas com base nos padrões aprendidos pelo modelo durante o treinamento.

  3. Visualizar rimas com Streamlit: Um aplicativo Streamlit é criado para interagir com o modelo. O aplicativo permite que os usuários insiram uma palavra e exibe as rimas geradas.

Ferramenta Analisadora de Sentimentos

A Ferramenta Analisadora de Sentimentos (opens in a new tab) é um projeto que usa aprendizado de máquina para analisar o sentimento de um texto. O projeto inclui um notebook Jupyter que demonstra como treinar um modelo de análise de sentimento no conjunto de dados de avaliações de filmes do IMDB. O aplicativo Streamlit oferece uma interface amigável para interagir com o modelo e analisar o sentimento do texto inserido pelo usuário.

Ferramenta Analisadora de Sentimentos

Aqui está uma visão geral breve de como o projeto funciona:

  1. Treinar um modelo de análise de sentimento: O projeto inclui um notebook Jupyter que demonstra como treinar um modelo de análise de sentimento no conjunto de dados de avaliações de filmes do IMDB. O modelo é um modelo de classificação binária que prevê se uma avaliação é positiva ou negativa.

  2. Analisar sentimento com o Streamlit: Um aplicativo Streamlit é criado para interagir com o modelo. O aplicativo permite que os usuários insiram texto e exibe o sentimento previsto do texto inserido.

Cotação de Ações Visualizador

Cotação de Ações Visualizador (opens in a new tab) é um projeto que usa o Streamlit para criar um visualizador interativo de cotações de ações. O aplicativo permite que os usuários selecionem uma ação e visualizem seus dados históricos de preço.

Cotação de Ações Visualizador

Veja como o projeto funciona:

  1. Obter dados de cotação de ações: O aplicativo obtém dados históricos de preço para a ação selecionada usando a biblioteca yfinance, que permite acessar os dados financeiros do Yahoo Finance.

  2. Visualizar dados de cotação de ações com o Streamlit: Um aplicativo Streamlit é criado para interagir com os dados obtidos. O aplicativo permite que os usuários selecionem uma ação e um intervalo de datas, e exibe um gráfico do preço da ação ao longo do intervalo de datas selecionado.

Análise Exploratória de Dados Financeiros com Streamlit

A Análise Exploratória de Dados Financeiros com Streamlit (opens in a new tab) é um projeto que demonstra como realizar análise exploratória de dados (EDA) em dados financeiros usando o Streamlit. O aplicativo permite que os usuários selecionem uma ação e visualizem vários aspectos dos dados da ação, como seu preço, volume e retorno.

Análise Exploratória de Dados Financeiros com Streamlit

Aqui está uma visão geral breve de como o projeto funciona:

  1. Obter dados de ações: O aplicativo obtém dados históricos de preço e volume para a ação selecionada usando a biblioteca yfinance.

  2. Realizar EDA com o Streamlit: Um aplicativo Streamlit é criado para interagir com os dados obtidos. O aplicativo permite que os usuários selecionem uma ação e exibe várias visualizações dos dados da ação, como um gráfico de linha do preço, um gráfico de barras do volume e um histograma do retorno.

Analisador de Chat do WhatsApp

Analisador de Chat do WhatsApp (opens in a new tab) é um projeto que usa o Streamlit para criar um analisador de chat do WhatsApp interativo. O aplicativo permite que os usuários façam upload de um arquivo de chat e visualizem vários aspectos do chat, como o número de mensagens por usuário, os usuários mais ativos e as palavras mais usadas.

Analisador de Chat do WhatsApp

Aqui está uma visão geral breve de como o projeto funciona:

  1. Fazer upload de um arquivo de chat: O aplicativo permite que os usuários façam upload de um arquivo de chat do WhatsApp. O arquivo de chat pode ser obtido usando a função 'Exportar chat' no WhatsApp.

  2. Analisar o chat com o Streamlit: Um aplicativo Streamlit é criado para interagir com o arquivo de chat enviado. O aplicativo analisa o arquivo de chat e exibe várias visualizações dos dados do chat.

Corridas do Uber na cidade de Nova York

Corridas do Uber na cidade de Nova York (opens in a new tab) é um demo do Streamlit que visualiza interativamente as corridas do Uber na cidade de Nova York. O aplicativo permite que os usuários selecionem uma data e horário e exibe um mapa das corridas do Uber na cidade durante o horário selecionado.

Corridas do Uber na cidade de Nova York

Aqui está uma visão geral breve de como o projeto funciona:

  1. Carregar os dados do Uber: O aplicativo carrega um conjunto de dados das corridas do Uber na cidade de Nova York. O conjunto de dados inclui a data, horário e localização de cada corrida.

  2. Visualizar as corridas do Uber com o Streamlit: Um aplicativo Streamlit é criado para interagir com os dados do Uber. O aplicativo permite que os usuários selecionem uma data e horário, e exibe um mapa das corridas do Uber na cidade durante o horário selecionado. Esses projetos mostram o poder e a versatilidade do Streamlit na criação de aplicativos web interativos para ciência de dados e aprendizado de máquina. Seja visualizando dados de ações, analisando dados de chat ou servindo modelos de aprendizado de máquina, o Streamlit facilita a transformação de seus scripts de dados em aplicativos web compartilháveis.

Tutoriais do Streamlit

O Streamlit se tornou popular entre desenvolvedores e cientistas de dados devido à sua integração perfeita com Python e sua interface simples e amigável. Entender a plataforma por completo pode ser muito mais fácil com a ajuda dos tutoriais do Streamlit. Por favor, confira os seguintes recursos:

Mas o poder do Streamlit não para por aqui. Para cientistas de dados que desejam criar rapidamente um aplicativo de visualização de dados com o Streamlit, existe uma incrível biblioteca Python que pode ajudar você a fazer o trabalho pesado!

PyGWalker (opens in a new tab) é uma biblioteca Python que ajuda você a incorporar facilmente uma interface semelhante ao Tableau ao seu próprio aplicativo Streamlit sem esforço.

Confira este incrível vídeo produzido por Sven do Coding is Fun (opens in a new tab) demonstrando os passos detalhados para potencializar seu aplicativo Streamlit com esta poderosa Biblioteca Python de Visualização de Dados!


Agradecimentos especiais a Sven e sua grande contribuição (opens in a new tab) para a comunidade PyGWalker!

Além disso, você também pode conferir a Página do GitHub do PyGWalker (opens in a new tab) para mais exemplos do PyGWalker.

Conclusão

O Streamlit é uma ferramenta poderosa para criar aplicativos web interativos para ciência de dados e aprendizado de máquina. É fácil de usar, requer codificação mínima e é projetado especificamente para cientistas de dados e praticantes de aprendizado de máquina. Os projetos explorados neste artigo mostram o poder e a versatilidade do Streamlit, desde a visualização de dados de ações até a utilização de modelos de aprendizado de máquina.

Se você é um cientista de dados experiente que deseja compartilhar seu trabalho ou um iniciante que está começando, o Streamlit oferece uma maneira rápida e fácil de transformar seus scripts de dados em aplicativos web compartilháveis.

Perguntas Frequentes

O Streamlit é melhor que o Django?

Depende do caso de uso. O Django é um framework robusto e rico em recursos, adequado para aplicativos web complexos, enquanto o Streamlit é projetado especificamente para criar aplicativos web interativos para ciência de dados e aprendizado de máquina. Se você é um cientista de dados ou praticante de aprendizado de máquina que deseja compartilhar seu trabalho, o Streamlit provavelmente é a melhor escolha.

O Streamlit é um bom framework?

Sim, o Streamlit é um ótimo framework para criar aplicativos web interativos para ciência de dados e aprendizado de máquina. É fácil de usar, requer codificação mínima e permite que você se concentre na parte da ciência de dados do seu projeto.

O Streamlit é melhor que o Flask?

Para aplicações de ciência de dados e aprendizado de máquina, o Streamlit geralmente é uma escolha melhor do que o Flask. Embora o Flask seja um framework web flexível e leve, criar aplicativos interativos de ciência de dados e aprendizado de máquina com o Flask pode ser desafiador e demorado. O Streamlit, por outro lado, é projetado especificamente para esses tipos de aplicativos e torna fácil a criação de aplicativos web interativos.