| --- |
| title: Dashboard de Previsão de Cancelamento |
| emoji: 🏨 |
| colorFrom: blue |
| colorTo: indigo |
| sdk: streamlit |
| sdk_version: 1.51.0 |
| app_file: app.py |
| pinned: false |
| --- |
| |
| # 🏨 Dashboard de Análise Preditiva de Cancelamento de Reservas |
|
|
| Este é um dashboard interativo em Streamlit para analisar e modelar os fatores de cancelamento de reservas da rede hoteleira, com base na Tarefa 3 de Modelagem de Cancelamento de Reservas com Machine Learning. |
|
|
| O dashboard permite que um analista de dados (ou gerente) carregue o dataset `hotel_bookings.csv` e compare interativamente o desempenho de três modelos de classificação supervisionada: |
|
|
| 1. **Regressão Logística (RL)** |
| 2. **K-Nearest Neighbors (KNN)** |
| 3. **Support Vector Machine (SVM)** |
|
|
| ## Como Usar |
|
|
| 1. **Faça o Upload dos Arquivos:** Para que este Space funcione, você precisa ter os seguintes arquivos no seu repositório: |
| * `app.py` (este aplicativo) |
| * `requirements.txt` (as dependências) |
| * `hotel_bookings.csv` (o conjunto de dados) |
|
|
| 2. **Ajuste os Parâmetros:** Use o "Painel de Controle" na barra lateral esquerda para: |
| * Definir o **Tamanho da Amostra** para o treinamento (essencial para performance). |
| * Escolher o **Algoritmo** (RL, KNN ou SVM). |
| * Ajustar os **Hiperparâmetros** específicos de cada modelo (como `k` para KNN ou `C` e `kernel` para SVM). |
| * Decidir se aplicará **SMOTE** para balancear as classes. |
|
|
| 3. **Execute a Análise:** Clique no botão "Executar Análise". |
|
|
| 4. **Interprete os Resultados:** O dashboard exibirá: |
| * Métricas de desempenho (AUC, F1-Score, Precisão, Recall). |
| * Visualizações interativas (Curva ROC e Matriz de Confusão). |
| * Uma **Interpretação Gerencial** detalhada, explicando o que as métricas significam para o negócio hoteleiro. |
|
|
| ## Aviso sobre Performance |
|
|
| Este dashboard treina modelos de ML em tempo real. O dataset completo possui mais de 100.000 registros. Treinar SVM ou KNN em todos os dados pode levar muito tempo e travar o app. |
|
|
| **Solução:** Use o slider "Tamanho da Amostra" para começar com um valor pequeno (ex: 3.000) e aumente conforme a necessidade. |