Update app.py
Browse files
app.py
CHANGED
|
@@ -258,15 +258,16 @@ if st.button("🚀 Run Topic Modeling Pipeline", type="primary", use_container_w
|
|
| 258 |
if "Silhouette Score" in eval_metrics:
|
| 259 |
valid_idx = [i for i, t in enumerate(topics) if t != -1]
|
| 260 |
unique_topics = set([topics[i] for i in valid_idx])
|
|
|
|
| 261 |
if 1 < len(unique_topics) < len(valid_idx):
|
| 262 |
sil_val = float(silhouette_score(
|
| 263 |
np.array([embeddings[i] for i in valid_idx]),
|
| 264 |
-
|
| 265 |
-
|
| 266 |
-
|
| 267 |
-
|
| 268 |
-
|
| 269 |
-
|
| 270 |
|
| 271 |
# --- RENDER KPI DASHBOARD (UI draws instantly here!) ---
|
| 272 |
st.markdown("### 📊 Key Performance Indicators (KPI)")
|
|
|
|
| 258 |
if "Silhouette Score" in eval_metrics:
|
| 259 |
valid_idx = [i for i, t in enumerate(topics) if t != -1]
|
| 260 |
unique_topics = set([topics[i] for i in valid_idx])
|
| 261 |
+
|
| 262 |
if 1 < len(unique_topics) < len(valid_idx):
|
| 263 |
sil_val = float(silhouette_score(
|
| 264 |
np.array([embeddings[i] for i in valid_idx]),
|
| 265 |
+
[topics[i] for i in valid_idx],
|
| 266 |
+
metric='cosine'
|
| 267 |
+
))
|
| 268 |
+
sil_status = f"{sil_val:.2f}"
|
| 269 |
+
else:
|
| 270 |
+
sil_status = "Skipped (Themes need ≥2 sentences)"
|
| 271 |
|
| 272 |
# --- RENDER KPI DASHBOARD (UI draws instantly here!) ---
|
| 273 |
st.markdown("### 📊 Key Performance Indicators (KPI)")
|