Skip to content

Commit d84c7a7

Browse files
committed
add persistent_problem and give weight=2
1 parent f461356 commit d84c7a7

File tree

2 files changed

+11
-1
lines changed

2 files changed

+11
-1
lines changed

rdagent/scenarios/data_science/proposal/exp_gen/base.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ def __init__(
2121
concise_knowledge: str | None = None,
2222
problem_name: str | None = None,
2323
problem_desc: str | None = None,
24-
problem_label: Literal["SCENARIO_PROBLEM", "FEEDBACK_PROBLEM"] = "FEEDBACK_PROBLEM",
24+
problem_label: Literal["SCENARIO_PROBLEM", "FEEDBACK_PROBLEM", "PERSISTENT_PROBLEM"] = "FEEDBACK_PROBLEM",
2525
appendix: str | None = None,
2626
) -> None:
2727
super().__init__(

rdagent/scenarios/data_science/proposal/exp_gen/proposal.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -574,6 +574,14 @@ def identify_problem(
574574
for problem_name in fb_problems:
575575
fb_problems[problem_name]["label"] = "FEEDBACK_PROBLEM"
576576
all_problems[problem_name] = fb_problems[problem_name]
577+
578+
# Add persistent model problem -- Persistent problem is a problem that is not related to the current scenario or feedback, but is a problem that is likely to be encountered in the future.
579+
all_problems["Potential Model Architecture and Hyperparameter Tuning"] = {
580+
"problem": "Model architecture and hyperparameter optimization may not be fully explored, current model might be suboptimal in terms of architecture complexity, regularization techniques, or hyperparameter settings for this specific dataset and task.",
581+
"reason": "Model optimization is a critical component that consistently impacts performance across different datasets and scenarios, even with good feature engineering and data preprocessing, suboptimal model configuration can significantly limit the final performance.",
582+
"label": "PERSISTENT_PROBLEM",
583+
}
584+
577585
return all_problems
578586

579587
@wait_retry(retry_n=5)
@@ -864,6 +872,8 @@ def select_hypothesis(
864872
index_to_pick_pool_list.extend([j] * self.scen_prob_multiplier)
865873
elif problem_dict[problem_name]["label"] == "FEEDBACK_PROBLEM":
866874
index_to_pick_pool_list.extend([j] * (3 - self.scen_prob_multiplier))
875+
elif problem_dict[problem_name]["label"] == "PERSISTENT_PROBLEM":
876+
index_to_pick_pool_list.extend([j] * 2) # Persistent problems have moderate stable weight
867877
else:
868878
index_to_pick_pool_list.extend([j] * 1)
869879
logger.info(f"index_to_pick_pool_list: {index_to_pick_pool_list}")

0 commit comments

Comments
 (0)