dpv007 commited on
Commit
f0eac1e
·
verified ·
1 Parent(s): 54d0c3a

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +10 -10
app.py CHANGED
@@ -30,7 +30,7 @@ class SimpleStacking:
30
 
31
  for model in self.base_models.values():
32
  if hasattr(model, "predict_proba"):
33
- probs = model.predict_proba(X)[:, 1]
34
  meta_features.append(probs)
35
  else:
36
  preds = model.predict(X)
@@ -42,7 +42,8 @@ class SimpleStacking:
42
  return self.final_model.predict_proba(meta_X)
43
  else:
44
  preds = self.final_model.predict(meta_X)
45
- return np.column_stack([1 - preds, preds])
 
46
 
47
 
48
  # ======================
@@ -90,23 +91,22 @@ def predict_potability(ph, tds, turbidity, temperature):
90
  "Stacking": stacking_model
91
  }
92
 
 
 
93
  outputs = {}
94
 
95
  for name, model in models.items():
96
  pred = model.predict(scaled)[0]
97
 
98
  if hasattr(model, "predict_proba"):
99
- prob = model.predict_proba(scaled)[0][1]
100
- prob_text = f"{prob:.4f}"
101
  else:
102
- prob_text = "N/A"
103
 
104
- label = "Potable" if pred == 1 else "Non-Potable"
105
 
106
- if prob_text != "N/A":
107
- outputs[name] = f"{label} (Probability: {prob_text})"
108
- else:
109
- outputs[name] = label
110
 
111
  return (
112
  outputs["XGBoost"],
 
30
 
31
  for model in self.base_models.values():
32
  if hasattr(model, "predict_proba"):
33
+ probs = model.predict_proba(X)
34
  meta_features.append(probs)
35
  else:
36
  preds = model.predict(X)
 
42
  return self.final_model.predict_proba(meta_X)
43
  else:
44
  preds = self.final_model.predict(meta_X)
45
+ # For simplicity, assume predict gives class, but need probs
46
+ return preds
47
 
48
 
49
  # ======================
 
91
  "Stacking": stacking_model
92
  }
93
 
94
+ class_names = ["Non-Potable", "Borderline", "Potable"]
95
+
96
  outputs = {}
97
 
98
  for name, model in models.items():
99
  pred = model.predict(scaled)[0]
100
 
101
  if hasattr(model, "predict_proba"):
102
+ probs = model.predict_proba(scaled)[0]
103
+ prob_str = ", ".join([f"{class_names[i]}: {probs[i]:.4f}" for i in range(3)])
104
  else:
105
+ prob_str = "N/A"
106
 
107
+ label = class_names[pred]
108
 
109
+ outputs[name] = f"{label} (Probabilities: {prob_str})"
 
 
 
110
 
111
  return (
112
  outputs["XGBoost"],