Skip to main content

Interactive ML application for Hepatitis C classification using PyTorch with Streamlit interface

Project description

Hepatitis C Predictor

Developing a Deep Learning model with PyTorch to identify patterns and predict the presence of Hepatitis C from patient data, paving the way for faster, more accurate diagnostics.

Documentation Status

Features

  • ๐Ÿ“Š Interactive Data Exploration: Visualize and explore the Hepatitis C dataset
  • ๐Ÿš€ Model Training Interface: Train models with custom hyperparameters
  • ๐Ÿ“ˆ Model Evaluation: Comprehensive performance metrics and visualizations
  • ๐Ÿค– Deep Learning: PyTorch-based neural network with residual connections
  • ๐Ÿ“ฆ Auto-download: Dataset downloads automatically if not present

Dataset

The dataset contains laboratory values from blood donors and Hepatitis C patients:

  • Source: UCI Machine Learning Repository / Kaggle
  • Size: 615 samples
  • Features: 12 laboratory measurements + age and sex
  • Target: Binary classification (Healthy vs Hepatitis C)
  • Auto-download: The app will automatically download the dataset if not present

Model

  • Architecture: Deep Neural Network with Residual Connections
    • Input Layer: 12 features
    • Hidden Layers: [128, 64, 32] neurons
    • Residual Blocks: 2 per hidden layer
    • Output Layer: 2 classes (Binary classification)
  • Framework: PyTorch 2.8+
  • Regularization: Layer Normalization + Dropout (0.3)
  • Expected Accuracy: ~97.5% on validation set

๐Ÿš€ Deployment

Requirements for Deployment

  • Python 3.10
  • All dependencies listed in requirements.txt
  • Dataset will be downloaded automatically on first run

License

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

Important Note

โš ๏ธ This model is for educational purposes only. Do not use for actual medical diagnosis. Always consult healthcare professionals.

To run it locally:

uvx --from hepatitis-c-predictor --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/ hepatitis-c-demo

Docs

You can check the modules docs in the docs folder or directly from the deployed version on GH pages here: https://ninjalice.github.io/HEPATITIS_C_MODEL/src.html

Getting Started

  1. Clone the repository:

    git clone https://github.com/Ninjalice/HEPATITIS_C_MODEL.git
    cd HEPATITIS_C_MODEL
    
  2. Install dependencies:

    pip install -r requirements.txt
    

    Or using uv:

    uv sync --frozen
    
  3. Run the interactive dashboard:

    streamlit run app.py
    

    The app will automatically download the dataset if not present.

Option 2: Jupyter Notebooks

Follow the notebooks in order:

  1. 01-data-exploration.ipynb - Explore the dataset
  2. 02-data-preprocessing.ipynb - Clean and prepare data
  3. 03-model-training.ipynb - Train the neural network
  4. 04-model-prediction.ipynb - Make predictions on new data (WIP)

Manual Download (Optional)

If auto-download fails, you can manually download from:

  1. Kaggle: https://www.kaggle.com/datasets/fedesoriano/hepatitis-c-dataset
  2. Place the file in data/raw/hepatitis_data.csv

Project Organization

โ”œโ”€โ”€ data/
โ”‚   โ”œโ”€โ”€ raw/              <- The original, immutable data dump
โ”‚   โ””โ”€โ”€ processed/        <- The final, canonical data sets for modeling
โ”‚
โ”œโ”€โ”€ models/               <- Trained and serialized models
โ”‚
โ”œโ”€โ”€ notebooks/            <- Jupyter notebooks for analysis and modeling
โ”‚   โ”œโ”€โ”€ 01-data-exploration.ipynb
โ”‚   โ”œโ”€โ”€ 02-data-preprocessing.ipynb
โ”‚   โ”œโ”€โ”€ 03-model-training.ipynb
โ”‚   โ””โ”€โ”€ 04-model-prediction.ipynb
โ”‚
โ”œโ”€โ”€ reports/              <- Generated analysis as HTML, PDF, LaTeX, etc.
โ”‚   โ””โ”€โ”€ figures/          <- Generated graphics and figures
โ”‚
โ”œโ”€โ”€ src/                  <- Source code for use in this project
โ”‚   โ”œโ”€โ”€ __init__.py
โ”‚   โ”œโ”€โ”€ data.py           <- Scripts to download or generate data
โ”‚   โ”œโ”€โ”€ train.py          <- Scripts to train models
โ”‚   โ”œโ”€โ”€ models.py         <- Scripts to train models and make predictions
โ”‚   โ””โ”€โ”€ visualization.py  <- Scripts to create exploratory visualizations
โ”‚
โ”œโ”€โ”€ requirements.txt      <- The requirements file for reproducing the environment
โ””โ”€โ”€ README.md             <- The top-level README for developers

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hepatitis_c_predictor-0.4.1.tar.gz (23.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hepatitis_c_predictor-0.4.1-py3-none-any.whl (26.5 kB view details)

Uploaded Python 3

File details

Details for the file hepatitis_c_predictor-0.4.1.tar.gz.

File metadata

  • Download URL: hepatitis_c_predictor-0.4.1.tar.gz
  • Upload date:
  • Size: 23.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.18

File hashes

Hashes for hepatitis_c_predictor-0.4.1.tar.gz
Algorithm Hash digest
SHA256 6f14fee4f29c7ce5bc15ac460cae73dc5d6ada93d0d2c1289100ea4dc49469e1
MD5 6a872b023d2f77b2716a0c8d9aaa7002
BLAKE2b-256 d028a7b1733100a3ea22d3df524f83f1306fb3bea52aeefce3f2f0f0c19bdba1

See more details on using hashes here.

File details

Details for the file hepatitis_c_predictor-0.4.1-py3-none-any.whl.

File metadata

File hashes

Hashes for hepatitis_c_predictor-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e109b39e93efbcf4626e5b5dd04bfcd84fff5debeaee30aeb906e98871f89ef8
MD5 5136085d42a0a0410027aeef183677f3
BLAKE2b-256 09e808dd14a89414997ff6799a68c7c443dba7dd5981df8b9888a7d50a658f07

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page