Spaces:
Sleeping
Sleeping
Mihir Mungara commited on
Commit Β·
747aba3
1
Parent(s): b475d7b
graders result clampped between 0 and 1
Browse files- environment.py +10 -9
- main.py +4 -5
environment.py
CHANGED
|
@@ -279,17 +279,18 @@ class DataCleaningEnv:
|
|
| 279 |
component_scores[k] * w
|
| 280 |
for k, w in weights.items()
|
| 281 |
) - penalty
|
| 282 |
-
# Clamp
|
| 283 |
-
|
|
|
|
| 284 |
|
| 285 |
return Reward(
|
| 286 |
-
total=
|
| 287 |
-
duplicate_score=
|
| 288 |
-
missing_score=
|
| 289 |
-
dtype_score=
|
| 290 |
-
outlier_score=
|
| 291 |
-
schema_score=
|
| 292 |
-
penalty=round(penalty, 4)
|
| 293 |
)
|
| 294 |
|
| 295 |
# βββββββββββββββββββββββββββββββββββββββββ
|
|
|
|
| 279 |
component_scores[k] * w
|
| 280 |
for k, w in weights.items()
|
| 281 |
) - penalty
|
| 282 |
+
# Clamp ALL scores strictly to (0, 1) β grader rejects 0.0 and 1.0
|
| 283 |
+
def _sc(v):
|
| 284 |
+
return round(max(0.0001, min(0.9999, float(v))), 4)
|
| 285 |
|
| 286 |
return Reward(
|
| 287 |
+
total=_sc(total),
|
| 288 |
+
duplicate_score=_sc(dup_score),
|
| 289 |
+
missing_score=_sc(missing_score),
|
| 290 |
+
dtype_score=_sc(dtype_score),
|
| 291 |
+
outlier_score=_sc(outlier_score),
|
| 292 |
+
schema_score=_sc(schema_score),
|
| 293 |
+
penalty=round(max(0.0, min(0.9999, float(penalty))), 4)
|
| 294 |
)
|
| 295 |
|
| 296 |
# βββββββββββββββββββββββββββββββββββββββββ
|
main.py
CHANGED
|
@@ -1,4 +1,3 @@
|
|
| 1 |
-
|
| 2 |
import sys
|
| 3 |
import os
|
| 4 |
sys.path.insert(0, os.path.dirname(__file__))
|
|
@@ -280,7 +279,7 @@ def validate():
|
|
| 280 |
)
|
| 281 |
step_result = env.step(action)
|
| 282 |
assert step_result.observation is not None
|
| 283 |
-
assert 0.0 <
|
| 284 |
|
| 285 |
# Test state
|
| 286 |
state_result = env.state()
|
|
@@ -327,7 +326,7 @@ def submit_score(entry: Dict[str, Any]):
|
|
| 327 |
leaderboard_data.append({
|
| 328 |
"model_name": entry["model_name"],
|
| 329 |
"task_id": entry["task_id"],
|
| 330 |
-
"score": round(float(entry["score"]), 4),
|
| 331 |
"steps": entry.get("steps", 0),
|
| 332 |
"timestamp": __import__("datetime").datetime.utcnow().isoformat()
|
| 333 |
})
|
|
@@ -365,7 +364,7 @@ def get_leaderboard():
|
|
| 365 |
ranked.append({
|
| 366 |
"model_name": model,
|
| 367 |
"scores": scores,
|
| 368 |
-
"avg_score": round(avg, 4)
|
| 369 |
})
|
| 370 |
|
| 371 |
ranked.sort(key=lambda x: x["avg_score"], reverse=True)
|
|
@@ -375,4 +374,4 @@ def get_leaderboard():
|
|
| 375 |
return {
|
| 376 |
"leaderboard": ranked,
|
| 377 |
"total_submissions": len(leaderboard_data)
|
| 378 |
-
}
|
|
|
|
|
|
|
| 1 |
import sys
|
| 2 |
import os
|
| 3 |
sys.path.insert(0, os.path.dirname(__file__))
|
|
|
|
| 279 |
)
|
| 280 |
step_result = env.step(action)
|
| 281 |
assert step_result.observation is not None
|
| 282 |
+
assert 0.0 < step_result.reward.total < 1.0 # strict bounds required by grader
|
| 283 |
|
| 284 |
# Test state
|
| 285 |
state_result = env.state()
|
|
|
|
| 326 |
leaderboard_data.append({
|
| 327 |
"model_name": entry["model_name"],
|
| 328 |
"task_id": entry["task_id"],
|
| 329 |
+
"score": round(max(0.0001, min(0.9999, float(entry["score"]))), 4),
|
| 330 |
"steps": entry.get("steps", 0),
|
| 331 |
"timestamp": __import__("datetime").datetime.utcnow().isoformat()
|
| 332 |
})
|
|
|
|
| 364 |
ranked.append({
|
| 365 |
"model_name": model,
|
| 366 |
"scores": scores,
|
| 367 |
+
"avg_score": round(max(0.0001, min(0.9999, avg)), 4)
|
| 368 |
})
|
| 369 |
|
| 370 |
ranked.sort(key=lambda x: x["avg_score"], reverse=True)
|
|
|
|
| 374 |
return {
|
| 375 |
"leaderboard": ranked,
|
| 376 |
"total_submissions": len(leaderboard_data)
|
| 377 |
+
}
|