diff --git a/predictions_data_vis.ipynb b/predictions_data_vis.ipynb
new file mode 100644
index 0000000000..ba79f363c2
--- /dev/null
+++ b/predictions_data_vis.ipynb
@@ -0,0 +1,816 @@
+{
+ "cells": [
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import pandas as pd\n",
+ "import numpy as np"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "
\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Actual | \n",
+ " Predicted | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 0.20 | \n",
+ " 0.123338 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 6.01 | \n",
+ " 1.731932 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 0.22 | \n",
+ " 0.697401 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 0.01 | \n",
+ " 0.148485 | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " 0.00 | \n",
+ " 0.036330 | \n",
+ "
\n",
+ " \n",
+ " | 5 | \n",
+ " 0.00 | \n",
+ " 0.076719 | \n",
+ "
\n",
+ " \n",
+ " | 6 | \n",
+ " 0.00 | \n",
+ " 0.025371 | \n",
+ "
\n",
+ " \n",
+ " | 7 | \n",
+ " 0.84 | \n",
+ " 0.208838 | \n",
+ "
\n",
+ " \n",
+ " | 8 | \n",
+ " 7.28 | \n",
+ " 0.460686 | \n",
+ "
\n",
+ " \n",
+ " | 9 | \n",
+ " 0.00 | \n",
+ " 0.028592 | \n",
+ "
\n",
+ " \n",
+ " | 10 | \n",
+ " 0.00 | \n",
+ " 0.057903 | \n",
+ "
\n",
+ " \n",
+ " | 11 | \n",
+ " 0.00 | \n",
+ " 0.042105 | \n",
+ "
\n",
+ " \n",
+ " | 12 | \n",
+ " 0.02 | \n",
+ " 0.060160 | \n",
+ "
\n",
+ " \n",
+ " | 13 | \n",
+ " 0.00 | \n",
+ " 0.471210 | \n",
+ "
\n",
+ " \n",
+ " | 14 | \n",
+ " 0.02 | \n",
+ " 0.149806 | \n",
+ "
\n",
+ " \n",
+ " | 15 | \n",
+ " 0.03 | \n",
+ " 0.084253 | \n",
+ "
\n",
+ " \n",
+ " | 16 | \n",
+ " 0.00 | \n",
+ " 0.052085 | \n",
+ "
\n",
+ " \n",
+ " | 17 | \n",
+ " 0.00 | \n",
+ " 0.040004 | \n",
+ "
\n",
+ " \n",
+ " | 18 | \n",
+ " 0.22 | \n",
+ " 0.177066 | \n",
+ "
\n",
+ " \n",
+ " | 19 | \n",
+ " 0.00 | \n",
+ " 0.132119 | \n",
+ "
\n",
+ " \n",
+ " | 20 | \n",
+ " 0.00 | \n",
+ " 0.164167 | \n",
+ "
\n",
+ " \n",
+ " | 21 | \n",
+ " 0.63 | \n",
+ " 0.260512 | \n",
+ "
\n",
+ " \n",
+ " | 22 | \n",
+ " 0.02 | \n",
+ " 0.013564 | \n",
+ "
\n",
+ " \n",
+ " | 23 | \n",
+ " 0.01 | \n",
+ " 0.038167 | \n",
+ "
\n",
+ " \n",
+ " | 24 | \n",
+ " 3.12 | \n",
+ " 0.864401 | \n",
+ "
\n",
+ " \n",
+ " | 25 | \n",
+ " 0.02 | \n",
+ " 0.379715 | \n",
+ "
\n",
+ " \n",
+ " | 26 | \n",
+ " 0.04 | \n",
+ " 0.155040 | \n",
+ "
\n",
+ " \n",
+ " | 27 | \n",
+ " 4.40 | \n",
+ " 1.428889 | \n",
+ "
\n",
+ " \n",
+ " | 28 | \n",
+ " 0.01 | \n",
+ " 0.002122 | \n",
+ "
\n",
+ " \n",
+ " | 29 | \n",
+ " 0.00 | \n",
+ " 0.034538 | \n",
+ "
\n",
+ " \n",
+ " | 30 | \n",
+ " 0.00 | \n",
+ " 0.325184 | \n",
+ "
\n",
+ " \n",
+ " | 31 | \n",
+ " 298.04 | \n",
+ " 27.212484 | \n",
+ "
\n",
+ " \n",
+ " | 32 | \n",
+ " 0.02 | \n",
+ " 0.595212 | \n",
+ "
\n",
+ " \n",
+ " | 33 | \n",
+ " 0.01 | \n",
+ " 0.443712 | \n",
+ "
\n",
+ " \n",
+ " | 34 | \n",
+ " 0.00 | \n",
+ " 0.220723 | \n",
+ "
\n",
+ " \n",
+ " | 35 | \n",
+ " 0.00 | \n",
+ " 0.053166 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Actual Predicted\n",
+ "0 0.20 0.123338\n",
+ "1 6.01 1.731932\n",
+ "2 0.22 0.697401\n",
+ "3 0.01 0.148485\n",
+ "4 0.00 0.036330\n",
+ "5 0.00 0.076719\n",
+ "6 0.00 0.025371\n",
+ "7 0.84 0.208838\n",
+ "8 7.28 0.460686\n",
+ "9 0.00 0.028592\n",
+ "10 0.00 0.057903\n",
+ "11 0.00 0.042105\n",
+ "12 0.02 0.060160\n",
+ "13 0.00 0.471210\n",
+ "14 0.02 0.149806\n",
+ "15 0.03 0.084253\n",
+ "16 0.00 0.052085\n",
+ "17 0.00 0.040004\n",
+ "18 0.22 0.177066\n",
+ "19 0.00 0.132119\n",
+ "20 0.00 0.164167\n",
+ "21 0.63 0.260512\n",
+ "22 0.02 0.013564\n",
+ "23 0.01 0.038167\n",
+ "24 3.12 0.864401\n",
+ "25 0.02 0.379715\n",
+ "26 0.04 0.155040\n",
+ "27 4.40 1.428889\n",
+ "28 0.01 0.002122\n",
+ "29 0.00 0.034538\n",
+ "30 0.00 0.325184\n",
+ "31 298.04 27.212484\n",
+ "32 0.02 0.595212\n",
+ "33 0.01 0.443712\n",
+ "34 0.00 0.220723\n",
+ "35 0.00 0.053166"
+ ]
+ },
+ "execution_count": 9,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df = pd.read_csv('./train-results/predicted-data-vis/burn_6.csv')\n",
+ "df"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Actual | \n",
+ " Predicted | \n",
+ " absolute_error | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 0.20 | \n",
+ " 0.123338 | \n",
+ " 0.076662 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 6.01 | \n",
+ " 1.731932 | \n",
+ " 4.278068 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 0.22 | \n",
+ " 0.697401 | \n",
+ " 0.477401 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 0.01 | \n",
+ " 0.148485 | \n",
+ " 0.138485 | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " 0.00 | \n",
+ " 0.036330 | \n",
+ " 0.036330 | \n",
+ "
\n",
+ " \n",
+ " | 5 | \n",
+ " 0.00 | \n",
+ " 0.076719 | \n",
+ " 0.076719 | \n",
+ "
\n",
+ " \n",
+ " | 6 | \n",
+ " 0.00 | \n",
+ " 0.025371 | \n",
+ " 0.025371 | \n",
+ "
\n",
+ " \n",
+ " | 7 | \n",
+ " 0.84 | \n",
+ " 0.208838 | \n",
+ " 0.631162 | \n",
+ "
\n",
+ " \n",
+ " | 8 | \n",
+ " 7.28 | \n",
+ " 0.460686 | \n",
+ " 6.819314 | \n",
+ "
\n",
+ " \n",
+ " | 9 | \n",
+ " 0.00 | \n",
+ " 0.028592 | \n",
+ " 0.028592 | \n",
+ "
\n",
+ " \n",
+ " | 10 | \n",
+ " 0.00 | \n",
+ " 0.057903 | \n",
+ " 0.057903 | \n",
+ "
\n",
+ " \n",
+ " | 11 | \n",
+ " 0.00 | \n",
+ " 0.042105 | \n",
+ " 0.042105 | \n",
+ "
\n",
+ " \n",
+ " | 12 | \n",
+ " 0.02 | \n",
+ " 0.060160 | \n",
+ " 0.040160 | \n",
+ "
\n",
+ " \n",
+ " | 13 | \n",
+ " 0.00 | \n",
+ " 0.471210 | \n",
+ " 0.471210 | \n",
+ "
\n",
+ " \n",
+ " | 14 | \n",
+ " 0.02 | \n",
+ " 0.149806 | \n",
+ " 0.129806 | \n",
+ "
\n",
+ " \n",
+ " | 15 | \n",
+ " 0.03 | \n",
+ " 0.084253 | \n",
+ " 0.054253 | \n",
+ "
\n",
+ " \n",
+ " | 16 | \n",
+ " 0.00 | \n",
+ " 0.052085 | \n",
+ " 0.052085 | \n",
+ "
\n",
+ " \n",
+ " | 17 | \n",
+ " 0.00 | \n",
+ " 0.040004 | \n",
+ " 0.040004 | \n",
+ "
\n",
+ " \n",
+ " | 18 | \n",
+ " 0.22 | \n",
+ " 0.177066 | \n",
+ " 0.042934 | \n",
+ "
\n",
+ " \n",
+ " | 19 | \n",
+ " 0.00 | \n",
+ " 0.132119 | \n",
+ " 0.132119 | \n",
+ "
\n",
+ " \n",
+ " | 20 | \n",
+ " 0.00 | \n",
+ " 0.164167 | \n",
+ " 0.164167 | \n",
+ "
\n",
+ " \n",
+ " | 21 | \n",
+ " 0.63 | \n",
+ " 0.260512 | \n",
+ " 0.369488 | \n",
+ "
\n",
+ " \n",
+ " | 22 | \n",
+ " 0.02 | \n",
+ " 0.013564 | \n",
+ " 0.006436 | \n",
+ "
\n",
+ " \n",
+ " | 23 | \n",
+ " 0.01 | \n",
+ " 0.038167 | \n",
+ " 0.028167 | \n",
+ "
\n",
+ " \n",
+ " | 24 | \n",
+ " 3.12 | \n",
+ " 0.864401 | \n",
+ " 2.255599 | \n",
+ "
\n",
+ " \n",
+ " | 25 | \n",
+ " 0.02 | \n",
+ " 0.379715 | \n",
+ " 0.359715 | \n",
+ "
\n",
+ " \n",
+ " | 26 | \n",
+ " 0.04 | \n",
+ " 0.155040 | \n",
+ " 0.115040 | \n",
+ "
\n",
+ " \n",
+ " | 27 | \n",
+ " 4.40 | \n",
+ " 1.428889 | \n",
+ " 2.971111 | \n",
+ "
\n",
+ " \n",
+ " | 28 | \n",
+ " 0.01 | \n",
+ " 0.002122 | \n",
+ " 0.007878 | \n",
+ "
\n",
+ " \n",
+ " | 29 | \n",
+ " 0.00 | \n",
+ " 0.034538 | \n",
+ " 0.034538 | \n",
+ "
\n",
+ " \n",
+ " | 30 | \n",
+ " 0.00 | \n",
+ " 0.325184 | \n",
+ " 0.325184 | \n",
+ "
\n",
+ " \n",
+ " | 31 | \n",
+ " 298.04 | \n",
+ " 27.212484 | \n",
+ " 270.827516 | \n",
+ "
\n",
+ " \n",
+ " | 32 | \n",
+ " 0.02 | \n",
+ " 0.595212 | \n",
+ " 0.575212 | \n",
+ "
\n",
+ " \n",
+ " | 33 | \n",
+ " 0.01 | \n",
+ " 0.443712 | \n",
+ " 0.433712 | \n",
+ "
\n",
+ " \n",
+ " | 34 | \n",
+ " 0.00 | \n",
+ " 0.220723 | \n",
+ " 0.220723 | \n",
+ "
\n",
+ " \n",
+ " | 35 | \n",
+ " 0.00 | \n",
+ " 0.053166 | \n",
+ " 0.053166 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Actual Predicted absolute_error\n",
+ "0 0.20 0.123338 0.076662\n",
+ "1 6.01 1.731932 4.278068\n",
+ "2 0.22 0.697401 0.477401\n",
+ "3 0.01 0.148485 0.138485\n",
+ "4 0.00 0.036330 0.036330\n",
+ "5 0.00 0.076719 0.076719\n",
+ "6 0.00 0.025371 0.025371\n",
+ "7 0.84 0.208838 0.631162\n",
+ "8 7.28 0.460686 6.819314\n",
+ "9 0.00 0.028592 0.028592\n",
+ "10 0.00 0.057903 0.057903\n",
+ "11 0.00 0.042105 0.042105\n",
+ "12 0.02 0.060160 0.040160\n",
+ "13 0.00 0.471210 0.471210\n",
+ "14 0.02 0.149806 0.129806\n",
+ "15 0.03 0.084253 0.054253\n",
+ "16 0.00 0.052085 0.052085\n",
+ "17 0.00 0.040004 0.040004\n",
+ "18 0.22 0.177066 0.042934\n",
+ "19 0.00 0.132119 0.132119\n",
+ "20 0.00 0.164167 0.164167\n",
+ "21 0.63 0.260512 0.369488\n",
+ "22 0.02 0.013564 0.006436\n",
+ "23 0.01 0.038167 0.028167\n",
+ "24 3.12 0.864401 2.255599\n",
+ "25 0.02 0.379715 0.359715\n",
+ "26 0.04 0.155040 0.115040\n",
+ "27 4.40 1.428889 2.971111\n",
+ "28 0.01 0.002122 0.007878\n",
+ "29 0.00 0.034538 0.034538\n",
+ "30 0.00 0.325184 0.325184\n",
+ "31 298.04 27.212484 270.827516\n",
+ "32 0.02 0.595212 0.575212\n",
+ "33 0.01 0.443712 0.433712\n",
+ "34 0.00 0.220723 0.220723\n",
+ "35 0.00 0.053166 0.053166"
+ ]
+ },
+ "execution_count": 10,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df['absolute_error'] = abs(df['Actual'] - df['Predicted'])\n",
+ "df"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "array([[2.0000e-01, 6.0100e+00, 2.2000e-01, 1.0000e-02, 0.0000e+00,\n",
+ " 0.0000e+00],\n",
+ " [0.0000e+00, 8.4000e-01, 7.2800e+00, 0.0000e+00, 0.0000e+00,\n",
+ " 0.0000e+00],\n",
+ " [2.0000e-02, 0.0000e+00, 2.0000e-02, 3.0000e-02, 0.0000e+00,\n",
+ " 0.0000e+00],\n",
+ " [2.2000e-01, 0.0000e+00, 0.0000e+00, 6.3000e-01, 2.0000e-02,\n",
+ " 1.0000e-02],\n",
+ " [3.1200e+00, 2.0000e-02, 4.0000e-02, 4.4000e+00, 1.0000e-02,\n",
+ " 0.0000e+00],\n",
+ " [0.0000e+00, 2.9804e+02, 2.0000e-02, 1.0000e-02, 0.0000e+00,\n",
+ " 0.0000e+00]])"
+ ]
+ },
+ "execution_count": 11,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "actual = np.array(df['Actual']).reshape(6, 6)\n",
+ "actual"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "array([[1.2333784e-01, 1.7319317e+00, 6.9740134e-01, 1.4848521e-01,\n",
+ " 3.6329575e-02, 7.6718920e-02],\n",
+ " [2.5370920e-02, 2.0883751e-01, 4.6068564e-01, 2.8591860e-02,\n",
+ " 5.7903297e-02, 4.2104594e-02],\n",
+ " [6.0160020e-02, 4.7121012e-01, 1.4980581e-01, 8.4252640e-02,\n",
+ " 5.2084606e-02, 4.0004183e-02],\n",
+ " [1.7706552e-01, 1.3211879e-01, 1.6416736e-01, 2.6051150e-01,\n",
+ " 1.3563856e-02, 3.8166553e-02],\n",
+ " [8.6440070e-01, 3.7971510e-01, 1.5504032e-01, 1.4288893e+00,\n",
+ " 2.1220404e-03, 3.4538448e-02],\n",
+ " [3.2518405e-01, 2.7212484e+01, 5.9521230e-01, 4.4371238e-01,\n",
+ " 2.2072323e-01, 5.3166490e-02]])"
+ ]
+ },
+ "execution_count": 12,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "predicted = np.array(df['Predicted']).reshape(6, 6)\n",
+ "predicted"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "array([[7.66621600e-02, 4.27806830e+00, 4.77401340e-01, 1.38485210e-01,\n",
+ " 3.63295750e-02, 7.67189200e-02],\n",
+ " [2.53709200e-02, 6.31162490e-01, 6.81931436e+00, 2.85918600e-02,\n",
+ " 5.79032970e-02, 4.21045940e-02],\n",
+ " [4.01600200e-02, 4.71210120e-01, 1.29805810e-01, 5.42526400e-02,\n",
+ " 5.20846060e-02, 4.00041830e-02],\n",
+ " [4.29344800e-02, 1.32118790e-01, 1.64167360e-01, 3.69488500e-01,\n",
+ " 6.43614400e-03, 2.81665530e-02],\n",
+ " [2.25559930e+00, 3.59715100e-01, 1.15040320e-01, 2.97111070e+00,\n",
+ " 7.87795960e-03, 3.45384480e-02],\n",
+ " [3.25184050e-01, 2.70827516e+02, 5.75212300e-01, 4.33712380e-01,\n",
+ " 2.20723230e-01, 5.31664900e-02]])"
+ ]
+ },
+ "execution_count": 13,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "abs_error = np.array(df['absolute_error']).reshape(6, 6)\n",
+ "abs_error"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "6\n",
+ "6\n",
+ "6\n",
+ "6\n"
+ ]
+ }
+ ],
+ "source": [
+ "matrix = predicted\n",
+ "color_matrix = abs_error\n",
+ "\n",
+ "print(len(matrix))\n",
+ "print(len(matrix[0]))\n",
+ "print(len(color_matrix))\n",
+ "print(len(color_matrix[0]))"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 19,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "image/png": "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6F1oUdbtvMfRu9Di7P59mqN3oUWReFiTmFiruO/URa8rtOlzKrbPy8uzWK7VatFqtVbrl5WVsWfPHh599FHzMqVSyZgxY/jrr7+q/Yy//vqL+++/32LZuHHj+P777wE4e/YsqampjBkzxvy+j48Pl156KX/99RczZsxg7969JCUloVQq6du3L6mpqfTp04fFixfTo0ePRn33lqReyUh+fr6990MIIYQwy8/Px8fHp8b3NRoNoaGh/P3HNTZ/lqenJ1FRURbLFi5cyFNPPWW17vnz59Hr9YSEhFgsDwkJ4dixY9WWn5qaWu36qamp5vcrltW0zpkzZwB46qmnePXVV4mOjuaVV15hxIgRnDhxAn9//3p+25apXslIeHg4CQkJeHl5oVAo7L1PQggh/qWMRiP5+fmEh4fXup6rqytnz56lrKysST7z4ntbdbUijmS40Jz0+OOP85///AeAjz/+mMjISFatWsXtt9/uyN2zWb2SEaVSSWRkpL33RQghhKi1RqQqV1dXXF1d7bw3lgIDA1GpVKSlpVksT0tLIzQ0tNptQkNDa12/4r9paWmEhYVZrNOnTx8A8/KqfUS0Wi3t2rUjPj7eti/VAshoGiGEEKKeNBoN/fv3548//jAvMxgM/PHHHwwePLjabQYPHmyxPsCGDRvM68fExBAaGmqxTl5eHjt37jSv079/f7RaLcePHzevU15eTlxcHG3btm2y7+coMumZEEII0QD3338/N910EwMGDOCSSy7h9ddfp7Cw0Dy65sYbbyQiIoJFixYBcN999zF8+HBeeeUVJk2axFdffcXff//N+++/D4BCoWD+/Pk899xzdOzYkZiYGJ544gnCw8PN84h4e3tzxx13sHDhQqKiomjbti2LFy8G4L///W/zB6GJSTIihBBCNMC1115LRkYGTz75pHlUy/r1680dUOPj41EqKxseLrvsMr744gsWLFjAY489RseOHfn+++8tRsE89NBDFBYWctttt5GTk8PQoUNZv369RTPU4sWLUavV3HDDDRQXF3PppZeyceNG/Pz8mu/L24nCWN/xU0IIIYQQdiB9RoQQQgjhUJKMCCGEEMKhJBkRQgghhENJMiKEEEIIh5JkRAghhBAOJcmIEEIIIRxKkhEhhBBCOJQkI0IIIYRwKElGhBBCCOFQkowIIYQQwqEkGRFCCCGEQ0kyIoQQ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",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "import numpy as np\n",
+ "import matplotlib.pyplot as plt\n",
+ "from matplotlib import cm\n",
+ "from matplotlib.colors import Normalize\n",
+ "\n",
+ "def get_color_for_value(value, cmap, min_value, max_value):\n",
+ " norm = Normalize(vmin=min_value, vmax=max_value)\n",
+ " return cmap(norm(value))\n",
+ "\n",
+ "def draw_grid(matrix, color_matrix, filename='output_plot.pdf'): # Set the default filename\n",
+ " # Create a color map\n",
+ " norm = Normalize(vmin=np.min(color_matrix), vmax=np.max(color_matrix))\n",
+ " cmap = cm.coolwarm # You can choose a different colormap if desired\n",
+ " norm = Normalize(vmin=min(map(min, color_matrix)), vmax=max(map(max, color_matrix)))\n",
+ " sm = plt.cm.ScalarMappable(cmap=cmap, norm=norm)\n",
+ " sm.set_array([])\n",
+ "\n",
+ " rows, cols = len(matrix), len(matrix[0])\n",
+ "\n",
+ " fig, ax = plt.subplots()\n",
+ "\n",
+ " # Draw horizontal lines\n",
+ " for i in range(rows + 1):\n",
+ " ax.axhline(i, color='black')\n",
+ "\n",
+ " # Draw vertical lines\n",
+ " for i in range(cols + 1):\n",
+ " ax.axvline(i, color='black')\n",
+ "\n",
+ " # Display numbers in the grid with at most 3 digits and fill cells based on color_matrix\n",
+ " for i in reversed(range(rows)):\n",
+ " for j in reversed(range(cols)):\n",
+ " number = matrix[i][j]\n",
+ " formatted_number = '{:.3f}'.format(number)[:6] # Ensure at most 3 digits before the decimal point\n",
+ " \n",
+ " color_value = color_matrix[i][j]\n",
+ " color = get_color_for_value(color_value, cmap, np.min(color_matrix), np.max(color_matrix))\n",
+ "\n",
+ " ax.add_patch(plt.Rectangle((j, i), 1, 1, fill=True, color=color))\n",
+ " ax.text(j + 0.5, i + 0.5, formatted_number, ha='center', va='center', fontsize=12, color='white')\n",
+ "\n",
+ " ax.set_xlim(0, cols)\n",
+ " ax.set_ylim(0, rows)\n",
+ " ax.set_xticks([]) # Remove x-axis ticks\n",
+ " ax.set_yticks([]) # Remove y-axis ticks\n",
+ " ax.invert_yaxis()\n",
+ "\n",
+ " # Add color bar\n",
+ " cbar = plt.colorbar(sm, ax=ax, orientation='vertical', pad=0.02)\n",
+ " cbar.set_label('Absolute Error', rotation=270, labelpad=15)\n",
+ " cbar.set_ticks([np.min(color_matrix), np.max(color_matrix)])\n",
+ " cbar.set_ticklabels(['{:.3f}'.format(np.min(color_matrix)), '{:.3f}'.format(np.max(color_matrix))])\n",
+ "\n",
+ " # Add label above the matrix (centered with the matrix)\n",
+ " plt.text(cols / 2, rows + 0.5, 'Predicted Values', ha='center', va='center', fontsize=14)\n",
+ "\n",
+ " plt.grid(False)\n",
+ "\n",
+ " # Save the plot as a PDF file\n",
+ " plt.savefig(filename, format='pdf')\n",
+ "\n",
+ " # Show the plot (if needed)\n",
+ " plt.show()\n",
+ "\n",
+ "# Call the function to draw the grid and save it as a PDF\n",
+ "draw_grid(matrix, color_matrix, filename='output_plot.pdf')\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": []
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "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.10.8"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}
diff --git a/predictions_data_vis.py b/predictions_data_vis.py
new file mode 100644
index 0000000000..fedbea8d6d
--- /dev/null
+++ b/predictions_data_vis.py
@@ -0,0 +1,96 @@
+import pandas as pd
+import numpy as np
+import matplotlib.pyplot as plt
+from matplotlib import cm
+from matplotlib.colors import Normalize
+
+def get_color_for_value(value, cmap, min_value, max_value):
+ norm = Normalize(vmin=min_value, vmax=max_value)
+ return cmap(norm(value))
+
+def create_color_map(color_matrix, cmap=cm.coolwarm):
+ norm = Normalize(vmin=np.min(color_matrix), vmax=np.max(color_matrix))
+ cmap = cm.coolwarm # You can choose a different colormap if desired
+ norm = Normalize(vmin=min(map(min, color_matrix)), vmax=max(map(max, color_matrix)))
+ sm = plt.cm.ScalarMappable(cmap=cmap, norm=norm)
+ sm.set_array([])
+ return cmap, sm
+
+
+def draw_grid(matrix, error_matrix, color_matrix, filename='output_plot.pdf'): # Set the default filename
+ # # Create a color map
+ # norm = Normalize(vmin=np.min(color_matrix), vmax=np.max(color_matrix))
+ # cmap = cm.coolwarm # You can choose a different colormap if desired
+ # norm = Normalize(vmin=min(map(min, color_matrix)), vmax=max(map(max, color_matrix)))
+ # sm = plt.cm.ScalarMappable(cmap=cmap, norm=norm)
+ # sm.set_array([])
+ cmap, sm = create_color_map(color_matrix)
+
+ rows, cols = len(matrix), len(matrix[0])
+
+ fig, ax = plt.subplots()
+
+ # Draw horizontal lines
+ for i in range(rows + 1):
+ ax.axhline(i, color='black')
+
+ # Draw vertical lines
+ for i in range(cols + 1):
+ ax.axvline(i, color='black')
+
+ # Display numbers in the grid with at most 3 digits and fill cells based on color_matrix
+ for i in reversed(range(rows)):
+ for j in reversed(range(cols)):
+ number = matrix[i][j]
+ formatted_number = '{:.3f}'.format(number)[:6] # Ensure at most 3 digits before the decimal point
+
+ error_value = error_matrix[i][j]
+ color = get_color_for_value(error_value, cmap, np.min(color_matrix), np.max(color_matrix))
+
+ ax.add_patch(plt.Rectangle((j, i), 1, 1, fill=True, color=color))
+ ax.text(j + 0.5, i + 0.5, formatted_number, ha='center', va='center', fontsize=12, color='white')
+
+ ax.set_xlim(0, cols)
+ ax.set_ylim(0, rows)
+ ax.set_xticks([]) # Remove x-axis ticks
+ ax.set_yticks([]) # Remove y-axis ticks
+ ax.invert_yaxis()
+
+ # Add color bar
+ cbar = plt.colorbar(sm, ax=ax, orientation='vertical', pad=0.02)
+ cbar.set_label('Absolute Error', rotation=270, labelpad=15)
+ cbar.set_ticks([np.min(color_matrix), np.max(color_matrix)])
+ cbar.set_ticklabels(['{:.3f}'.format(np.min(color_matrix)), '{:.3f}'.format(np.max(color_matrix))])
+
+ # Add label above the matrix (centered with the matrix)
+ plt.text(cols / 2, rows + 0.5, 'Predicted Values', ha='center', va='center', fontsize=14)
+
+ plt.grid(False)
+
+ # Save the plot as a PDF file
+ plt.savefig(filename, format='pdf')
+
+ # Show the plot (if needed)
+ # plt.show()
+
+def main():
+ color_matrix = None
+ base_path = "./train-results/predicted-data-vis/"
+
+ data_files = ["burn_6.csv", "burn_11.csv", "burn_16.csv", "burn_21.csv"]
+ for file in data_files:
+ df = pd.read_csv(base_path + file)
+ df['absolute_error'] = abs(df['Actual'] - df['Predicted'])
+
+ actual = np.array(df['Actual']).reshape(6, 6)
+ predicted = np.array(df['Predicted']).reshape(6, 6)
+ abs_error = np.array(df['absolute_error']).reshape(6, 6)
+
+ # set the color scale to have the same range for all plots
+ if file == "burn_6.csv":
+ color_matrix = abs_error
+
+ draw_grid(predicted, abs_error, color_matrix, filename=f'{base_path}{file.replace(".csv", "")}.pdf')
+
+if __name__ == '__main__':
+ main()
\ No newline at end of file
diff --git a/train-results/predicted-data-vis/burn_11.csv b/train-results/predicted-data-vis/burn_11.csv
new file mode 100644
index 0000000000..59e7de4643
--- /dev/null
+++ b/train-results/predicted-data-vis/burn_11.csv
@@ -0,0 +1,37 @@
+Actual,Predicted
+33.00999999999999,2.441566
+0.13,1.287153
+30.04,9.662184
+0.04,1.4504021
+0.0,0.57912457
+0.0,1.5314125
+0.02,0.33348063
+4.25,4.697654
+0.18,1.2343149
+0.04,1.4911749
+0.0,0.50423425
+0.01,0.71346486
+0.0,2.164581
+0.0,1.8728352
+1.0,0.56869173
+0.19,1.6881206
+0.0,1.2043515
+0.0,0.57622427
+0.46,0.62170124
+0.08,0.12295965
+0.67,0.73713386
+0.81,1.0150232
+0.28,0.786072
+0.03,3.3052664
+0.9599999999999999,1.2515504
+0.1,0.37647727
+0.12,0.77600485
+0.04,0.7376241
+0.39,1.1295924
+0.0,1.2982188
+0.04,1.1077411
+0.67,2.7119973
+0.03,0.8327027
+0.09,1.1176233
+12.039999999999997,7.7226386
+0.02,1.3766172
diff --git a/train-results/predicted-data-vis/burn_11.pdf b/train-results/predicted-data-vis/burn_11.pdf
new file mode 100644
index 0000000000..1b7e394b67
Binary files /dev/null and b/train-results/predicted-data-vis/burn_11.pdf differ
diff --git a/train-results/predicted-data-vis/burn_16.csv b/train-results/predicted-data-vis/burn_16.csv
new file mode 100644
index 0000000000..3081a1f8a2
--- /dev/null
+++ b/train-results/predicted-data-vis/burn_16.csv
@@ -0,0 +1,37 @@
+Actual,Predicted
+0.03,0.09476566
+0.0,0.14770453
+0.0,0.028910527
+0.0,0.16033459
+0.0,0.3812819
+0.0,0.029445633
+0.0,0.12857425
+0.0,0.34443325
+0.0,0.5202863
+0.0,0.30236974
+0.0,0.15392835
+0.0,0.011927954
+0.0,0.21076563
+0.0,0.12555586
+0.0,0.22733401
+0.0,0.31207517
+0.0,0.086362086
+0.0,0.04986767
+0.0,0.39596963
+1.2,0.2759399
+0.0,0.09705978
+0.03,0.21685342
+0.0,0.09518449
+0.0,0.08952272
+0.0,0.079145834
+0.0,0.041401234
+0.0,0.02609378
+0.0,0.33272585
+0.0,0.17639832
+0.0,0.09980161
+0.0,0.2981202
+0.0,0.035559975
+0.0,0.01701772
+0.0,0.21755119
+0.0,0.07301146
+0.0,0.08434749
diff --git a/train-results/predicted-data-vis/burn_16.pdf b/train-results/predicted-data-vis/burn_16.pdf
new file mode 100644
index 0000000000..17e98c5830
Binary files /dev/null and b/train-results/predicted-data-vis/burn_16.pdf differ
diff --git a/train-results/predicted-data-vis/burn_21.csv b/train-results/predicted-data-vis/burn_21.csv
new file mode 100644
index 0000000000..f76228541d
--- /dev/null
+++ b/train-results/predicted-data-vis/burn_21.csv
@@ -0,0 +1,37 @@
+Actual,Predicted
+0.0,0.25413516
+0.0,0.089969926
+0.0,0.10162594
+0.0,0.16334783
+0.0,0.100038044
+0.0,0.058781154
+0.0,0.15500419
+0.0,0.21634062
+0.0,0.40450987
+0.0,0.074236505
+0.0,0.06423112
+0.0,0.009109741
+0.0,0.11614813
+0.0,0.16305806
+0.0,0.32475373
+0.0,0.119550474
+0.0,0.048834827
+0.0,0.019283405
+0.0,0.4140485
+0.0,0.21384089
+0.0,0.13307574
+0.0,0.34860623
+0.0,0.15205687
+0.0,0.029667513
+0.0,0.1426917
+0.0,0.12611139
+0.0,0.2047455
+0.0,0.23884013
+0.0,0.06072749
+0.0,0.0063803126
+0.02,0.2802802
+0.0,0.6642211
+0.0,0.07595109
+0.0,0.20884931
+0.0,0.08108409
+0.0,0.021940004
diff --git a/train-results/predicted-data-vis/burn_21.pdf b/train-results/predicted-data-vis/burn_21.pdf
new file mode 100644
index 0000000000..52c45061e9
Binary files /dev/null and b/train-results/predicted-data-vis/burn_21.pdf differ
diff --git a/train-results/predicted-data-vis/burn_6.csv b/train-results/predicted-data-vis/burn_6.csv
new file mode 100644
index 0000000000..4c762fa622
--- /dev/null
+++ b/train-results/predicted-data-vis/burn_6.csv
@@ -0,0 +1,37 @@
+Actual,Predicted
+0.20000000000000004,0.12333784
+6.01,1.7319317
+0.22,0.69740134
+0.01,0.14848521
+0.0,0.036329575
+0.0,0.07671892
+0.0,0.02537092
+0.8400000000000001,0.20883751
+7.279999999999999,0.46068564
+0.0,0.02859186
+0.0,0.057903297
+0.0,0.042104594
+0.02,0.06016002
+0.0,0.47121012
+0.02,0.14980581
+0.03,0.08425264
+0.0,0.052084606
+0.0,0.040004183
+0.22,0.17706552
+0.0,0.13211879
+0.0,0.16416736
+0.63,0.2605115
+0.02,0.013563856
+0.01,0.038166553
+3.12,0.8644007
+0.02,0.3797151
+0.04,0.15504032
+4.4,1.4288893
+0.01,0.0021220404
+0.0,0.034538448
+0.0,0.32518405
+298.0400000000001,27.212484
+0.02,0.5952123
+0.01,0.44371238
+0.0,0.22072323
+0.0,0.05316649
diff --git a/train-results/predicted-data-vis/burn_6.pdf b/train-results/predicted-data-vis/burn_6.pdf
new file mode 100644
index 0000000000..14272b393f
Binary files /dev/null and b/train-results/predicted-data-vis/burn_6.pdf differ