Marcel0123 commited on
Commit
d9234ae
·
verified ·
1 Parent(s): e200f6b

Upload 2 files

Browse files
Files changed (1) hide show
  1. app.py +32 -0
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")