Skip to content

cauasantoslt/telecomX2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 

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

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors