Skip to content
cauasantosltPublic

About

Challenge Alura ONE

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

10 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🇬🇧 English | 🇪🇸 Español

TELECOMX2

Libere insights, impulsione inovação, preveja sucesso!

last-commit repo-top-language repo-language-count


🔗 Índice


📍 Visão Geral

TelecomX2 é um projeto inovador que simplifica a extração de dados e aprimora a visualização da estrutura do projeto. Ele agiliza a obtenção de informações para análise e oferece uma ferramenta amigável de árvore de diretórios para fácil navegação. Ideal para desenvolvedores que buscam localizar arquivos e entender o código de forma eficiente, o TelecomX2 otimiza o fluxo de trabalho e aumenta a produtividade.


👾 Funcionalidades

Funcionalidade Resumo
⚙️ Arquitetura
  • Utiliza arquitetura modular para melhorar a manutenção e escalabilidade.
  • Emprega o app.py para orquestrar um aplicativo preditivo de churn com tema futurista usando Streamlit.
  • Integra diversos componentes para criar uma experiência envolvente e informativa dentro da arquitetura do projeto TelecomX.
🔩 Qualidade do Código
  • Segue boas práticas de desenvolvimento Python para legibilidade e manutenção.
  • Inclui testes unitários com pytest para garantir confiabilidade.
  • Utiliza Joblib para persistência de modelos e Imbalanced-learn para tratar conjuntos de dados desbalanceados.
📄 Documentação
  • Melhora a visualização da estrutura do projeto com o arquivo readme-en, auxiliando desenvolvedores a entenderem a arquitetura do código.
  • Facilita o gerenciamento de dependências via requirements.txt.
  • Traduz a documentação do projeto para espanhol com o arquivo readme-es.
🔌 Integrações
  • Integra Streamlit, Pandas, Scikit-learn, Plotly, Joblib e Imbalanced-learn para funcionalidade completa.
  • Utiliza app.py para carregar e pré-processar dados, exibir métricas de status do sistema e fornecer previsões de churn em tempo real.
  • Integra salvar_modelo.py para persistir dados pré-processados, treinar um modelo Random Forest e salvar arquivos de modelo.
🧩 Modularidade
  • Garante modularidade na arquitetura para fácil manutenção e futuras melhorias.
  • Separa responsabilidades utilizando arquivos diferentes para funcionalidades específicas como extração de dados, treinamento de modelo e orquestração da aplicação.
  • Estimula reuso e escalabilidade do código por meio de componentes modulares.
🧪 Testes
  • Inclui testes unitários com pytest para validar funcionalidades dos componentes.
  • Garante confiabilidade e robustez do código com estratégias de testes abrangentes.
  • Testa processamento de dados, treinamento de modelo e funcionalidades da aplicação para manter alta qualidade do código.
⚡️ Performance
  • Otimiza performance utilizando bibliotecas eficientes como Pandas e Scikit-learn para processamento de dados e treinamento de modelos.
  • Utiliza Joblib para persistência de modelos, acelerando previsões.
  • Garante previsões de churn em tempo real para novos clientes com baixa latência.

📁 Estrutura do Projeto

└── telecomX2/
    ├── README.md
    ├── TelecomX_2ipynb
    ├── app
    │   ├── app.py
    │   ├── dados_tratados.csv
    │   ├── feature_columns.pkl
    │   ├── random_forest_model.pkl
    │   ├── requirements.txt
    │   ├── salvar_modelo.py
    │   └── scaler.pkl
    ├── data
    │   └── dados_tratados.csv
    └── readme
        ├── readm-en
        └── readme-es

📂 Índice do Projeto

