(runs: List[Dict])
| 43 | |
| 44 | |
| 45 | def melt_scores(runs: List[Dict]) -> pd.DataFrame: |
| 46 | rows = [] |
| 47 | for run in runs: |
| 48 | for assignment, score in run["scores"].items(): |
| 49 | rows.append( |
| 50 | { |
| 51 | "agent": run["agent"], |
| 52 | "file": run["file"], |
| 53 | "assignment": assignment, |
| 54 | "averageScore": score, |
| 55 | "finalScore": run["finalScore"], |
| 56 | } |
| 57 | ) |
| 58 | return pd.DataFrame(rows) |
| 59 | |
| 60 | |
| 61 | def plot_instability(df: pd.DataFrame, output: Path) -> None: |