Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -192,8 +192,11 @@ def predict_scores(df):
|
|
| 192 |
X = df[feats].copy()
|
| 193 |
ag = ag_predictor()
|
| 194 |
|
| 195 |
-
# List
|
| 196 |
-
|
|
|
|
|
|
|
|
|
|
| 197 |
safe_models = [m for m in available_models if "fastai" not in m.lower()]
|
| 198 |
print(f"[INFO] Using safe models: {safe_models}")
|
| 199 |
|
|
@@ -202,12 +205,12 @@ def predict_scores(df):
|
|
| 202 |
if isinstance(proba, pd.DataFrame) and (1 in proba.columns):
|
| 203 |
return proba[1]
|
| 204 |
except Exception as e:
|
| 205 |
-
print("[WARN] AutoGluon fastai model failed
|
| 206 |
proba = ag.predict_proba(X, models=safe_models)
|
| 207 |
if isinstance(proba, pd.DataFrame) and (1 in proba.columns):
|
| 208 |
return proba[1]
|
| 209 |
|
| 210 |
-
# Fallback
|
| 211 |
s = pd.Series(ag.predict(X, models=safe_models)).astype(float)
|
| 212 |
rng = (s.quantile(0.95) - s.quantile(0.05)) or 1.0
|
| 213 |
return ((s - s.quantile(0.05)) / rng).clip(0, 1)
|
|
|
|
| 192 |
X = df[feats].copy()
|
| 193 |
ag = ag_predictor()
|
| 194 |
|
| 195 |
+
# List all models and exclude any FastAI learners (which can cause tabular DL issues)
|
| 196 |
+
try:
|
| 197 |
+
available_models = ag.model_names() # ✅ parentheses for older AutoGluon versions
|
| 198 |
+
except Exception:
|
| 199 |
+
available_models = ag.model_names
|
| 200 |
safe_models = [m for m in available_models if "fastai" not in m.lower()]
|
| 201 |
print(f"[INFO] Using safe models: {safe_models}")
|
| 202 |
|
|
|
|
| 205 |
if isinstance(proba, pd.DataFrame) and (1 in proba.columns):
|
| 206 |
return proba[1]
|
| 207 |
except Exception as e:
|
| 208 |
+
print("[WARN] AutoGluon fastai model failed, retrying with safe models only:", e)
|
| 209 |
proba = ag.predict_proba(X, models=safe_models)
|
| 210 |
if isinstance(proba, pd.DataFrame) and (1 in proba.columns):
|
| 211 |
return proba[1]
|
| 212 |
|
| 213 |
+
# Fallback if no probabilities are returned
|
| 214 |
s = pd.Series(ag.predict(X, models=safe_models)).astype(float)
|
| 215 |
rng = (s.quantile(0.95) - s.quantile(0.05)) or 1.0
|
| 216 |
return ((s - s.quantile(0.05)) / rng).clip(0, 1)
|