TELECOMX2/
__root__
TelecomX_2ipynb - O arquivo de código TelecomX_2ipynb na estrutura do projeto é focado na extração de dados
- Ele desempenha papel crucial na obtenção e processamento de informações relevantes para análise dentro da arquitetura do código.
readme
readm-en Melhora a documentação do projeto traduzindo o arquivo README para Inglês.
readme-es Melhora a documentação do projeto traduzindo o arquivo README para espanhol.
app
app.py - O arquivo app.py orquestra um aplicativo preditivo de churn com tema futurista usando Streamlit
- Ele carrega e pré-processa dados, exibe métricas de status do sistema, analisa o impacto de variáveis críticas no churn, fornece visualizações interativas e oferece previsões de churn em tempo real para novos clientes
- O arquivo integra diversos componentes para criar uma experiência envolvente e informativa dentro da arquitetura do projeto TelecomX.
requirements.txt - Facilita o gerenciamento de dependências do projeto especificando as bibliotecas necessárias para a aplicação
- O arquivo garante integração perfeita de ferramentas essenciais como Streamlit, Pandas, Scikit-learn, Plotly, Joblib e Imbalanced-learn.
salvar_modelo.py - Persiste dados pré-processados, treina um modelo Random Forest e salva arquivos de modelo
- O código balanceia dados, padroniza variáveis numéricas e trata valores ausentes
- Ele carrega dados, codifica variáveis categóricas, divide dados e ajusta o modelo
- Por fim, salva o modelo treinado, scaler e colunas de features para uso futuro.

🚀 Primeiros Passos

☑️ Pré-requisitos

Antes de começar com o telecomX2, certifique-se de que seu ambiente de execução atende aos seguintes requisitos:

  • Linguagem de Programação: Python
  • Gerenciador de Pacotes: Pip

⚙️ Instalação

Instale o telecomX2 usando um dos métodos abaixo:

Construir a partir do código-fonte:

  1. Clone o repositório telecomX2:
❯ git clone https://github.com/cauasantoslt/telecomX2
  1. Navegue até o diretório do projeto:
❯ cd telecomX2
  1. Instale as dependências do projeto:

Usando pip  

❯ pip install -r app/requirements.txt

🤖 Uso

Execute o telecomX2 usando o comando abaixo: Usando pip  

❯ python {entrypoint}

🧪 Testes

Execute a suíte de testes com o comando abaixo: Usando pip  

❯ pytest

📌 Roadmap do Projeto

  • Tarefa 1: Implementar funcionalidade um.
  • Tarefa 2: Implementar funcionalidade dois.
  • Tarefa 3: Implementar funcionalidade três.

🔰 Contribuindo

Diretrizes de Contribuição
  1. Faça um Fork do Repositório: Comece fazendo um fork do repositório para sua conta do github.
  2. Clone Localmente: Clone o repositório forkado para sua máquina local usando um cliente git.
    git clone https://github.com/cauasantoslt/telecomX2
  3. Crie uma Nova Branch: Sempre trabalhe em uma nova branch, dando um nome descritivo.
    git checkout -b nova-funcionalidade-x
  4. Faça Suas Alterações: Desenvolva e teste suas alterações localmente.
  5. Faça o Commit das Alterações: Faça commits com mensagens claras descrevendo suas atualizações.
    git commit -m 'Implementada nova funcionalidade x.'
  6. Envie para o github: Envie as alterações para seu repositório forkado.
    git push origin nova-funcionalidade-x
  7. Envie um Pull Request: Crie um PR para o repositório original do projeto. Descreva claramente as alterações e suas motivações.
  8. Revisão: Após a revisão e aprovação do seu PR, ele será mesclado à branch principal. Parabéns pela contribuição!
Gráfico de Contribuidores


🎗 Licença

Este projeto é distribuído sob uma licença didática e sem fins lucrativos, desenvolvida por Cauã Santos. O objetivo é promover o aprendizado, compartilhamento de conhecimento e uso acadêmico. Qualquer uso comercial é proibido.

Para mais informações, acesse o GitHub de Cauã Santos.


🙌 Agradecimentos

Agradeço primeiramente a Deus, à minha família e à minha namorada por todo o apoio, carinho e incentivo durante essa jornada.

"Seja você quem for, seja qual for a posição social que você tenha na vida, a mais alta ou a mais baixa, tenha sempre como meta muita força, muita determinação e sempre faça tudo com muito amor e com muita fé em Deus, que um dia você chega lá. De alguma maneira você chega lá."

Ayrton Senna.

About

Challenge Alura ONE

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages