Files
reasoning-gym/notebooks/plot_curriculum.ipynb
Zafir Stojanovski b843f33b1d fix(eval): comparison plot (#441)
* heatmap

* filter comparison plots

* latex style

* curriculum heatmap

* pre-commit

* update figsize

* large y-ticks

* larger font

* thinner

* include 50
2025-05-29 12:31:07 +02:00

151 lines
54 KiB
Plaintext

{
"cells": [
{
"cell_type": "code",
"execution_count": 23,
"id": "831e4e1d",
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt \n",
"\n",
"plt.rcParams.update({\n",
" \"text.usetex\": True,\n",
" \"font.family\": \"serif\",\n",
" \"font.serif\": [\"Computer Modern Roman\"],\n",
" \"text.latex.preamble\": r\"\\usepackage{amsmath,amssymb,amsfonts,mathrsfs,bm}\",\n",
" \"axes.labelsize\": 26,\n",
" \"font.size\": 20,\n",
" \"legend.fontsize\": 20,\n",
" \"xtick.labelsize\": 20,\n",
" \"ytick.labelsize\": 20,\n",
" \"axes.titlesize\": 22\n",
" })"
]
},
{
"cell_type": "code",
"execution_count": 24,
"id": "dab0b956",
"metadata": {},
"outputs": [],
"source": [
"data = {\n",
" \"Original\": {\n",
" 3: 34,\n",
" 4: 28,\n",
" 5: 22,\n",
" 6: 26,\n",
" 7: 14,\n",
" 8: 18,\n",
" 9: 22,\n",
" 10: 18,\n",
" },\n",
" \"Non-Curriculum\": {\n",
" 3: 88,\n",
" 4: 78,\n",
" 5: 70,\n",
" 6: 72,\n",
" 7: 50,\n",
" 8: 54,\n",
" 9: 40,\n",
" 10: 46,\n",
" },\n",
" \"Curriculum\": {\n",
" 3: 100,\n",
" 4: 92,\n",
" 5: 86,\n",
" 6: 90,\n",
" 7: 70,\n",
" 8: 70,\n",
" 9: 56,\n",
" 10: 64,\n",
" }\n",
"}"
]
},
{
"cell_type": "code",
"execution_count": 25,
"id": "859a7f84",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/plain": [
"<Figure size 1200x600 with 2 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"\n",
"cats = list(data.keys()) # y-axis\n",
"grades = list(range(3, 11)) # x-axis\n",
"\n",
"mat = np.array([[data[cat].get(g, 0) for g in grades] for cat in cats])\n",
"\n",
"fig, ax = plt.subplots(\n",
" figsize=(max(12, len(grades) * 0.8), max(4, len(cats) * 2.0))\n",
")\n",
"\n",
"im = ax.imshow(mat, cmap=\"YlOrRd\", vmin=0, vmax=100, aspect=\"auto\")\n",
"\n",
"# numbers inside cells\n",
"for i in range(mat.shape[0]):\n",
" for j in range(mat.shape[1]):\n",
" text_color = \"white\" if mat[i, j] >= 50 else \"black\"\n",
" ax.text(j, i, f\"{mat[i, j]}\", ha=\"center\", va=\"center\", fontsize=25, color=text_color)\n",
"\n",
"ax.set_xticks(range(len(grades)))\n",
"ax.set_xticklabels(grades)\n",
"ax.set_yticks(range(len(cats)))\n",
"ax.set_yticklabels(cats)\n",
"ax.set_xlabel(r\"\\textbf{Word Length}\")\n",
"\n",
"cbar = fig.colorbar(im, ax=ax)\n",
"cbar.ax.set_ylabel(r\"\\textbf{Score (\\%)}\", rotation=-90, va=\"bottom\", fontsize=26)\n",
"\n",
"plt.tight_layout()\n",
"\n",
"# save as pdf with high resolution\n",
"plt.savefig(\"curriculum_heatmap.pdf\", dpi=300, bbox_inches=\"tight\")\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "11b374b2",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "reasoning_gym",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.11.11"
}
},
"nbformat": 4,
"nbformat_minor": 5
}