Skip to content

galafis/thyroid-analysis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚀 Thyroid Analysis

Análise avançada de dados de tireoide com machine learning - Projeto final do curso de Ciência de Dados da EBAC

Python NumPy Pandas scikit--learn XGBoost License

English | Português


English

🎯 Overview

Thyroid Analysis is a production-grade Python application complemented by HTML that showcases modern software engineering practices including clean architecture, comprehensive testing, containerized deployment, and CI/CD readiness.

The codebase comprises 629 lines of source code organized across 5 modules, following industry best practices for maintainability, scalability, and code quality.

✨ Key Features

  • 🏗️ Object-Oriented: 2 core classes with clean architecture
  • 📐 Clean Architecture: Modular design with clear separation of concerns
  • 🧪 Test Coverage: Unit and integration tests for reliability
  • 📚 Documentation: Comprehensive inline documentation and examples
  • 🔧 Configuration: Environment-based configuration management

🏗️ Architecture

graph LR
    subgraph Input["📥 Input"]
        A[Raw Data]
        B[Feature Config]
    end
    
    subgraph Pipeline["🔬 ML Pipeline"]
        C[Preprocessing]
        D[Feature Engineering]
        E[Model Training]
        F[Evaluation]
    end
    
    subgraph Output["📤 Output"]
        G[Trained Models]
        H[Metrics & Reports]
        I[Predictions]
    end
    
    A --> C --> D --> E --> F
    B --> D
    F --> G
    F --> H
    G --> I
    
    style Input fill:#e1f5fe
    style Pipeline fill:#f3e5f5
    style Output fill:#e8f5e9
Loading

🚀 Quick Start

Prerequisites

  • Python 3.12+
  • pip (Python package manager)

Installation

# Clone the repository
git clone https://github.com/galafis/thyroid-analysis.git
cd thyroid-analysis

# Create and activate virtual environment
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install dependencies
pip install -r requirements.txt

Running

# Run the application
python src/main.py

🧪 Testing

# Run all tests
pytest

# Run with coverage report
pytest --cov --cov-report=html

# Run specific test module
pytest tests/test_main.py -v

# Run with detailed output
pytest -v --tb=short

📁 Project Structure

thyroid-analysis/
├── docs/          # Documentation
│   ├── images/
│   ├── AUDIT_README.md
│   └── architecture_diagram.md
├── src/          # Source code
│   ├── data/
│   ├── processing/
│   │   └── thyroid_analysis.py
│   └── visualization/
│       └── update_graph_colors.py
├── tests/         # Test suite
│   ├── test_thyroid_analysis.py
│   └── test_update_graph_colors.py
├── CONTRIBUTING.md
├── LICENSE
├── README.md
└── requirements.txt

🛠️ Tech Stack

Technology Description Role
Python Core Language Primary
NumPy Numerical computing Framework
Pandas Data manipulation library Framework
scikit-learn Machine learning library Framework
XGBoost Gradient boosting framework Framework
HTML 1 files Supporting

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.

  1. Fork the project
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

👤 Author

Gabriel Demetrios Lafis


Português

🎯 Visão Geral

Thyroid Analysis é uma aplicação Python de nível profissional, complementada por HTML que demonstra práticas modernas de engenharia de software, incluindo arquitetura limpa, testes abrangentes, implantação containerizada e prontidão para CI/CD.

A base de código compreende 629 linhas de código-fonte organizadas em 5 módulos, seguindo as melhores práticas do setor para manutenibilidade, escalabilidade e qualidade de código.

✨ Funcionalidades Principais

  • 🏗️ Object-Oriented: 2 core classes with clean architecture
  • 📐 Clean Architecture: Modular design with clear separation of concerns
  • 🧪 Test Coverage: Unit and integration tests for reliability
  • 📚 Documentation: Comprehensive inline documentation and examples
  • 🔧 Configuration: Environment-based configuration management

🏗️ Arquitetura

graph LR
    subgraph Input["📥 Input"]
        A[Raw Data]
        B[Feature Config]
    end
    
    subgraph Pipeline["🔬 ML Pipeline"]
        C[Preprocessing]
        D[Feature Engineering]
        E[Model Training]
        F[Evaluation]
    end
    
    subgraph Output["📤 Output"]
        G[Trained Models]
        H[Metrics & Reports]
        I[Predictions]
    end
    
    A --> C --> D --> E --> F
    B --> D
    F --> G
    F --> H
    G --> I
    
    style Input fill:#e1f5fe
    style Pipeline fill:#f3e5f5
    style Output fill:#e8f5e9
Loading

🚀 Início Rápido

Prerequisites

  • Python 3.12+
  • pip (Python package manager)

Installation

# Clone the repository
git clone https://github.com/galafis/thyroid-analysis.git
cd thyroid-analysis

# Create and activate virtual environment
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install dependencies
pip install -r requirements.txt

Running

# Run the application
python src/main.py

🧪 Testing

# Run all tests
pytest

# Run with coverage report
pytest --cov --cov-report=html

# Run specific test module
pytest tests/test_main.py -v

# Run with detailed output
pytest -v --tb=short

📁 Estrutura do Projeto

thyroid-analysis/
├── docs/          # Documentation
│   ├── images/
│   ├── AUDIT_README.md
│   └── architecture_diagram.md
├── src/          # Source code
│   ├── data/
│   ├── processing/
│   │   └── thyroid_analysis.py
│   └── visualization/
│       └── update_graph_colors.py
├── tests/         # Test suite
│   ├── test_thyroid_analysis.py
│   └── test_update_graph_colors.py
├── CONTRIBUTING.md
├── LICENSE
├── README.md
└── requirements.txt

🛠️ Stack Tecnológica

Tecnologia Descrição Papel
Python Core Language Primary
NumPy Numerical computing Framework
Pandas Data manipulation library Framework
scikit-learn Machine learning library Framework
XGBoost Gradient boosting framework Framework
HTML 1 files Supporting

🤝 Contribuindo

Contribuições são bem-vindas! Sinta-se à vontade para enviar um Pull Request.

📄 Licença

Este projeto está licenciado sob a Licença MIT - veja o arquivo LICENSE para detalhes.

👤 Autor

Gabriel Demetrios Lafis

About

Análise avançada de dados de tireoide com machine learning - Projeto final do curso de Ciência de Dados da EBAC

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors