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.