Spaces:
Runtime error
Runtime error
Upload 2 files
Browse files
app.py
CHANGED
|
@@ -121,6 +121,37 @@ def pca_biplot(color_feature="bmi", arrow_scale=2.0, point_size=32, alpha=0.85,
|
|
| 121 |
# ------------------------------
|
| 122 |
# UI
|
| 123 |
# ------------------------------
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 124 |
with gr.Blocks(title="PCA Biplot — Diabetes (kleur: BMI)") as demo:
|
| 125 |
gr.Markdown("# PCA Biplot — Diabetes (kleur: BMI)")
|
| 126 |
gr.Markdown("""In deze demo zie je **live** hoe PCA de data samenvat. De punten zijn personen; pijlen laten zien welke features
|
|
@@ -140,6 +171,7 @@ with gr.Blocks(title="PCA Biplot — Diabetes (kleur: BMI)") as demo:
|
|
| 140 |
n_components = gr.Slider(2, 10, value=10, step=1, label="Aantal PCA-componenten (voor variatieplot)")
|
| 141 |
standardize = gr.Checkbox(value=True, label="Standaardiseer features (aanbevolen)")
|
| 142 |
run_btn = gr.Button("Update visualisaties")
|
|
|
|
| 143 |
with gr.Column(scale=2):
|
| 144 |
plot_biplot = gr.Plot(label="PCA biplot — punten + pijlen")
|
| 145 |
plot_expl = gr.Plot(label="Uitlegvariantie per component")
|
|
|
|
| 121 |
# ------------------------------
|
| 122 |
# UI
|
| 123 |
# ------------------------------
|
| 124 |
+
STORY_MD_MEDICAL = r'''
|
| 125 |
+
### Wat is dit en waarom is het belangrijk?
|
| 126 |
+
|
| 127 |
+
Artsen en onderzoekers meten vaak heel veel dingen van patiënten: **BMI, bloeddruk, bloedwaarden, cholesterol, suikers** enzovoort.
|
| 128 |
+
Al die getallen tegelijk vergelijken is bijna onmogelijk.
|
| 129 |
+
|
| 130 |
+
Met deze techniek (**PCA-biplot**) maak je er een **kaart** van:
|
| 131 |
+
- Elk **punt** = één patiënt.
|
| 132 |
+
- Patiënten die **op elkaar lijken** in hun metingen liggen dicht bij elkaar.
|
| 133 |
+
- **Kleuren** (bijv. BMI) laten zien of een eigenschap een duidelijke **trend** of **gradiënt** vormt.
|
| 134 |
+
- **Pijlen** tonen welke metingen het meest bijdragen aan de richting van de kaart.
|
| 135 |
+
|
| 136 |
+
> Belangrijk: dit voorbeeld gebruikt een **echte medische dataset** (de `diabetes` dataset uit de scikit-learn bibliotheek).
|
| 137 |
+
> De gegevens zijn afkomstig uit een onderzoek met **echte mensen**, maar zijn **geanonimiseerd** en uitsluitend bedoeld voor educatie en analyse.
|
| 138 |
+
|
| 139 |
+
---
|
| 140 |
+
|
| 141 |
+
### Wat levert dit op in de medische wetenschap?
|
| 142 |
+
- Ziekenhuizen kunnen **patronen ontdekken** in grote hoeveelheden patiëntgegevens.
|
| 143 |
+
- Je ziet of **bepaalde metingen samenhangen** met ziektebeelden of risico’s (bijvoorbeeld of BMI samen oploopt met bepaalde bloedwaarden).
|
| 144 |
+
- Onderzoekers krijgen zo **hypotheses**: *“Deze groep patiënten lijkt op elkaar — misschien hebben ze een vergelijkbaar risico of dezelfde behandeling nodig.”*
|
| 145 |
+
- Het helpt ook om **uitbijters** te vinden: patiënten die heel anders scoren dan de rest, wat een signaal kan zijn om nader te onderzoeken.
|
| 146 |
+
|
| 147 |
+
---
|
| 148 |
+
|
| 149 |
+
### Simpel gezegd
|
| 150 |
+
Dit is een manier om **veel medische informatie overzichtelijk te maken**.
|
| 151 |
+
Artsen kunnen sneller zien **welke metingen ertoe doen** en **waar mogelijk verbanden zitten**.
|
| 152 |
+
Dat maakt onderzoek en diagnose een stuk slimmer en efficiënter.
|
| 153 |
+
'''
|
| 154 |
+
|
| 155 |
with gr.Blocks(title="PCA Biplot — Diabetes (kleur: BMI)") as demo:
|
| 156 |
gr.Markdown("# PCA Biplot — Diabetes (kleur: BMI)")
|
| 157 |
gr.Markdown("""In deze demo zie je **live** hoe PCA de data samenvat. De punten zijn personen; pijlen laten zien welke features
|
|
|
|
| 171 |
n_components = gr.Slider(2, 10, value=10, step=1, label="Aantal PCA-componenten (voor variatieplot)")
|
| 172 |
standardize = gr.Checkbox(value=True, label="Standaardiseer features (aanbevolen)")
|
| 173 |
run_btn = gr.Button("Update visualisaties")
|
| 174 |
+
gr.Markdown(STORY_MD_MEDICAL)
|
| 175 |
with gr.Column(scale=2):
|
| 176 |
plot_biplot = gr.Plot(label="PCA biplot — punten + pijlen")
|
| 177 |
plot_expl = gr.Plot(label="Uitlegvariantie per component")
|