|
1277 | 1277 | "\n",
|
1278 | 1278 | " plt.show()"
|
1279 | 1279 | ]
|
| 1280 | + }, |
| 1281 | + { |
| 1282 | + "cell_type": "code", |
| 1283 | + "execution_count": null, |
| 1284 | + "id": "e2e25dfd-02e7-4e14-9187-fc5c7db3ca89", |
| 1285 | + "metadata": {}, |
| 1286 | + "outputs": [], |
| 1287 | + "source": [ |
| 1288 | + "import numpy as np\n", |
| 1289 | + "iterations_df = results_df[results_df['name'] == 'iterations'].copy()\n", |
| 1290 | + "iterations_df['iterations_array'] = iterations_df['str_val'].apply(lambda x: np.array(eval(x.replace('][', '],[').replace(' ', ','))))\n", |
| 1291 | + "iterations_df = iterations_df.groupby(['task', 'method', 'meta'])['iterations_array'].apply(lambda x: np.mean(np.stack(x), axis=0)).reset_index()\n", |
| 1292 | + "iterations_df['iterations_array'] = iterations_df['iterations_array'].apply(lambda x: x.mean(axis=1))\n", |
| 1293 | + "iterations_overall_df = iterations_df.groupby(['method', 'meta'])['iterations_array'].apply(\n", |
| 1294 | + " lambda x: pd.Series({\n", |
| 1295 | + " 'avg_index_0': np.nanmean([arr[0] for arr in x if len(arr) > 0]) if any(len(arr) > 0 for arr in x) else np.nan,\n", |
| 1296 | + " 'avg_index_1': np.nanmean([arr[1] for arr in x if len(arr) > 1]) if any(len(arr) > 1 for arr in x) else np.nan\n", |
| 1297 | + " })\n", |
| 1298 | + ").reset_index()\n", |
| 1299 | + "iterations_overall_df = iterations_overall_df.pivot_table(columns='level_2', index=['method', 'meta'], values='iterations_array').reset_index()\n", |
| 1300 | + "print(\"EBM ITERATIONS:\\n\")\n", |
| 1301 | + "print(iterations_overall_df.to_string(index=False))\n", |
| 1302 | + "\n", |
| 1303 | + "iterations_df = iterations_df.groupby(['task', 'method', 'meta'])['iterations_array'].apply(\n", |
| 1304 | + " lambda x: pd.Series({\n", |
| 1305 | + " 'avg_index_0': np.nanmean([arr[0] for arr in x if len(arr) > 0]) if any(len(arr) > 0 for arr in x) else np.nan,\n", |
| 1306 | + " 'avg_index_1': np.nanmean([arr[1] for arr in x if len(arr) > 1]) if any(len(arr) > 1 for arr in x) else np.nan\n", |
| 1307 | + " })\n", |
| 1308 | + ").reset_index()\n", |
| 1309 | + "iterations_df = iterations_df.pivot_table(columns='level_3', index=['task', 'method', 'meta'], values='iterations_array').reset_index()\n", |
| 1310 | + "iterations_df['ratio'] = iterations_df['avg_index_0'] / iterations_df['avg_index_1']\n", |
| 1311 | + "print(\"\\nEBM ITERATIONS per dataset:\\n\")\n", |
| 1312 | + "print(iterations_df.to_string(index=False))" |
| 1313 | + ] |
1280 | 1314 | }
|
1281 | 1315 | ],
|
1282 | 1316 | "metadata": {
|
|
0 commit comments