CaxtonEmeraldS's picture
Upload README.md with huggingface_hub
ca6ad14 verified
|
Raw
History Blame Contribute Delete
1.96 kB
---
title: Uric-Acid Colorimetric Concentration Predictor
emoji: 🧪
colorFrom: blue
colorTo: green
sdk: gradio
sdk_version: 5.9.1
python_version: "3.11"
app_file: app.py
pinned: false
license: mit
---
# Uric-Acid Colorimetric Concentration Predictor
Interactive demo for the smartphone-based colorimetric uric-acid (UA) biosensor
built on a bimetallic Ag–Cu micro-flower (Ag-Cu-MF) nanozyme + TMB chemistry.
Enter the **R, G, B** of an oxidised-TMB reaction well and the **buffer**; if you
have the same phone's **blank** (0 μM) reading, enable *Use per-device blank* for
best accuracy. Four models predict UA concentration in parallel and the **ANN**
released with the manuscript is highlighted.
## Models
| Model | Description | Held-out R² | RMSE (μM) |
|---|---|---|---|
| Linear (raw RGB) | per-buffer OLS on R, G, B | 0.587 | 128.5 |
| Linear (ΔRGB) | per-buffer OLS on ΔR, ΔG, ΔB | 0.722 | 105.4 |
| Random Forest | 500 trees, depth 10, all features | 0.893 | 65.3 |
| **ANN (this work)** | 5-seed MLP-Wide-Reg [128, 64] ensemble | **0.874** | **70.9** |
Metrics are the published values on the 28-sample held-out fold (one random
replicate per buffer × concentration cell). ΔRGB = blank − measurement, computed
per device. Features are R, G, B, ΔR, ΔG, ΔB plus a 4-D one-hot buffer code.
## Files
- `app.py` — Gradio interface
- `model.pt` — 5-seed ANN ensemble + fitted scaler
- `rf_model.pkl` — Random Forest reference
- `baselines_linear.json` — per-buffer linear coefficients (raw RGB and ΔRGB)
- `mean_blanks.json` — cohort-mean blank RGB per buffer (fallback)
- `inference.py` — standalone (non-UI) inference helper
## Caveats
- Trained on a single Ag-Cu-MF + TMB chemistry, four buffers, six phones.
- Predictions are clamped at 0 μM and are most reliable within 0–600 μM.
- Mean-blank fallback is approximate for devices far from the training cohort.
- Research use only; **not a medical device**.