in evals/elsuite/function_deduction/scripts/make_plots.py [0:0]
def main():
parser = argparse.ArgumentParser()
parser.add_argument("--log-dir", "-d", type=str, required=True)
parser.add_argument("--out-dir", "-o", type=str, default="./outputs")
args = parser.parse_args()
log_dir = Path(args.log_dir)
out_dir = Path(args.out_dir)
df = extract_final_reports(log_dir, solver_to_name, rename_columns)
# Drop all columns named "complexity*"
df = df[df.columns.drop(list(df.filter(regex="complexity")))]
# Creating a new DataFrame with the desired order
ordered_df = df.set_index("solver").loc[list(solver_to_name.values())].reset_index()
print(ordered_df)
make_plot(
df=ordered_df,
x_column="adjusted_avg_score",
y_column="solver",
x_err_column="sem_adjusted_avg_score",
title="Adjusted Average Score (Lower is Better)",
xlabel="Adjusted Average Score",
ylabel="Solver",
out_path=out_dir / "avg_adjusted_score.png",
)
ordered_df["solved_ratio"] = 100 * ordered_df["solved_ratio"]
ordered_df["sem_solved_ratio"] = 100 * ordered_df["sem_solved_ratio"]
make_plot(
df=ordered_df,
x_column="solved_ratio",
y_column="solver",
x_err_column="sem_solved_ratio",
title="Solved Samples Ratio (Higher is Better)",
xlabel="Solved Ratio (%)",
ylabel="Solver",
out_path=out_dir / "solved_ratio.png",
)
make_plot(
df=ordered_df,
x_column="avg_success_rounds",
y_column="solver",
x_err_column="sem_avg_success_rounds",
title="Average Number of Rounds for Solved Samples (Lower is Better)",
xlabel="No. of Rounds",
ylabel="Solver",
out_path=out_dir / "avg_success_rounds.png",
)
make_ask_guess_incorrect_plot(
df=ordered_df,
out_path=out_dir / "ask_guess_incorrect.png",
)