Ayesha-Majeed commited on
Commit
841434a
·
verified ·
1 Parent(s): 55eae35

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +30 -5
app.py CHANGED
@@ -82,15 +82,39 @@ def predict_dose(crop, microalgae_strain, soil_n, soil_p, soil_k, soil_ec, soil_
82
  predicted_dose = xgb_model.predict(X_input_scaled)[0]
83
  logs.append(f"[DEBUG] Predicted dose (raw): {predicted_dose}")
84
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
85
  # 6️⃣ Compute error
86
  if actual_dose is not None:
87
- abs_error = abs(predicted_dose - actual_dose)
88
- logs.append(f"[DEBUG] Actual dose: {actual_dose}")
89
- logs.append(f"[DEBUG] Absolute Error: {abs_error}")
90
- return (f"**Predicted Dose:** {predicted_dose:.2f} g/pot",
91
- f"**Actual Dose:** {actual_dose:.2f} g/pot",
 
 
92
  f"**Absolute Error:** {abs_error:.2f} g/pot",
93
  "\n".join(logs))
 
 
 
 
 
 
94
  else:
95
  logs.append("[DEBUG] Actual dose not provided.")
96
  return (f"**Predicted Dose:** {predicted_dose:.2f} g/pot",
@@ -98,6 +122,7 @@ def predict_dose(crop, microalgae_strain, soil_n, soil_p, soil_k, soil_ec, soil_
98
  " Absolute Error: N/A",
99
  "\n".join(logs))
100
 
 
101
  # -----------------------------
102
  # 4️⃣ Gradio Interface
103
  # -----------------------------
 
82
  predicted_dose = xgb_model.predict(X_input_scaled)[0]
83
  logs.append(f"[DEBUG] Predicted dose (raw): {predicted_dose}")
84
 
85
+ # # 6️⃣ Compute error
86
+ # if actual_dose is not None:
87
+ # abs_error = abs(predicted_dose - actual_dose)
88
+ # logs.append(f"[DEBUG] Actual dose: {actual_dose}")
89
+ # logs.append(f"[DEBUG] Absolute Error: {abs_error}")
90
+ # return (f"**Predicted Dose:** {predicted_dose:.2f} g/pot",
91
+ # f"**Actual Dose:** {actual_dose:.2f} g/pot",
92
+ # f"**Absolute Error:** {abs_error:.2f} g/pot",
93
+ # "\n".join(logs))
94
+ # else:
95
+ # logs.append("[DEBUG] Actual dose not provided.")
96
+ # return (f"**Predicted Dose:** {predicted_dose:.2f} g/pot",
97
+ # " Actual Dose: Not provided",
98
+ # " Absolute Error: N/A",
99
+ # "\n".join(logs))
100
+
101
  # 6️⃣ Compute error
102
  if actual_dose is not None:
103
+ try:
104
+ actual_dose_float = float(actual_dose) # <-- convert string to float
105
+ abs_error = abs(predicted_dose - actual_dose_float)
106
+ logs.append(f"[DEBUG] Actual dose: {actual_dose_float}")
107
+ logs.append(f"[DEBUG] Absolute Error: {abs_error}")
108
+ return (f"**Predicted Dose:** {predicted_dose:.2f} g/pot",
109
+ f"**Actual Dose:** {actual_dose_float:.2f} g/pot",
110
  f"**Absolute Error:** {abs_error:.2f} g/pot",
111
  "\n".join(logs))
112
+ except ValueError:
113
+ logs.append("[DEBUG] Actual dose could not be converted to float")
114
+ return (f"**Predicted Dose:** {predicted_dose:.2f} g/pot",
115
+ " Actual Dose: Invalid",
116
+ " Absolute Error: N/A",
117
+ "\n".join(logs))
118
  else:
119
  logs.append("[DEBUG] Actual dose not provided.")
120
  return (f"**Predicted Dose:** {predicted_dose:.2f} g/pot",
 
122
  " Absolute Error: N/A",
123
  "\n".join(logs))
124
 
125
+
126
  # -----------------------------
127
  # 4️⃣ Gradio Interface
128
  # -----------------------------