| --- |
| title: CMAPSS Reliability Dashboard |
| emoji: 🛩️ |
| colorFrom: blue |
| colorTo: green |
| sdk: docker |
| app_port: 7860 |
| pinned: false |
| license: mit |
| --- |
| |
| # CMAPSS Reliability & RUL Dashboard |
|
|
| Interactive dashboard for the NASA CMAPSS turbofan-degradation dataset |
| (subsets FD001, FD002, FD004). For each subset: |
|
|
| - Operational-regime clustering (KMeans, k=1 for FD001, k=6 for FD002/FD004) |
| - Per-regime sensor normalization |
| - Weibull fleet model (β, η, MTTF), with 2-component mixture overlay on FD004 |
| - CatBoost RUL prediction (piecewise target capped at 150 cycles) |
|
|
| ## Local run with uv |
|
|
| ```bash |
| uv sync |
| uv run python app.py |
| ``` |
|
|
| ## Files |
|
|
| - `app.py` — Gradio dashboard |
| - `rul_multi.py` — feature engineering, regime clustering, normalization |
| - `weibull_multi.py` — 2-component Weibull EM mixture fit |
| - `data/` — 9 CMAPSS files (train/test/RUL × 3 subsets) |
| - `cache/` — pre-trained CatBoost models, one per subset |
| - `Dockerfile` — uv-based image for HF Spaces |
|
|
| ## Deployment to Hugging Face Spaces |
|
|
| 1. Generate the lockfile locally (one-shot): |
|
|
| ```bash |
| uv lock |
| ``` |
|
|
| 2. Create a new Space on huggingface.co (SDK = Docker), clone it, copy |
| every file from this directory into the clone, then push: |
|
|
| ```bash |
| git lfs install |
| git lfs track "data/*.txt" "cache/*.cbm" |
| git add .gitattributes |
| git add . |
| git commit -m "Initial deploy" |
| git push |
| ``` |
|
|
| The `.txt` and `.cbm` files are tracked via Git LFS to keep the repo |
| light. The Space will build the Docker image and start the app on |
| port 7860. |
|
|
| ## Model card |
|
|
| | Subset | Weibull β | Weibull η | Test RMSE | Test NASA | |
| |---|---|---|---|---| |
| | FD001 | 4.55 | 225 | ~16.7 | ~570 | |
| | FD002 | 4.48 | 229 | ~27.0 | ~8 600 | |
| | FD004 | 3.23 | 278 | ~27.6 | ~7 800 | |
|
|