iaravagni commited on
Commit
a68be9c
ยท
1 Parent(s): 6e8eb41

Add Hugging Face Space configuration

Browse files
Files changed (1) hide show
  1. README.md +10 -122
README.md CHANGED
@@ -1,126 +1,14 @@
1
- # ๐Ÿฉธ Blood Glucose Level Prediction
2
-
3
- This project explores multiple approaches for predicting blood glucose levels using multimodal data from the Big Ideas dataset. It includes data from wearables (accelerometer), nutritional inputs, and demographic/medical history features. Our goal is to evaluate and compare naive, machine learning, and deep learning methods to provide personalized and accurate glucose level forecasts.
4
-
5
  ---
6
-
7
- ## ๐Ÿš€ Problem Statement
8
-
9
- Blood glucose levels are influenced by numerous variables including physical activity, food intake, and individual physiology. Early prediction can empower individuals to manage and prevent health complications, especially for those with diabetes. This project seeks to build models that can forecast glucose levels based on a combination of behavioral and clinical data.
10
-
 
 
 
11
  ---
12
 
13
- ## ๐Ÿ“Š Dataset Preparation
14
-
15
- Data is structured from the **Big Ideas dataset** to include the following features:
16
-
17
- - Glucose Level (target)
18
- - Accelerometer
19
- - Calories
20
- - Carbs
21
- - Sugar
22
- - Gender
23
- - HbA1c
24
- - Age
25
-
26
- The dataset is split as follows:
27
- - **Train:** 13 patients (~80%)
28
- - **Validation:** 2 patients from the training set (~15%)
29
- - **Test:** 3 patients (~20%)
30
-
31
- ### Generated Files:
32
- - Individual CSV for each patient
33
- - Combined dataset CSV
34
- - Train/Validation/Test CSVs
35
-
36
- ---
37
-
38
- ## ๐Ÿง  Modeling Approaches
39
-
40
- We evaluated 3 approaches to predict glucose levels:
41
-
42
- ### 1. ๐Ÿงฎ Naive Approach
43
- - Model: `ibm-granite/granite-timeseries-ttm-r2` (zero-shot)
44
- - No fine-tuning
45
-
46
- ### 2. ๐ŸŒฒ Machine Learning
47
- - **Model:** XGBoost Regressor
48
- ```python
49
- xgb_model = xgb.XGBRegressor(
50
- n_estimators=50,
51
- learning_rate=0.2,
52
- max_depth=5,
53
- objective='reg:squarederror',
54
- random_state=42
55
- )
56
- ```
57
-
58
- ### 3. ๐Ÿค– Deep Learning
59
- - **Model:** Fine-tuned `granite-timeseries-ttm-r2` on the structured dataset
60
-
61
- ---
62
-
63
- ## ๐Ÿ“ˆ Results
64
-
65
- | Approach | RMSE |
66
- |----------|------|
67
- | Naive | 3.7812 |
68
- | ML | 3.9681 |
69
- | DL | 3.8762 |
70
-
71
- ---
72
-
73
- ## ๐ŸŒ Streamlit Web App
74
-
75
- The interactive app allows users to:
76
- - Upload the 3 required CSVs
77
- - Select preloaded patient samples
78
- - View and compare predictions from:
79
- - Naive model
80
- - Machine Learning model
81
- - Deep Learning model
82
-
83
- > ๐Ÿ“ A working version is deployed and publicly accessible [**here**](#) *(add your link)*
84
-
85
- ---
86
-
87
- ## ๐Ÿ“ฝ๏ธ Final Deliverables
88
-
89
- - ๐Ÿ”— [10-minute video presentation](#)
90
- - ๐Ÿ”— [Live Streamlit app](#)
91
-
92
- ---
93
-
94
- ## ๐Ÿ” Ethics Statement
95
-
96
- While this project focuses on non-invasive glucose prediction, it is not intended for real-time clinical use. Any deployment of such tools must undergo rigorous validation and ethical review. We aim to respect user privacy, and datasets used in this project are anonymized and publicly available.
97
-
98
- ---
99
-
100
- ## โ–ถ๏ธ How to Run
101
-
102
- Follow these steps to set up the environment and launch the Streamlit app:
103
-
104
- 1. **Clone the repository:**
105
- ```bash
106
- git clone https://github.com/your-username/glucose-prediction.git
107
- cd glucose-prediction
108
- ```
109
-
110
- 2. **Create and activate a virtual environment:**
111
- ```bash
112
- python -m venv venv
113
- source venv/bin/activate # On Windows use: venv\Scripts\activate
114
- ```
115
-
116
- 3. **Install dependencies:**
117
- ```bash
118
- pip install -r requirements.txt
119
- ```
120
-
121
- 4. **Run the Streamlit app:**
122
- ```bash
123
- streamlit run glucose_app.py --server.maxUploadSize=1000
124
- ```
125
 
126
- This will launch the interactive app in your browser, allowing you to upload data and view predictions from the three modeling approaches.
 
 
 
 
 
1
  ---
2
+ title: Blood Glucose Prediction
3
+ emoji: ๐Ÿฉธ
4
+ colorFrom: blue
5
+ colorTo: red
6
+ sdk: streamlit
7
+ sdk_version: 1.30.0
8
+ app_file: glucose_app.py
9
+ pinned: false
10
  ---
11
 
12
+ # Blood Glucose Prediction
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
13
 
14
+ Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference