Aprenda como criar um aplicativo multi-páginas com Streamlit para disponibilizar modelos de machine learning de forma rápida e fácil. Este artigo demonstra como implementar predições individuais e em batch, além de sugerir melhorias para expandir as funcionalidades do aplicativo.

Criando um Aplicativo Multi-Páginas com Streamlit

Este artigo tem como objetivo demonstrar o processo de criação de um aplicativo multi-páginas utilizando a plataforma Streamlit. A proposta é explorar a simplicidade oferecida pelo Streamlit para a construção de aplicativos web mais complexos.

  • Demonstrar o processo de criação de um aplicativo multi-páginas com Streamlit
  • Explorar a simplicidade do Streamlit para a construção de aplicativos web mais complexos

Página Inicial: Descrição do Projeto

A página inicial, representada pelo arquivo ‘project_description.py’, apresenta uma visão geral do projeto, suas funcionalidades e instruções para navegar pelas outras páginas.

  • Apresentar uma visão geral do projeto, suas funcionalidades e instruções para navegar pelas outras páginas

Criando Múltiplas Páginas

Para criar múltiplas páginas no Streamlit, é necessário criar uma pasta chamada ‘pages’ dentro do diretório do aplicativo. Cada arquivo Python dentro dessa pasta representará uma página diferente.

  • Instruções para criar múltiplas páginas no Streamlit
  • Organização de arquivos Python em uma pasta ‘pages’ para representar diferentes páginas

Nome do arquivo e sua relevância

O nome do arquivo será o nome exibido no header da página. Caracteres especiais como espaço podem ser representados por ‘_’ para separar palavras. Seguindo essa convenção, são criadas duas páginas adicionais: what_if_prediction.py e file_prediction.py.

  • O nome do arquivo é fundamental para a identificação e organização das páginas do site.
  • A utilização de caracteres especiais no nome do arquivo pode impactar a legibilidade e a indexação nos mecanismos de busca.
  • A convenção de nomenclatura ajuda na criação e manutenção de páginas adicionais de forma organizada.

Página What If Prediction

Esta página permite que o usuário insira manualmente os valores das 4 features utilizadas no modelo para obter uma predição individualizada de custo. O código é bastante similar ao exemplo anterior de aplicativo simples. A única diferença é que agora ele precisa navegar dois diretórios acima para importar o modelo salvo.

  • Os usuários podem inserir manualmente os valores das características do paciente para obter uma predição personalizada de custo.
  • A estrutura do código é semelhante a um exemplo anterior de aplicativo simples, facilitando a compreensão e utilização.
  • A necessidade de navegar diretórios para importar o modelo salvo pode impactar o desempenho e a usabilidade da página.

Página File Prediction

A página file_prediction.py permite que o usuário faça o upload de um arquivo CSV contendo dados de múltiplos pacientes para obter as predições de custo em batch. Novamente, o início do código é similar, importando as bibliotecas e configurando o título e ícone da página.

  • Os usuários podem realizar o upload de um arquivo CSV com dados de múltiplos pacientes para obter predições em lote.
  • A estrutura inicial do código é semelhante, o que pode facilitar a familiarização e utilização da página.
  • A funcionalidade de upload de arquivos pode ser um diferencial para a experiência do usuário, mas também demanda atenção para questões de segurança e desempenho.

Streamlit: Facilitando a Criação de Aplicativos Multi-Páginas

O Streamlit é uma ferramenta poderosa que permite a criação rápida e fácil de aplicativos multi-páginas para disponibilizar modelos de machine learning. Com apenas algumas linhas de código, é possível criar uma interface interativa para que qualquer pessoa possa utilizar os modelos, obtendo predições e insights em tempo real.

  • O Streamlit é uma ferramenta poderosa para criação de aplicativos multi-páginas
  • Facilita a disponibilização de modelos de machine learning de forma interativa
  • Permite a obtenção de predições e insights em tempo real

Predições de Custos de Pacientes de Forma Simples e Escalável

O aplicativo desenvolvido demonstrou como realizar predições de custos de pacientes de forma simples e escalável. Através do upload de um arquivo CSV com dados de centenas ou milhares de pacientes, é possível obter as previsões de custo para análise em larga escala. Além disso, o usuário pode visualizar facilmente o arquivo original enriquecido com as predições, e realizar o download do arquivo com as predições através do widget `st.download_button` configurado para gerar um arquivo CSV quando clicado.

  • Realização de predições de custos de pacientes de forma simples e escalável
  • Upload de arquivo CSV para obtenção de previsões de custo em larga escala
  • Visualização facilitada do arquivo original enriquecido com as predições
  • Possibilidade de download do arquivo com as predições

Funcionalidades Principais do Aplicativo

O aplicativo apresenta duas funcionalidades principais: predições individuais informando características específicas do paciente, e predições em batch através do upload de um arquivo CSV. Para aprimorar ainda mais o aplicativo, é possível adicionar outras páginas, como por exemplo, explicando as métricas e performance do modelo, comparando a performance de vários modelos, e documentando as funções e uso da API.

  • Predições individuais informando características específicas do paciente
  • Predições em batch através do upload de um arquivo CSV
  • Possibilidade de adição de outras páginas para aprimorar o aplicativo

Conclusão

O Streamlit oferece uma maneira eficiente de criar aplicativos production-ready para disponibilizar modelos de machine learning. Com apenas algumas linhas de código, é possível criar uma interface interativa para que qualquer pessoa possa utilizar os modelos, obtendo predições e insights em tempo real.