title: Practice Sdoml Demo emoji: 🚀 colorFrom: blue colorTo: green sdk: gradio sdk_version: 4.0.0 app_file: app.py pinned: false license: mit
practice_SDOML
Documentation website
The complete HTML documentation is built and published automatically via GitHub Actions: View Documentation Online
Description of the project
This project implements a Machine Learning Pipeline for data classification, using PyTorch. It
trains a neural network (SimpleNet) on the diabetes_risk.csv dataset. Also, while it is
training, it tracks progeression and generate exploratory and evaluation metrics.
Data source
It is diabetes_risk.csv, which it has been downloaded from Kaggle, a public Machine Learning
Repository. It is locally stored in data/raw/diabetes_risk.csv
Installation & Environment Setup
This project uses `uv` for lightning-fast dependency management and reproducibility.
1. Install `uv` (if not already installed):
`curl -LsSf https://astral.sh/uv/install.sh | sh`
2. Sync the environment and install dependencies:
`uv sync`
3. Run the training script:
`uv run python -m practice_sdoml.modeling.train`
Execution & usage instructions
Data exploration
Inspect the exploration notebook with feature distributions and data observations:
jupyter lab notebooks/1_exploration.ipynb
Model training
Run the training loop and monitor the loss decrease:
uv run python -m practice_sdoml.modeling.train
Performance evaluation & figures
Compute evaluation metrics and generate report artifacts in reports/figures/:
uv run python -m practice_sdoml.modeling.evaluate
Documentation
Sphinx HTML documentation is located in docs/build/html/.
To recompile the documentation:
cd docs
uv run sphinx-build -b html source build/html
Branch management & collaboration guides
Contributions follow the standard feature branch workflow:
- Create a feature branch from:
main:git checkout -b feature/<feature-name>. - Make meaningful commits with clear messages.
- Merge back into
mainusing explicit merge commits or pull requests.
License
This project is licensed under the MIT License - see LICENSE file for details
Interactive Demonstration & Deployment (Practice 4)
This project includes a modular, interactive ML demonstration built with Gradio that provides:
- Data Exploration: Statistical summaries and interactive distribution plots of the dataset.
- Training Interface: Adjustable hyperparameters (epochs, learning rate, batch size) with live progress tracking (
gr.Progress()) and loss evolution curves. - Model Evaluation: Diagnostic tools including confusion matrices, calibration curves, and highest-loss sample analysis.
Running the Demo Locally
Ensure dependencies are installed and run the application via uv:
# Option 1: Direct execution via uv
uv run python app.py
# Option 2: Using the CLI entry point
uv run practice-demo
Members of the group
Joaquín Sobrino López Nemer Awwad
Project Organization
├── LICENSE <- Open-source license if one is chosen
├── Makefile <- Makefile with convenience commands like `make data` or `make train`
├── README.md <- The top-level README for developers using this project.
├── data
│ ├── external <- Data from third party sources.
│ ├── interim <- Intermediate data that has been transformed.
│ ├── processed <- The final, canonical data sets for modeling.
│ └── raw <- The original, immutable data dump (diabetes_risk.csv)
│
├── docs <- A default mkdocs project; see www.mkdocs.org for details
│
├── models <- Trained and serialized models, model predictions, or model summaries
│
├── notebooks <- Jupyter notebooks.
│ └── 1_exploration.ipynb <- Jupyter notebook in which data exploration is done
│ └── 2_evaluation.ipynb <- Jupyter notebook in which data evaluation is done
|
├── pyproject.toml <- Project configuration file with package metadata for
│ practice_sdoml and configuration for tools like black
│
├── references <- Data dictionaries, manuals, and all other explanatory materials.
│
├── reports <- Generated analysis as HTML, PDF, LaTeX, etc.
│ └── figures <- Generated graphics and figures to be used in reporting
│
├── requirements.txt <- The requirements file for reproducing the analysis environment, e.g.
│ generated with `pip freeze > requirements.txt`
│
├── setup.cfg <- Configuration file for flake8
│
└── practice_sdoml <- Source code for use in this project.
│
├── __init__.py <- Makes practice_sdoml a Python module
│
├── config.py <- Store useful variables and configuration
│
├── dataset.py <- Scripts to download or generate data
│
├── features.py <- Code to create features for modeling
│
├── modeling
│ ├── __init__.py
│ ├── model.py <- Code in which the neural network for the prediction is showed
│ ├── predict.py <- Code to run model inference with trained models
│ └── train.py <- Code to train models
│
└── plots.py <- Code to create visualizations
Metadata
Release files for practice-sdoml-joaquin 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| practice_sdoml_joaquin-0.1.2.tar.gz | 14.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| practice_sdoml_joaquin-0.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 32.2 kB
Release files / practice_sdoml_joaquin-0.1.2.tar.gz
| Download URL | practice_sdoml_joaquin-0.1.2.tar.gz |
|---|---|
| Size | 14.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0e89667a026a3d5311c63bb98bb892c1e194d2db2ed6137cec17a0f94508f0cb
|
|
BLAKE2b-256 checksum How to use checksums |
bcd807ca8139abaa6252cd0aba10662d8eb72f6e12958373c8f6db4c88476875
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.14 {"installer":{"name":"uv","version":"0.12.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / practice_sdoml_joaquin-0.1.2-py3-none-any.whl
| Download URL | practice_sdoml_joaquin-0.1.2-py3-none-any.whl |
|---|---|
| Size | 18.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
234ab624fe48312ec1b313c404a726a84d7a0aaab8b68b9a0773ab34e8da58db
|
|
BLAKE2b-256 checksum How to use checksums |
c517ec6d9e21f2bf34bff4795fa0504007a0bb52101e1e990b623cb26231efb6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.14 {"installer":{"name":"uv","version":"0.12.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|