Este repositório contém um aplicativo Flask para disponibilizar modelos de Machine Learning treinados para previsão de consumo de energia. O objetivo do projeto é demonstrar a integração entre os modelos de classificação e regressão, permitindo a realização de previsões em um ambiente web.
- Flask: Framework web para Python, utilizado para criar a API.
- Scikit-learn: Biblioteca utilizada para treinar os modelos de Machine Learning.
- Joblib: Biblioteca para carregar e salvar modelos treinados.
- HTML & CSS: Para a interface de usuário.
O sistema consiste em um servidor Flask que oferece dois tipos de modelos preditivos:
- Modelo de Classificação: Previsão sobre o tipo de mudança no consumo de energia ("Aumento" ou "Diminuição").
- Modelo de Regressão: Previsão do consumo de energia no futuro, dado o consumo histórico, média de consumo, número de moradores e a renda da família.
-
Clonando o repositório
git clone https://github.com/seu_usuario/projeto_consumo_energia.git cd projeto_consumo_energia
-
Criando o Ambiente Virtual Crie um ambiente virtual para o projeto. Caso ainda não tenha o
virtualenv
instalado, instale com:pip install virtualenv
Crie o ambiente virtual:
virtualenv venv
Ative o ambiente virtual:
-
No Windows:
venv\Scripts\activate
-
No Linux ou MacOS:
source venv/bin/activate
-
-
Instalando dependências Você pode instalar as dependências necessárias usando o
pip
:pip install -r requirements.txt
Se o arquivo
requirements.txt
não existir, você pode instalar as dependências manualmente:pip install flask scikit-learn joblib
-
Carregando os Modelos Certifique-se de que os arquivos dos modelos treinados (
modelo_classificacao.pkl
,modelo_regressao.pkl
,scaler.pkl
) estejam na pastamodelos/
conforme a estrutura do projeto.
Para rodar o servidor Flask localmente, use o seguinte comando:
python app.py
O servidor será iniciado e estará disponível em http://127.0.0.1:5000/
.
A página inicial (index.html
) contém dois botões, cada um para enviar dados para um dos modelos:
- Classificação: Envia dados para o modelo de classificação, retornando "Aumento" ou "Diminuição" com base no consumo.
- Regressão: Envia dados para o modelo de regressão, retornando o valor estimado para o consumo de energia no futuro.
- Consumo_Anterior: Consumo de energia no mês anterior (em kWh).
- Média_consumo: Média de consumo de energia nos meses anteriores (em kWh).
- Num_moradores: Número de moradores da residência.
- Renda: Renda da família (em R$).
- O usuário insere os dados nos campos de input.
- Ao clicar no botão correspondente (Classificação ou Regressão), os dados são enviados para a API.
- O modelo retorna a previsão e ela é exibida na mesma página.
-
POST
/predict/classificacao
: Previsão sobre a mudança no consumo de energia (Aumento ou Diminuição).- Entrada:
{ "Consumo_Anterior": 150.0, "Media_consumo": 140.0, "Num_moradores": 4, "Renda": 3000.0 }
- Saída:
{ "prediction": "Classificação: Aumento" }
- Entrada:
-
POST
/predict/regressao
: Previsão do consumo futuro (em kWh).- Entrada:
{ "Consumo_Anterior": 150.0, "Media_consumo": 140.0, "Num_moradores": 4, "Renda": 3000.0 }
- Saída:
{ "prediction": "Consumo Futuro: 155.0 kWh" }
- Entrada:
Sinta-se à vontade para fazer um fork do projeto e enviar PRs. Sugestões de melhorias são bem-vindas!
Este projeto demonstra como integrar modelos de Machine Learning com uma aplicação web usando Flask, permitindo que o usuário envie dados e receba previsões diretamente pela interface.