diff --git a/01-01 Introduction au Deep Learning.ipynb b/01-01 Introduction au Deep Learning.ipynb index b68f367..868adaa 100644 --- a/01-01 Introduction au Deep Learning.ipynb +++ b/01-01 Introduction au Deep Learning.ipynb @@ -1 +1,1992 @@ -{"nbformat":4,"nbformat_minor":0,"metadata":{"colab":{"provenance":[],"authorship_tag":"ABX9TyPFVs+93oRbAoIk9v5hcozQ"},"kernelspec":{"name":"python3","display_name":"Python 3"},"language_info":{"name":"python"}},"cells":[{"cell_type":"code","execution_count":null,"metadata":{"id":"SPUwbC-Xp5cD"},"outputs":[],"source":["import tensorflow as tf\n","from tensorflow.keras.models import Sequential\n","from tensorflow.keras.layers import Dense\n","from tensorflow.keras.optimizers import SGD"]},{"cell_type":"code","source":["import pandas as pd\n","import numpy as np\n","\n","data_url = \"http://lib.stat.cmu.edu/datasets/boston\"\n","raw_df = pd.read_csv(data_url, sep=\"\\s+\", skiprows=22, header=None)\n","data = np.hstack([raw_df.values[::2, :], raw_df.values[1::2, :2]])\n","target = raw_df.values[1::2, 2]\n","data = data\n","target = target\n","\n","# Scaling the data\n","from sklearn.preprocessing import StandardScaler\n","s = StandardScaler()\n","data = s.fit_transform(data)\n","target = target.reshape((-1, 1))\n","\n","from sklearn.model_selection import train_test_split\n","X_train, X_test, y_train, y_test = train_test_split(data, target, test_size=0.3, random_state=80718)"],"metadata":{"id":"6tnFWK2E9bWc"},"execution_count":null,"outputs":[]},{"cell_type":"code","source":["data.shape"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"7QkFmods-Ax-","executionInfo":{"status":"ok","timestamp":1687224365140,"user_tz":-60,"elapsed":464,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"78c37bad-636d-44a3-ccbd-dbfae0aa35c4"},"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"text/plain":["(506, 13)"]},"metadata":{},"execution_count":3}]},{"cell_type":"code","source":["lr = Sequential([Dense(units=1, activation='relu')])\n","lr.compile(optimizer=SGD(learning_rate=0.1), loss='mse')\n","history = lr.fit(X_train, y_train, epochs=50, validation_data=(X_test, y_test))"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"x62VHASR9dzo","executionInfo":{"status":"ok","timestamp":1687224541984,"user_tz":-60,"elapsed":6405,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"062994e9-db9a-4911-8e2d-9ddb059a9665"},"execution_count":null,"outputs":[{"output_type":"stream","name":"stdout","text":["Epoch 1/50\n","12/12 [==============================] - 1s 15ms/step - loss: 22.2078 - val_loss: 21.5207\n","Epoch 2/50\n","12/12 [==============================] - 0s 6ms/step - loss: 22.1485 - val_loss: 21.4590\n","Epoch 3/50\n","12/12 [==============================] - 0s 4ms/step - loss: 22.0872 - val_loss: 21.4028\n","Epoch 4/50\n","12/12 [==============================] - 0s 5ms/step - loss: 22.0305 - val_loss: 21.3550\n","Epoch 5/50\n","12/12 [==============================] - 0s 6ms/step - loss: 21.9840 - val_loss: 21.3158\n","Epoch 6/50\n","12/12 [==============================] - 0s 6ms/step - loss: 21.9470 - val_loss: 21.2835\n","Epoch 7/50\n","12/12 [==============================] - 0s 5ms/step - loss: 21.9167 - val_loss: 21.2541\n","Epoch 8/50\n","12/12 [==============================] - 0s 5ms/step - loss: 21.8916 - val_loss: 21.2322\n","Epoch 9/50\n","12/12 [==============================] - 0s 4ms/step - loss: 21.8715 - val_loss: 21.2141\n","Epoch 10/50\n","12/12 [==============================] - 0s 6ms/step - loss: 21.8552 - val_loss: 21.1993\n","Epoch 11/50\n","12/12 [==============================] - 0s 5ms/step - loss: 21.8420 - val_loss: 21.1871\n","Epoch 12/50\n","12/12 [==============================] - 0s 5ms/step - loss: 21.8308 - val_loss: 21.1771\n","Epoch 13/50\n","12/12 [==============================] - 0s 5ms/step - loss: 21.8214 - val_loss: 21.1685\n","Epoch 14/50\n","12/12 [==============================] - 0s 6ms/step - loss: 21.8134 - val_loss: 21.1610\n","Epoch 15/50\n","12/12 [==============================] - 0s 6ms/step - loss: 21.8066 - val_loss: 21.1544\n","Epoch 16/50\n","12/12 [==============================] - 0s 5ms/step - loss: 21.8007 - val_loss: 21.1489\n","Epoch 17/50\n","12/12 [==============================] - 0s 6ms/step - loss: 21.7957 - val_loss: 21.1442\n","Epoch 18/50\n","12/12 [==============================] - 0s 5ms/step - loss: 21.7912 - val_loss: 21.1401\n","Epoch 19/50\n","12/12 [==============================] - 0s 5ms/step - loss: 21.7873 - val_loss: 21.1362\n","Epoch 20/50\n","12/12 [==============================] - 0s 4ms/step - loss: 21.7838 - val_loss: 21.1328\n","Epoch 21/50\n","12/12 [==============================] - 0s 5ms/step - loss: 21.7807 - val_loss: 21.1299\n","Epoch 22/50\n","12/12 [==============================] - 0s 5ms/step - loss: 21.7779 - val_loss: 21.1271\n","Epoch 23/50\n","12/12 [==============================] - 0s 6ms/step - loss: 21.7752 - val_loss: 21.1246\n","Epoch 24/50\n","12/12 [==============================] - 0s 5ms/step - loss: 21.7729 - val_loss: 21.1223\n","Epoch 25/50\n","12/12 [==============================] - 0s 5ms/step - loss: 21.7708 - val_loss: 21.1203\n","Epoch 26/50\n","12/12 [==============================] - 0s 6ms/step - loss: 21.7689 - val_loss: 21.1183\n","Epoch 27/50\n","12/12 [==============================] - 0s 5ms/step - loss: 21.7671 - val_loss: 21.1165\n","Epoch 28/50\n","12/12 [==============================] - 0s 5ms/step - loss: 21.7655 - val_loss: 21.1150\n","Epoch 29/50\n","12/12 [==============================] - 0s 6ms/step - loss: 21.7640 - val_loss: 21.1134\n","Epoch 30/50\n","12/12 [==============================] - 0s 5ms/step - loss: 21.7626 - val_loss: 21.1120\n","Epoch 31/50\n","12/12 [==============================] - 0s 5ms/step - loss: 21.7612 - val_loss: 21.1107\n","Epoch 32/50\n","12/12 [==============================] - 0s 7ms/step - loss: 21.7600 - val_loss: 21.1095\n","Epoch 33/50\n","12/12 [==============================] - 0s 5ms/step - loss: 21.7589 - val_loss: 21.1084\n","Epoch 34/50\n","12/12 [==============================] - 0s 6ms/step - loss: 21.7578 - val_loss: 21.1074\n","Epoch 35/50\n","12/12 [==============================] - 0s 5ms/step - loss: 21.7569 - val_loss: 21.1064\n","Epoch 36/50\n","12/12 [==============================] - 0s 6ms/step - loss: 21.7560 - val_loss: 21.1056\n","Epoch 37/50\n","12/12 [==============================] - 0s 6ms/step - loss: 21.7551 - val_loss: 21.1047\n","Epoch 38/50\n","12/12 [==============================] - 0s 6ms/step - loss: 21.7543 - val_loss: 21.1039\n","Epoch 39/50\n","12/12 [==============================] - 0s 6ms/step - loss: 21.7536 - val_loss: 21.1031\n","Epoch 40/50\n","12/12 [==============================] - 0s 6ms/step - loss: 21.7529 - val_loss: 21.1024\n","Epoch 41/50\n","12/12 [==============================] - 0s 6ms/step - loss: 21.7522 - val_loss: 21.1018\n","Epoch 42/50\n","12/12 [==============================] - 0s 6ms/step - loss: 21.7516 - val_loss: 21.1011\n","Epoch 43/50\n","12/12 [==============================] - 0s 4ms/step - loss: 21.7510 - val_loss: 21.1005\n","Epoch 44/50\n","12/12 [==============================] - 0s 5ms/step - loss: 21.7504 - val_loss: 21.1000\n","Epoch 45/50\n","12/12 [==============================] - 0s 5ms/step - loss: 21.7498 - val_loss: 21.0994\n","Epoch 46/50\n","12/12 [==============================] - 0s 4ms/step - loss: 21.7493 - val_loss: 21.0989\n","Epoch 47/50\n","12/12 [==============================] - 0s 7ms/step - loss: 21.7488 - val_loss: 21.0984\n","Epoch 48/50\n","12/12 [==============================] - 0s 5ms/step - loss: 21.7483 - val_loss: 21.0979\n","Epoch 49/50\n","12/12 [==============================] - 0s 6ms/step - loss: 21.7479 - val_loss: 21.0975\n","Epoch 50/50\n","12/12 [==============================] - 0s 6ms/step - loss: 21.7474 - val_loss: 21.0971\n"]}]},{"cell_type":"code","source":["lr"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"4uI4DG0r9maQ","executionInfo":{"status":"ok","timestamp":1687183344200,"user_tz":-60,"elapsed":8,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"5d3e7375-a9a8-47ac-e0ea-408bb49807bd"},"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"text/plain":[""]},"metadata":{},"execution_count":5}]},{"cell_type":"markdown","source":["# Premier Exemple d'apprentissage"],"metadata":{"id":"G1MdmS3M-qfa"}},{"cell_type":"code","source":["import numpy as np\n","import pandas as pd\n","import matplotlib.pyplot as plt"],"metadata":{"id":"iaVMzBnv9r2R"},"execution_count":null,"outputs":[]},{"cell_type":"code","source":["data = pd.DataFrame([ {\"n_chambres\" : 2, \"prix\" : 10}, {\"n_chambres\" : 4, \"prix\" : 20}])\n","data"],"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":112},"id":"AZYcRgDUAaWN","executionInfo":{"status":"ok","timestamp":1687184110595,"user_tz":-60,"elapsed":17,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"90094744-253d-4652-fabf-918d34e58004"},"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"text/plain":[" n_chambres prix\n","0 2 10\n","1 4 20"],"text/html":["\n","
\n","
\n","
\n","\n","\n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n","
n_chambresprix
0210
1420
\n","
\n"," \n"," \n"," \n","\n"," \n","
\n","
\n"," "]},"metadata":{},"execution_count":9}]},{"cell_type":"code","source":["plt.scatter(data[\"n_chambres\"], data['prix'], c=\"r\")\n","plt.show()"],"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":430},"id":"6-KHhlu6Am6q","executionInfo":{"status":"ok","timestamp":1687184188050,"user_tz":-60,"elapsed":362,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"a832e1d4-6b2a-4ac3-bf54-482db914b11e"},"execution_count":null,"outputs":[{"output_type":"display_data","data":{"text/plain":["
"],"image/png":"iVBORw0KGgoAAAANSUhEUgAAAh8AAAGdCAYAAACyzRGfAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAdt0lEQVR4nO3df5BV9X34/9eVZVeGsFcxwrLZ5UfbiJoI0yTGYkRhZATCgJQ6CbE1a5tp2gykEo2jODU2k84stbbVdMiPtgb6Y5SpjhCirdGou5gUNYVuBWtQnK0u4mLHjLsshi1lz+cPvtyvFxbYu9x9s3fzeMzc0T33fe6+33M8uc/ce+7dXJZlWQAAJHLWmZ4AAPDLRXwAAEmJDwAgKfEBACQlPgCApMQHAJCU+AAAkhIfAEBSVWd6Asfq6+uLvXv3xrhx4yKXy53p6QAAA5BlWezfvz/q6+vjrLNO/trGsIuPvXv3RmNj45meBgAwCB0dHdHQ0HDSMcMuPsaNGxcRRyZfW1t7hmcDAAxEd3d3NDY2Fp7HT2bYxcfRt1pqa2vFBwBUmIFcMuGCUwAgKfEBACQlPgCApMQHAJCU+AAAkhIfAEBS4gMASEp8AABJDbsvGQMAhsjhwxHPPhvx1lsRkyZFzJ4dMWpU8mmU9MpHc3NzXHrppTFu3LiYMGFCLF26NHbt2lU05uDBg7FixYo477zz4gMf+ED81m/9Vuzbt6+skwYASvTIIxFTp0bMnRtx/fVH/jl16pHtiZUUH62trbFixYp47rnn4sknn4xDhw7FNddcEwcOHCiM+cpXvhI/+MEP4qGHHorW1tbYu3dvLFu2rOwTBwAG6JFHIq67LmLPnuLtb755ZHviAMllWZYNduf/+Z//iQkTJkRra2tceeWV0dXVFeeff3488MADcd1110VExM9+9rO46KKLYuvWrfEbv/Ebp3zM7u7uyOfz0dXV5W+7AMDpOnz4yCscx4bHUblcRENDRHv7ab0FU8rz92ldcNrV1RUREePHj4+IiG3btsWhQ4di3rx5hTEXXnhhTJ48ObZu3drvY/T29kZ3d3fRDQAok2efPXF4RERkWURHx5FxiQw6Pvr6+mLVqlXxqU99Kj760Y9GRERnZ2dUV1fHOeecUzR24sSJ0dnZ2e/jNDc3Rz6fL9waGxsHOyUA4FhvvVXecWUw6PhYsWJF7Ny5MzZs2HBaE1i9enV0dXUVbh0dHaf1eADA+0yaVN5xZTCoj9quXLkyHn300diyZUs0NDQUttfV1cX//u//xrvvvlv06se+ffuirq6u38eqqamJmpqawUwDADiV2bOPXNPx5ptH3mI51tFrPmbPTjalkl75yLIsVq5cGRs3boynn346pk2bVnT/xz/+8Rg9enQ89dRThW27du2KN954I2bNmlWeGQMAAzdqVMR99x3591yu+L6jP997b9Lv+yjplY8VK1bEAw88EN///vdj3Lhxhes48vl8jBkzJvL5fHzhC1+Im2++OcaPHx+1tbXx5S9/OWbNmjWgT7oAAENg2bKIhx+OuOmm4otPGxqOhEfir8Qo6aO2uWOL6f+zbt26uPHGGyPiyJeM3XLLLfHggw9Gb29vzJ8/P771rW+d8G2XY/moLQAMkSH8htNSnr9P63s+hoL4AIDKk+x7PgAASiU+AICkxAcAkJT4AACSEh8AQFLiAwBISnwAAEmJDwAgKfEBACQlPgCApMQHAJCU+AAAkhIfAEBS4gMASEp8AABJiQ8AICnxAQAkJT4AgKTEBwCQlPgAAJISHwBAUuIDAEhKfAAASYkPACAp8QEAJCU+AICkxAcAkJT4AACSEh8AQFLiAwBISnwAAEmJDwAgKfEBACQlPgCApMQHAJCU+AAAkhIfAEBS4gMASEp8AABJiQ8AICnxAQAkJT4AgKTEBwCQlPgAAJISHwBAUuIDAEhKfAAASYkPACAp8QEAJCU+AICkxAcAkJT4AACSEh8AQFLiAwBISnwAAEmJDwAgKfEBACRVcnxs2bIlFi9eHPX19ZHL5WLTpk1F9/f09MTKlSujoaEhxowZExdffHF85zvfKdd8AYAKV3J8HDhwIGbOnBlr167t9/6bb745Hn/88finf/qnePnll2PVqlWxcuXK2Lx582lPFgCofFWl7rBw4cJYuHDhCe//t3/7t2hqaoo5c+ZERMQXv/jF+O53vxsvvPBCLFmyZNATBQBGhrJf83H55ZfH5s2b480334wsy+KZZ56JV155Ja655pp+x/f29kZ3d3fRDQAYucoeH3/9138dF198cTQ0NER1dXUsWLAg1q5dG1deeWW/45ubmyOfzxdujY2N5Z4SADCMDEl8PPfcc7F58+bYtm1b/MVf/EWsWLEifvSjH/U7fvXq1dHV1VW4dXR0lHtKAMAwUvI1Hyfzi1/8Iu64447YuHFjLFq0KCIiZsyYEW1tbXHPPffEvHnzjtunpqYmampqyjkNAGAYK+srH4cOHYpDhw7FWWcVP+yoUaOir6+vnL8KAKhQJb/y0dPTE7t37y783N7eHm1tbTF+/PiYPHlyXHXVVXHrrbfGmDFjYsqUKdHa2hr/8A//EH/5l39Z1okDAJUpl2VZVsoOLS0tMXfu3OO2NzU1xfr166OzszNWr14dTzzxRPz85z+PKVOmxBe/+MX4yle+Erlc7pSP393dHfl8Prq6uqK2traUqQEAZ0gpz98lx8dQEx8AUHlKef72t10AgKTEBwCQlPgAAJISHwBAUuIDAEhKfAAASYkPACAp8QEAJCU+AICkxAcAkJT4AACSEh8AQFLiAwBISnwAAEmJDwAgKfEBACQlPgCApMQHAJCU+AAAkhIfAEBS4gMASEp8AABJiQ8AICnxAQAkJT4AgKTEBwCQlPgAAJISHwBAUuIDAEhKfAAASYkPACAp8QEAJCU+AICkxAcAkJT4AACSEh8AQFLiAwBISnwAAEmJDwAgKfEBACQlPgCApMQHAJCU+AAAkhIfAEBS4gMASEp8AABJiQ8AICnxAQAkJT4AgKTEBwCQlPgAAJISHwBAUuIDAEhKfAAASYkPACAp8QEAJFVyfGzZsiUWL14c9fX1kcvlYtOmTceNefnll2PJkiWRz+dj7Nixcemll8Ybb7xRjvkCABWu5Pg4cOBAzJw5M9auXdvv/a+99lpcccUVceGFF0ZLS0u8+OKLceedd8bZZ5992pMFACpfLsuybNA753KxcePGWLp0aWHb8uXLY/To0fGP//iPg3rM7u7uyOfz0dXVFbW1tYOdGgCQUCnP32W95qOvry8ee+yxuOCCC2L+/PkxYcKEuOyyy/p9a+ao3t7e6O7uLroBACNXWePj7bffjp6enlizZk0sWLAgnnjiifjN3/zNWLZsWbS2tva7T3Nzc+Tz+cKtsbGxnFMCAIaZsr7tsnfv3vjQhz4Un/vc5+KBBx4ojFuyZEmMHTs2HnzwweMeo7e3N3p7ews/d3d3R2Njo7ddAKCClPK2S1U5f/EHP/jBqKqqiosvvrho+0UXXRQ//vGP+92npqYmampqyjkNAGAYK+vbLtXV1XHppZfGrl27ira/8sorMWXKlHL+KgCgQpX8ykdPT0/s3r278HN7e3u0tbXF+PHjY/LkyXHrrbfGZz/72bjyyitj7ty58fjjj8cPfvCDaGlpKee8AYAKVfI1Hy0tLTF37tzjtjc1NcX69esjIuJ73/teNDc3x549e2L69Onx9a9/Pa699toBPb6P2gJA5Snl+fu0LjgdCuIDACrPGfueDwCAUxEfAEBS4gMASEp8AABJiQ8AICnxAQAkJT4AgKTEBwCQlPgAAJISHwBAUuIDAEhKfAAASYkPACAp8QEAJCU+AICkxAcAkJT4AACSEh8AQFLiAwBISnwAAEmJDwAgKfEBACQlPgCApMQHAJCU+AAAkhIfAEBS4gMASEp8AABJiQ8AICnxAQAkJT4AgKTEBwCQlPgAAJISHwBAUuIDAEhKfAAASYkPACAp8QEAJCU+AICkxAcAkJT4AACSEh8AQFLiAwBISnwAAEmJDwAgKfEBACQlPgCApMQHAJCU+AAAkhIfAEBS4gMASEp8AABJiQ8AICnxAQAkJT4AgKTEBwCQVMnxsWXLlli8eHHU19dHLpeLTZs2nXDsH/7hH0Yul4t77733NKYIAIwkJcfHgQMHYubMmbF27dqTjtu4cWM899xzUV9fP+jJAQAjT1WpOyxcuDAWLlx40jFvvvlmfPnLX44f/vCHsWjRokFPDgAYeUqOj1Pp6+uLG264IW699db4yEc+csrxvb290dvbW/i5u7u73FMCAIaRsl9w+md/9mdRVVUVf/RHfzSg8c3NzZHP5wu3xsbGck8JABhGyhof27Zti/vuuy/Wr18fuVxuQPusXr06urq6CreOjo5yTgkAGGbKGh/PPvtsvP322zF58uSoqqqKqqqqeP311+OWW26JqVOn9rtPTU1N1NbWFt0AgJGrrNd83HDDDTFv3ryibfPnz48bbrghfvd3f7ecvwoAqFAlx0dPT0/s3r278HN7e3u0tbXF+PHjY/LkyXHeeecVjR89enTU1dXF9OnTT3+2AEDFKzk+/v3f/z3mzp1b+Pnmm2+OiIimpqZYv3592SYGAIxMJcfHnDlzIsuyAY//7//+71J/BQAwgvnbLgBAUuIDAEhKfAAASYkPACAp8QEAJCU+AICkxAcAkJT4AACSEh8AQFLiAwBISnwAAEmJDwAgKfEBACQlPgCApMQHAJCU+AAAkhIfAEBS4gMASEp8AABJiQ8AICnxAQAkJT4AgKTEBwCQlPgAAJISHwBAUuIDAEhKfAAASYkPACAp8QEAJCU+AICkxAcAkJT4AACSEh8AQFLiAwBISnwAAEmJDwAgKfEBACQlPgCApMQHAJCU+AAAkhIfAEBS4gMASEp8AABJiQ8AICnxAQAkJT4AgKTEBwCQlPgAAJISHwBAUuIDAEhKfAAASYkPACAp8QEAJCU+AICkxAcAkJT4AACSKjk+tmzZEosXL476+vrI5XKxadOmwn2HDh2K2267LS655JIYO3Zs1NfXx+c///nYu3dvOecMAFSwkuPjwIEDMXPmzFi7du1x97333nuxffv2uPPOO2P79u3xyCOPxK5du2LJkiVlmSwAUPlyWZZlg945l4uNGzfG0qVLTzjmpz/9aXzyk5+M119/PSZPnnzKx+zu7o58Ph9dXV1RW1s72KkBAAmV8vxdNdST6erqilwuF+ecc06/9/f29kZvb2/h5+7u7qGeEgBwBg3pBacHDx6M2267LT73uc+dsIKam5sjn88Xbo2NjUM5JQDgDBuy+Dh06FB85jOfiSzL4tvf/vYJx61evTq6uroKt46OjqGaEgAwDAzJ2y5Hw+P111+Pp59++qTv/dTU1ERNTc1QTAMAGIbKHh9Hw+PVV1+NZ555Js4777xy/woAoIKVHB89PT2xe/fuws/t7e3R1tYW48ePj0mTJsV1110X27dvj0cffTQOHz4cnZ2dERExfvz4qK6uLt/MAYCKVPJHbVtaWmLu3LnHbW9qaoo/+ZM/iWnTpvW73zPPPBNz5sw55eP7qC0AVJ4h/ajtnDlz4mS9chpfGwIA/BLwt10AgKTEBwCQlPgAAJISHwBAUuIDAEhKfAAASYkPACAp8QEAJCU+AICkxAcAkJT4AACSEh8AQFLiAwBISnwAAEmJDwAgKfEBACQlPgCApMQHAJCU+AAAkhIfAEBS4gMASEp8AABJiQ8AICnxAQAkJT4AgKTEBwCQlPgAAJISHwBAUuIDAEhKfAAASYkPACAp8QEAJCU+AICkxAcAkJT4AACSEh8AQFLiAwBISnwAAEmJDwAgKfEBACQlPgCApMQHAJCU+AAAkhIfAEBS4gMASEp8AABJiQ8AICnxAQAkJT4AgKTEBwCQlPgAAJISHwBAUuIDAEhKfAAASYkPACCpqjM9gWQOH4549tmIt96KmDQpYvbsiFGjzvSsAOCXTsmvfGzZsiUWL14c9fX1kcvlYtOmTUX3Z1kWX/va12LSpEkxZsyYmDdvXrz66qvlmu/gPPJIxNSpEXPnRlx//ZF/Tp16ZDsAkFTJ8XHgwIGYOXNmrF27tt/777777vjmN78Z3/nOd+L555+PsWPHxvz58+PgwYOnPdlBeeSRiOuui9izp3j7m28e2S5AACCpXJZl2aB3zuVi48aNsXTp0og48qpHfX193HLLLfHVr341IiK6urpi4sSJsX79+li+fPkpH7O7uzvy+Xx0dXVFbW3tYKd2xOHDR17hODY8/v8FRDQ0RLS3ewsGAE5DKc/fZb3gtL29PTo7O2PevHmFbfl8Pi677LLYunVrv/v09vZGd3d30a1snn32xOEREZFlER0dR8YBAEmUNT46OzsjImLixIlF2ydOnFi471jNzc2Rz+cLt8bGxvJN6K23yjsOADhtZ/yjtqtXr46urq7CraOjo3wPPmlSeccBAKetrPFRV1cXERH79u0r2r5v377CfceqqamJ2traolvZzJ595JqOXK7/+3O5iMbGI+MAgCTKGh/Tpk2Lurq6eOqppwrburu74/nnn49Zs2aV81cNzKhREffdd+Tfjw2Qoz/fe6+LTQEgoZLjo6enJ9ra2qKtrS0ijlxk2tbWFm+88UbkcrlYtWpV/Omf/mls3rw5duzYEZ///Oejvr6+8ImY5JYti3j44YgPfah4e0PDke3Llp2ZeQHAL6mSP2rb0tISc+fOPW57U1NTrF+/PrIsi7vuuiv+5m/+Jt5999244oor4lvf+lZccMEFA3r8sn7U9v18wykADJlSnr9P63s+hsKQxQcAMGTO2Pd8AACcivgAAJISHwBAUuIDAEhKfAAASYkPACAp8QEAJCU+AICkxAcAkFTVmZ7AsY5+4Wp3d/cZngkAMFBHn7cH8sXpwy4+9u/fHxERjY2NZ3gmAECp9u/fH/l8/qRjht3fdunr64u9e/fGuHHjInf0z96XSXd3dzQ2NkZHR8eI/LsxI319ESN/jdZX+Ub6Gkf6+iJG/hqHan1ZlsX+/fujvr4+zjrr5Fd1DLtXPs4666xoaGgY0t9RW1s7Iv+DOmqkry9i5K/R+irfSF/jSF9fxMhf41Cs71SveBzlglMAICnxAQAk9UsVHzU1NXHXXXdFTU3NmZ7KkBjp64sY+Wu0vso30tc40tcXMfLXOBzWN+wuOAUARrZfqlc+AIAzT3wAAEmJDwAgKfEBACRVsfHR3Nwcl156aYwbNy4mTJgQS5cujV27dp1yv4ceeiguvPDCOPvss+OSSy6Jf/mXfym6P8uy+NrXvhaTJk2KMWPGxLx58+LVV18dqmWc0GDW97d/+7cxe/bsOPfcc+Pcc8+NefPmxQsvvFA05sYbb4xcLld0W7BgwVAupV+DWd/69euPm/vZZ59dNGa4HL+Iwa1xzpw5x60xl8vFokWLCmOGyzH89re/HTNmzCh8UdGsWbPiX//1X0+6T6Wcf0eVusZKOgcjSl9fpZ2Dpa6vks6//qxZsyZyuVysWrXqpOOGxXmYVaj58+dn69aty3bu3Jm1tbVln/70p7PJkydnPT09J9znJz/5STZq1Kjs7rvvzv7rv/4r++M//uNs9OjR2Y4dOwpj1qxZk+Xz+WzTpk3Zf/7nf2ZLlizJpk2blv3iF79IsayCwazv+uuvz9auXZv9x3/8R/byyy9nN954Y5bP57M9e/YUxjQ1NWULFizI3nrrrcLt5z//eYolFRnM+tatW5fV1tYWzb2zs7NozHA5flk2uDW+8847RevbuXNnNmrUqGzdunWFMcPlGG7evDl77LHHsldeeSXbtWtXdscdd2SjR4/Odu7c2e/4Sjr/jip1jZV0DmZZ6eurtHOw1PVV0vl3rBdeeCGbOnVqNmPGjOymm2464bjhch5WbHwc6+23384iImttbT3hmM985jPZokWLirZddtll2R/8wR9kWZZlfX19WV1dXfbnf/7nhfvffffdrKamJnvwwQeHZuIDNJD1Hev//u//snHjxmV///d/X9jW1NSUXXvttUMww9MzkPWtW7cuy+fzJ7x/OB+/LBvcMfyrv/qrbNy4cUXBMlyPYZZl2bnnnpv93d/9Xb/3VfL5934nW+OxKukcPOpk66v0czDLSjt+lXL+7d+/P/vwhz+cPfnkk9lVV1110vgYLudhxb7tcqyurq6IiBg/fvwJx2zdujXmzZtXtG3+/PmxdevWiIhob2+Pzs7OojH5fD4uu+yywpgzZSDrO9Z7770Xhw4dOm6flpaWmDBhQkyfPj2+9KUvxTvvvFPWuQ7GQNfX09MTU6ZMicbGxrj22mvjpZdeKtw3nI9fxOCO4f333x/Lly+PsWPHFm0fbsfw8OHDsWHDhjhw4EDMmjWr3zGVfP5FDGyNx6qkc3Cg66vUc3Awx69Szr8VK1bEokWLjju/+jNczsNh94flBqOvry9WrVoVn/rUp+KjH/3oCcd1dnbGxIkTi7ZNnDgxOjs7C/cf3XaiMWfCQNd3rNtuuy3q6+uL/iNasGBBLFu2LKZNmxavvfZa3HHHHbFw4cLYunVrjBo1aiimf0oDXd/06dPje9/7XsyYMSO6urrinnvuicsvvzxeeumlaGhoGLbHL2Jwx/CFF16InTt3xv3331+0fTgdwx07dsSsWbPi4MGD8YEPfCA2btwYF198cb9jK/X8K2WNx6qEc7CU9VXiOTjY41cJ519ExIYNG2L79u3x05/+dEDjh8t5OCLiY8WKFbFz58748Y9/fKanMiQGs741a9bEhg0boqWlpeiCsOXLlxf+/ZJLLokZM2bEr/7qr0ZLS0tcffXVZZ33QA10fbNmzSr6fyyXX355XHTRRfHd7343vvGNbwz1NE/LYI7h/fffH5dcckl88pOfLNo+nI7h9OnTo62tLbq6uuLhhx+OpqamaG1tHfCTcyUY7Bor5RwsZX2VeA4O9vhVwvnX0dERN910Uzz55JPHXfg73FX82y4rV66MRx99NJ555ploaGg46di6urrYt29f0bZ9+/ZFXV1d4f6j2040JrVS1nfUPffcE2vWrIknnngiZsyYcdKxv/IrvxIf/OAHY/fu3eWYbskGs76jRo8eHb/+679emPtwPH4Rg1vjgQMHYsOGDfGFL3zhlGPP5DGsrq6OX/u1X4uPf/zj0dzcHDNnzoz77ruv37GVeP5FlLbGoyrpHBzM+o6qhHNwMOurlPNv27Zt8fbbb8fHPvaxqKqqiqqqqmhtbY1vfvObUVVVFYcPHz5un+FyHlZsfGRZFitXroyNGzfG008/HdOmTTvlPrNmzYqnnnqqaNuTTz5ZKPlp06ZFXV1d0Zju7u54/vnnB/weYbkMZn0REXfffXd84xvfiMcffzw+8YlPnHL8nj174p133olJkyad7pRLMtj1vd/hw4djx44dhbkPp+MXcXprfOihh6K3tzd+53d+55Rjz9Qx7E9fX1/09vb2e18lnX8nc7I1RlTOOXgip1rf+w33c7A/A1lfpZx/V199dezYsSPa2toKt0984hPx27/929HW1tbv20DD5jws26WriX3pS1/K8vl81tLSUvSRp/fee68w5oYbbshuv/32ws8/+clPsqqqquyee+7JXn755eyuu+7q9yNG55xzTvb9738/e/HFF7Nrr732jHxMbDDrW7NmTVZdXZ09/PDDRfvs378/y7IjV0R/9atfzbZu3Zq1t7dnP/rRj7KPfexj2Yc//OHs4MGDw359X//617Mf/vCH2WuvvZZt27YtW758eXb22WdnL730UmHMcDl+WTa4NR51xRVXZJ/97GeP2z6cjuHtt9+etba2Zu3t7dmLL76Y3X777Vkul8ueeOKJLMsq+/w7qtQ1VtI5OJj1Vdo5WOr6jqqE8+9Ejv20y3A9Dys2PiKi39v7P4991VVXZU1NTUX7/fM//3N2wQUXZNXV1dlHPvKR7LHHHiu6v6+vL7vzzjuziRMnZjU1NdnVV1+d7dq1K8GKig1mfVOmTOl3n7vuuivLsix77733smuuuSY7//zzs9GjR2dTpkzJfv/3f/+4z+mnMJj1rVq1Kps8eXJWXV2dTZw4Mfv0pz+dbd++vehxh8vxy7LB/zf6s5/9LIuIwv9Avt9wOoa/93u/l02ZMiWrrq7Ozj///Ozqq68umnMln39HlbrGSjoHs6z09VXaOTiY/0Yr5fw7kWPjY7ieh7ksy7LyvY4CAHByFXvNBwBQmcQHAJCU+AAAkhIfAEBS4gMASEp8AABJiQ8AICnxAQAkJT4AgKTEBwCQlPgAAJISHwBAUv8PCBsKxkPYHBMAAAAASUVORK5CYII=\n"},"metadata":{}}]},{"cell_type":"markdown","source":["prix = 5 * n_chambres"],"metadata":{"id":"dQW2iX1gBCWe"}},{"cell_type":"code","source":["# y = 5 x\n","\n","plt.scatter(data[\"n_chambres\"], data['prix'], c=\"r\")\n","plt.plot(data[\"n_chambres\"], data['prix'])\n","plt.xlabel('Nombre de chambrees')\n","plt.ylabel('Prix')\n","plt.show()"],"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":449},"id":"zTD7v0Y8A42w","executionInfo":{"status":"ok","timestamp":1687184314308,"user_tz":-60,"elapsed":663,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"d4ef2f92-3b3a-42d5-e44f-3c5cb656a25a"},"execution_count":null,"outputs":[{"output_type":"display_data","data":{"text/plain":["
"],"image/png":"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+0eO9PoZY8xf/vIXEx4ebjw8PEzt2rVNly5diuR29n2wpONzpv3vvJKO0Zn2QWNK9zPqTPvgxfy5zDjqfmgzxpiyO84jIiIiUrF0zoyIiIg4NZUZERERcWoqMyIiIuLUVGZERETEqanMiIiIiFNTmRERERGnpjIjIiIiTk1lRkRERJyayoyIADBr1iyqV69u2fffu3cvNpuNhISEcvsenTp1YuTIkeX2+JcTERHBO++8Y8n3FqnsVGZEHMRDDz2EzWZj4sSJRZYvXLgQm81mUSoREcenMiPiQLy8vHj99dc5ffq01VGKJTc31+oIlVpeXp7VEUScgsqMiAPp2rUrwcHBTJgw4bLrffHFF7Rq1QpPT08iIiJ46623itwfERHBK6+8woMPPoivry/h4eEsWrSI48eP06dPH3x9fWnTpg3r16+/4LEXLlxIkyZN8PLyonv37qSkpBTe9+KLL9K2bVs+/PBDGjRogJeXFwBnzpzhr3/9K7Vr18bf359bb72VxMTEy45h7dq1REdH4+XlxbXXXkt8fPwF62zevJmePXvi6+tLUFAQDzzwACdOnLjs465evZpOnTpRrVo1atSoQffu3YuUQ7vdzj/+8Q8CAwMJDg7mxRdfLLL95MmTiYyMxMfHh7CwMJ544gkyMjIK7z8/HffNN9/QrFkzqlWrRv/+/cnKyuLjjz8mIiKCGjVqMHz4cAoKCoo8dnp6OoMGDcLHx4d69eoxY8aMIvfbbDbee+897rzzTnx8fHj11VcB+Oqrr4iJicHLy4uGDRsyfvx48vPzC7e70vOfmJhI586d8fPzw9/fn2uuueair72I0yrTP1spIqU2ePBg06dPH/Pll18aLy8vk5KSYowxZsGCBeaPu+r69euNi4uLeemll0xSUpKZOXOm8fb2LvIXtMPDw01gYKB5//33TXJysnn88ceNv7+/6dGjh5k3b55JSkoyffv2NS1atDB2u90YY8zMmTONu7u7ufbaa82vv/5q1q9fb9q3b29uuOGGwscdN26c8fHxMT169DBxcXEmMTHRGGNM165dTe/evc26detMcnKyGT16tKlZs6Y5efLkRceanp5uateubWJjY83mzZvN119/bRo2bGgAEx8fb4wx5vTp06Z27dpm7NixZtu2bSYuLs7cdtttpnPnzpd8DuPj442np6d5/PHHTUJCgtm8ebOZNm2aOX78uDHm3F/89ff3Ny+++KJJTk42H3/8sbHZbEX+ovHbb79tli1bZvbs2WOWLl1qmjVrZh5//PHC+88/T7fddpuJi4szK1asMDVr1jTdunUz9957r9myZYv5+uuvjYeHh5k7d26R18TPz89MmDDBJCUlmalTpxpXV9ci3xswderUMR999JHZtWuX2bdvn1m5cqXx9/c3s2bNMrt27TJLliwxERER5sUXXyzc7krPf6tWrcz9999vtm3bZpKTk828efNMQkLCJZ9HEWejMiPiIM6XGWOMuf76681f/vIXY8yFZSY2NtbcdtttRbZ96qmnTMuWLQtvh4eHm/vvv7/w9uHDhw1gnn/++cJlv/32mwHM4cOHjTHn3qQBs2bNmsJ1tm3bZgDz+++/G2POlRl3d3dz7NixwnVWrVpl/P39TXZ2dpFMjRo1Mh988MFFx/rBBx+YmjVrmrNnzxYue++994qUmZdfftl069atyHYpKSkGMElJSRd93EGDBpmOHTte9D5jzpWZG2+8sciydu3amaeffvqS28yfP9/UrFmz8Pb552nnzp2Fyx577DFTrVo1k56eXrise/fu5rHHHiu8HR4ebnr06FHksQcMGGB69uxZeBswI0eOLLJOly5dzGuvvVZk2SeffGLq1q1rjCne8+/n52dmzZp1yTGKODtNM4k4oNdff52PP/6Ybdu2XXDftm3b6NixY5FlHTt2ZMeOHUWmNdq0aVP476CgIAAiIyMvWHbs2LHCZW5ubrRr167wdvPmzalevXqRHOHh4dSuXbvwdmJiIhkZGdSsWRNfX9/Crz179rBr166Ljm/btm20adOmcJoKoEOHDkXWSUxM5Oeffy7ymM2bNwe45OMmJCTQpUuXi9533h+fF4C6desWeQ5++uknunTpQr169fDz8+OBBx7g5MmTZGVlFa5TrVo1GjVqVHg7KCiIiIgIfH19iyz74+NebIwdOnS44DW+9tpri9xOTEzkpZdeKvI8PProoxw+fJisrKxiPf+jRo3ir3/9K127dmXixImXfP5EnJWb1QFE5EI333wz3bt3Z+zYsTz00EOlegx3d/fCf5+/Gupiy+x2e4ke18fHp8jtjIwM6taty/Llyy9Y92ou9c7IyKB37968/vrrF9xXt27di27j7e19xcf943MA556H88/B3r17ueOOO3j88cd59dVXCQwM5JdffuGRRx4hNzeXatWqXfIxLve4JXGx53f8+PH069fvgnW9vLyK9fy/+OKLxMbGsnjxYr777jvGjRvH3Llzueuuu0qcT8QRqcyIOKiJEyfStm1bmjVrVmR5ixYtWL16dZFlq1evpmnTpri6ul7V98zPz2f9+vW0b98egKSkJM6cOUOLFi0uuU1MTAxHjhzBzc2NiIiIYn2fFi1a8Mknn5CdnV14dGbNmjUXPO4XX3xBREQEbm7F+1XVpk0bli5dyvjx44u1/p9t2LABu93OW2+9hYvLuQPX8+bNK9VjXcyfx7hmzZrLPrdw7nlISkqicePGl7y/OM9/06ZNadq0KU8++SSDBg1i5syZKjNSaWiaScRBRUZGct999zF16tQiy0ePHs3SpUt5+eWXSU5O5uOPP2b69OmMGTPmqr+nu7s7w4YN4/fff2fDhg089NBDXH/99YXl5mK6du1Khw4d6Nu3L0uWLGHv3r38+uuv/POf/7zkFTOxsbHYbDYeffRRtm7dyrfffsukSZOKrDNkyBBOnTrFoEGDWLduHbt27eKHH37g4YcfvuAqofPGjh3LunXreOKJJ9i4cSPbt2/nvffeu+IVUOc1btyYvLw8pk2bxu7du/nkk094//33i7VtcaxevZo33niD5ORkZsyYwfz58xkxYsRlt3nhhRf4z3/+w/jx49myZQvbtm1j7ty5PPfcc8CVn/+zZ88ydOhQli9fzr59+1i9ejXr1q27YokScSYqMyIO7KWXXrpgqiImJoZ58+Yxd+5cWrduzQsvvMBLL71U6umoP6pWrRpPP/00sbGxdOzYEV9fXz777LPLbmOz2fj222+5+eabefjhh2natCkDBw5k3759hefl/Jmvry9ff/01mzZtIjo6mn/+858XTCeFhISwevVqCgoK6NatG5GRkYwcOZLq1asXHjX5s6ZNm7JkyRISExNp3749HTp04Kuvvir2kZ2oqCgmT57M66+/TuvWrfn000+veJl8SYwePZr169cTHR3NK6+8wuTJk+nevftlt+nevTvffPMNS5YsoV27dlx//fW8/fbbhIeHA1d+/l1dXTl58iQPPvggTZs25d5776Vnz56lPnol4ohsxhhjdQgRERGR0tKRGREREXFqKjMiIiLi1FRmRERExKmpzIiIiIhTU5kRERERp6YyIyIiIk5NZUZEREScmsqMiIiIODWVGREREXFqKjMiIiLi1FRmRERExKn9P7REYF0UrmNPAAAAAElFTkSuQmCC\n"},"metadata":{}}]},{"cell_type":"code","source":["# entree + instruction = sortie\n","\n","# entree + sortie == instruction ou les regles\n","\n","# y= 5 x model"],"metadata":{"id":"ApD4vOclBYlL"},"execution_count":null,"outputs":[]},{"cell_type":"code","source":["data = pd.DataFrame([ {\"n_chambres\" : 2, \"prix\" : 10}, {\"n_chambres\" : 4, \"prix\" : 20},\n"," {\"n_chambres\" : 3, \"prix\" : 15},\n"," {\"n_chambres\" : 3, \"prix\" : 20},\n"," {\"n_chambres\" : 1, \"prix\" : 3.5},\n"," {\"n_chambres\" : 6, \"prix\" : 31},\n"," {\"n_chambres\" : 5, \"prix\" : 33},\n"," {\"n_chambres\" : 8, \"prix\" : 36},\n"," {\"n_chambres\" : 7, \"prix\" : 50},\n"," {\"n_chambres\" : 9, \"prix\" : 42},\n"," ])\n","data"],"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":363},"id":"C5jxi7X_CBZw","executionInfo":{"status":"ok","timestamp":1687184483752,"user_tz":-60,"elapsed":499,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"dd6cc875-e33b-42a7-dd74-73e6450a4f82"},"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"text/plain":[" n_chambres prix\n","0 2 10.0\n","1 4 20.0\n","2 3 15.0\n","3 3 20.0\n","4 1 3.5\n","5 6 31.0\n","6 5 33.0\n","7 8 36.0\n","8 7 50.0\n","9 9 42.0"],"text/html":["\n","
\n","
\n","
\n","\n","\n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n","
n_chambresprix
0210.0
1420.0
2315.0
3320.0
413.5
5631.0
6533.0
7836.0
8750.0
9942.0
\n","
\n"," \n"," \n"," \n","\n"," \n","
\n","
\n"," "]},"metadata":{},"execution_count":12}]},{"cell_type":"code","source":["plt.scatter(data[\"n_chambres\"], data['prix'], c=\"r\")\n","plt.plot(data[\"n_chambres\"], data['n_chambres'] * 5)\n","plt.xlabel('Nombre de chambrees')\n","plt.ylabel('Prix')\n","plt.show()"],"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":449},"id":"gk7BI11hCCD5","executionInfo":{"status":"ok","timestamp":1687184590122,"user_tz":-60,"elapsed":700,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"750962c7-512c-464e-b7f1-37f6ba01a008"},"execution_count":null,"outputs":[{"output_type":"display_data","data":{"text/plain":["
"],"image/png":"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7u6OOXPmSB7/8ccfIyQkBLa2tvD29sZbb72FoqKiyvsffAW3efNmtGjRAg0aNMDw4cNx7949rFmzBn5+fmjYsCHeeecdqNVqyXMXFhZi5MiRsLW1RePGjbFixQrJ/QqFAitXrsRf/vIX2NraYuHChQCAn3/+GW3btoW1tTWaNGmCuXPnory8vPJxj3v/k5KS0LNnT9jb28PBwQHt2rWr8u+eyCjV+WUqiahKr7zyihgyZIiIj48X1tbWIjMzUwghREJCgnj4P9Xjx48LMzMzMW/ePJGamipWrVolbGxsJFco9/X1Fc7OzuLzzz8XaWlp4s033xQODg6if//+4ocffhCpqali6NChIigoSGg0GiGEEKtWrRIWFhaiffv24tChQ+L48eOiY8eOokuXLpXPO3v2bGFrayv69+8vTp48KZKSkoQQQkRERIjBgweLY8eOibS0NPHuu+8KFxcXcevWrSrXtbCwULi6uopRo0aJs2fPik2bNokmTZoIAOLUqVNCCCHu3LkjXF1dRWxsrEhJSREnT54Uffr0ET179qz2PTx16pSwsrISb775pjh9+rQ4e/as+Ne//iVu3LghhKi4CriDg4OYM2eOSEtLE2vWrBEKhUJy9fOlS5eK3bt3i4yMDLFr1y7RokUL8eabb1be/+B96tOnjzh58qTYt2+fcHFxEX379hUvvPCCOHfunNi0aZOwtLQU69evl/yd2Nvbi8WLF4vU1FTxySefCKVSKXltAKJRo0bi66+/FpcuXRJ//PGH2L9/v3BwcBCrV68Wly5dEjt27BB+fn5izpw5lY973PsfHBwsxowZI1JSUkRaWpr44YcfxOnTp6t9H4mMCYsMkYF4UGSEEKJz585i/PjxQgjtIjNq1CjRp08fyWP//ve/i5YtW1be9vX1FWPGjKm8nZOTIwCIWbNmVc4OHz4sAIicnBwhRMUHNABx5MiRymVSUlIEAHH06FEhREWRsbCwENevX69cJjExUTg4OIji4mJJpqZNm4ovvviiynX94osvhIuLi7h//37lbOXKlZIiM3/+fNG3b1/J4zIzMwUAkZqaWuXzjhw5UnTt2rXK+4SoKDLdunWTzDp06CCmTp1a7WN+/PFH4eLiUnn7wfuUnp5eOXvjjTdEgwYNRGFhYeWsX79+4o033qi87evrK/r37y957hEjRogBAwZU3gYgJk+eLFmmd+/eYtGiRZLZN998Izw8PIQQNXv/7e3txerVq6tdRyJjxq+WiAzQkiVLsGbNGqSkpGjdl5KSgq5du0pmXbt2xcWLFyVfZYSGhlb+2c3NDQAQEhKiNbt+/XrlzNzcHB06dKi8HRgYCCcnJ0kOX19fuLq6Vt5OSkpCUVERXFxcYGdnV/mTkZGBS5cuVbl+KSkpCA0NrfxqCgDCwsIkyyQlJWHPnj2S5wwMDASAap/39OnT6N27d5X3PfDw+wIAHh4ekvdg586d6N27Nxo3bgx7e3u89NJLuHXrFu7du1e5TIMGDdC0adPK225ubvDz84OdnZ1k9vDzVrWOYWFhWn/H7du3l9xOSkrCvHnzJO/Da6+9hpycHNy7d69G739MTAxeffVVREREIC4urtr3j8gYmcsdgIi0de/eHf369UNsbCzGjh1bq+ewsLCo/PODo56qmmk0mid6XltbW8ntoqIieHh4YO/evVrLPs3h3EVFRRg8eDCWLFmidZ+Hh0eVj7GxsXns8z78HgAV78OD9+DKlSt4/vnn8eabb2LhwoVwdnbGgQMHMGHCBJSWlqJBgwbVPsefPe+TqOr9nTt3LiIjI7WWtba2rtH7P2fOHIwaNQpbtmzBtm3bMHv2bKxfvx7Dhg174nxEhoZFhshAxcXF4dlnn0WLFi0k86CgIBw8eFAyO3jwIAICAqBUKp/qNcvLy3H8+HF07NgRAJCamor8/HwEBQVV+5i2bdsiNzcX5ubm8PPzq9HrBAUF4ZtvvkFxcXHlVpkjR45oPe+GDRvg5+cHc/Oa/aoKDQ3Frl27MHfu3Bot/6gTJ05Ao9Hgn//8J8zMKjZY//DDD7V6rqo8uo5Hjhz50/cWqHgfUlNT0axZs2rvr8n7HxAQgICAAEyZMgUjR47EqlWrWGTIJPCrJSIDFRISgtGjR+OTTz6RzN99913s2rUL8+fPR1paGtasWYNPP/0U77333lO/poWFBSZOnIijR4/ixIkTGDt2LDp37lxZbKoSERGBsLAwDB06FDt27MCVK1dw6NAhzJgxo9ojY0aNGgWFQoHXXnsN58+fx9atW/HRRx9JlomOjsbt27cxcuRIHDt2DJcuXcL27dsxbtw4raOBHoiNjcWxY8fw1ltv4cyZM7hw4QJWrlz52COdHmjWrBnKysrwr3/9C5cvX8Y333yDzz//vEaPrYmDBw/igw8+QFpaGlasWIEff/wRkyZN+tPHvP/++/jPf/6DuXPn4ty5c0hJScH69esxc+ZMAI9//+/fv4+3334be/fuxR9//IGDBw/i2LFjjy1QRMaCRYbIgM2bN0/r64m2bdvihx9+wPr169GqVSu8//77mDdvXq2/gnpYgwYNMHXqVIwaNQpdu3aFnZ0dvv/++z99jEKhwNatW9G9e3eMGzcOAQEBePHFF/HHH39U7ofzKDs7O2zatAnJyclo06YNZsyYofUVkqenJw4ePAi1Wo2+ffsiJCQEkydPhpOTU+XWkkcFBARgx44dSEpKQseOHREWFoaff/65xlt0WrdujY8//hhLlixBq1atsHbt2sceCv8k3n33XRw/fhxt2rTBggUL8PHHH6Nfv35/+ph+/fph8+bN2LFjBzp06IDOnTtj6dKl8PX1BfD491+pVOLWrVt4+eWXERAQgBdeeAEDBgyo9VYrIkOjEEIIuUMQERER1Qa3yBAREZHRYpEhIiIio8UiQ0REREaLRYaIiIiMFosMERERGS0WGSIiIjJaLDJERERktFhkiIiIyGixyBAREZHRYpEhIiIio8UiQ0REREbr/wFi1HdarTJxDQAAAABJRU5ErkJggg==\n"},"metadata":{}}]},{"cell_type":"code","source":["x = n_chambres\n","y = Prix"],"metadata":{"id":"h9QSA1CRE6CJ"},"execution_count":null,"outputs":[]},{"cell_type":"code","source":[],"metadata":{"id":"Zmuxl5zzE_8B"},"execution_count":null,"outputs":[]},{"cell_type":"code","source":["def model(x, w):\n"," return w * x"],"metadata":{"id":"Pt4aMErFCOAB"},"execution_count":null,"outputs":[]},{"cell_type":"code","source":["model(x=3, w=5) # y= 5x"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"5SQVSPNPFDZt","executionInfo":{"status":"ok","timestamp":1687185292526,"user_tz":-60,"elapsed":346,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"fd01eb7a-5ba7-41e8-a7ca-abaabd551480"},"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"text/plain":["15"]},"metadata":{},"execution_count":17}]},{"cell_type":"code","source":["# y= 6x\n","model(x=3, w=6)"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"Cdv3ygTYFHjY","executionInfo":{"status":"ok","timestamp":1687185327717,"user_tz":-60,"elapsed":9,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"6b97d8ac-b58f-4a94-a7c1-f7093935282b"},"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"text/plain":["18"]},"metadata":{},"execution_count":19}]},{"cell_type":"code","source":["def erreur(x, w, y):\n"," y_model = model(x, w)\n","\n"," distance = (y - y_model) **2\n","\n"," return np.sum(distance)"],"metadata":{"id":"lpXfytPYFO40"},"execution_count":null,"outputs":[]},{"cell_type":"code","source":["x = 6, y = 54\n","\n","# y = 5x, w = 5\n","\n"],"metadata":{"id":"zNuB_cbLFnO-"},"execution_count":null,"outputs":[]},{"cell_type":"code","source":["erreur(x=6, w=5, y=54)"],"metadata":{"id":"0cYt4U05Fxim"},"execution_count":null,"outputs":[]},{"cell_type":"code","source":["y_model = 5 * 6 = 30\n","\n","distance = (54 - 30)**2"],"metadata":{"id":"41abRrAvF5G9"},"execution_count":null,"outputs":[]},{"cell_type":"code","source":["data['n_chambres'].values"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"_un4BtCJG09N","executionInfo":{"status":"ok","timestamp":1687185742303,"user_tz":-60,"elapsed":343,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"7a05d9a9-655b-438a-9969-7d981f9c3a64"},"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"text/plain":["array([2, 4, 3, 3, 1, 6, 5, 8, 7, 9])"]},"metadata":{},"execution_count":21}]},{"cell_type":"code","source":["n_chambres = data['n_chambres'].values\n","prix = data['prix'].values"],"metadata":{"id":"KMMvRKIcGrr4"},"execution_count":null,"outputs":[]},{"cell_type":"code","source":["erreur(x=n_chambres, w=5, y=prix) # y = 5 x"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"MT-Y3SBCG7d3","executionInfo":{"status":"ok","timestamp":1687185795656,"user_tz":-60,"elapsed":7,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"ea0e47f6-8ad9-4747-c9d5-e96ef09d12da"},"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"text/plain":["342.25"]},"metadata":{},"execution_count":23}]},{"cell_type":"code","source":["plt.scatter(data[\"n_chambres\"], data['prix'], c=\"r\")\n","plt.plot(data[\"n_chambres\"], data['n_chambres'] * 5)\n","plt.plot(data[\"n_chambres\"], data['n_chambres'] * 4)\n","plt.xlabel('Nombre de chambrees')\n","plt.ylabel('Prix')\n","plt.show()"],"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":449},"id":"OFplYoAUHXDD","executionInfo":{"status":"ok","timestamp":1687185899560,"user_tz":-60,"elapsed":440,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"7b41688b-5a11-4d88-de46-c5deeee68656"},"execution_count":null,"outputs":[{"output_type":"display_data","data":{"text/plain":["
"],"image/png":"iVBORw0KGgoAAAANSUhEUgAAAjIAAAGwCAYAAACzXI8XAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABZFUlEQVR4nO3dd3wUdf7H8dcmpAFJKFIChF5CCQhICRikSpNDA6eiWMB2iAiiv6MqvdnAinqegAU7oCAeSK8indBClwChk4QAqTu/P1aj6yYYwmZnd/N+Ph48zv3MZPe9EZP3zc58x2IYhoGIiIiIB/IxO4CIiIhIfqnIiIiIiMdSkRERERGPpSIjIiIiHktFRkRERDyWioyIiIh4LBUZERER8VhFzA5Q0KxWK6dOnSI4OBiLxWJ2HBEREckDwzC4fPkyFSpUwMcn9+MuXl9kTp06RXh4uNkxREREJB/i4+OpVKlSrtu9vsgEBwcDtm9ESEiIyWlEREQkL5KTkwkPD8/+PZ4bry8yv3+cFBISoiIjIiLiYf7utBCd7CsiIiIeS0VGREREPJaKjIiIiHgsFRkRERHxWCoyIiIi4rFUZERERMRjqciIiIiIx1KREREREY+lIiMiIiIey+tX9hURETeVlQVr10JCAoSFQXQ0+PqanUo8jKlHZMaOHYvFYrH7ExERkb09NTWVgQMHUrp0aYoXL06vXr04c+aMiYlFRMQp5s2DqlWhXTt44AHb/1atapuL3ADTP1qqX78+CQkJ2X/WrVuXve25555j4cKFfP3116xevZpTp04RExNjYloREblp8+ZB795w4oT9/ORJ21xlRm6A6R8tFSlShPLlyzvMk5KS+O9//8vcuXNp3749ALNmzaJu3br8/PPPtGzZ0tVRRUTkZmVlweDBYBiO2wwDLBYYMgR69tTHTJInph+ROXjwIBUqVKB69eo8+OCDHD9+HICtW7eSkZFBx44ds/eNiIigcuXKbNy4MdfnS0tLIzk52e6PiIi4ibVrHY/E/JlhQHy8bT+RPDC1yLRo0YLZs2fzv//9j5kzZ3L06FGio6O5fPkyp0+fxt/fnxIlSth9Tbly5Th9+nSuzzllyhRCQ0Oz/4SHhxfwuxARkTxLSHDuflLomfrRUteuXbP/uWHDhrRo0YIqVarw1VdfERQUlK/nHDFiBEOHDs1+nJycrDIjIuIuwsKcu58UeqZ/tPRnJUqUoHbt2hw6dIjy5cuTnp5OYmKi3T5nzpzJ8Zya3wUEBBASEmL3R0RE3ER0NFSqZDsXJicWC4SH2/YTyQO3KjIpKSkcPnyYsLAwmjZtip+fH8uXL8/eHhcXx/Hjx4mKijIxpYiI5JuvL7zxhu2f/1pmfn88Y4ZO9JU8M7XIvPDCC6xevZpjx46xYcMG7rnnHnx9fenTpw+hoaE89thjDB06lJUrV7J161b69etHVFSUrlgSEfFkMTHwzTdQsaL9vFIl21zLbMgNMPUcmRMnTtCnTx8uXLhAmTJluP322/n5558pU6YMANOnT8fHx4devXqRlpZG586deffdd82MLCIizhATY7vEWiv7yk2yGEZOF/N7j+TkZEJDQ0lKStL5MiIiIh4ir7+/3eocGREREZEboSIjIiIiHktFRkRERDyWioyIiIh4LBUZERER8VgqMiIiIuKxVGRERETEY6nIiIiIiMdSkRERERGPpSIjIiIiHktFRkRERDyWioyIiIh4LBUZERER8VgqMiIiIuKxVGRERETEY6nIiIiIiMdSkRERERGPpSIjIiIiHktFRkRERDyWioyIiIh4LBUZERER8VgqMiIiIuKxVGRERETEY6nIiIiIiMdSkRERERGPpSIjIiIiHktFRkRERDyWioyIiIjk24Ezl019fRUZERERuWEXr6Qz5Ivt3Dl9DT8fuWBajiKmvbKIiIh4HMMw+G7HKcYv2svFK+n4WGDXiURaVi9tSh4VGREREcmTE5euMmr+blYfOAdARPlgpvZqyK3hJUzLpCIjIiIi15VlNZiz4RivLo3janoW/kV8GNyhFk+2qY6fr7lnqajIiIiISK72n05m2Lex7IxPBKB51VJM6RVJjTLFzQ32GxUZERERcZCakcU7Kw8xc9VhMq0GwQFFGN4tgj7NKuPjYzE7XjYVGREREbHzy9GLDJ+3iyPnrgDQqV45JvRsQPnQQJOTOVKREREREQCSUzOY9uN+Ptt0HIAywQGM/0d9ujQoj8XiPkdh/kxFRkRERPhp7xleXLCb08mpANzfLJwRXesSWtTP5GTXpyIjIiJSiJ29nMq47/fyQ2wCAFVLF2VyTCStatxicrK8UZEREREphAzD4OstJ5j4w16SUzPx9bHwZJvqDO5Qi0A/X7Pj5ZmKjIiISCFz7PwVRs6PZcNh260FGlQMYVqvhtSvEGpyshunIiMiIlJIZGZZ+XDdUab/dIC0TCuBfj4M7VSb/q2rUcTkhe3yS0VGRESkENh9Molh3+5iz6lkAFrXLM3keyKpUrqYyclujoqMiIiIF7uWnsWMZQf4cN1RsqwGoUF+jO5el95NK7ntJdU3QkVGRETES204dJ4R82P59cJVAO5qGMaYHvUpExxgcjLnUZERERHxMklXM5i0eC9fbTkBQFhoIBN6NqBjvXImJ3M+FRkREREvYRgGi2NPM+b7PZxPSQPg4agq/F/nOgQHuvfCdvmlIiMiIuIFEpKu8eKCPSzbdwaAmmWLMzUmktuqliqYF8zKgrVrISEBwsIgOhp8Xb/+jIqMiIiIB7NaDT775TjTftxPSlomfr4WBrStycB2NQgoUkDFYt48GDwYTpz4Y1apErzxBsTEFMxr5kJFRkRExEMdOpvC8G93seXXSwDcGl6Cab0aUqd8cMG96Lx50Ls3GIb9/ORJ2/ybb1xaZiyG8dck3iU5OZnQ0FCSkpIICQkxO46IiMhNS8+08v7qw7y14hDpWVaK+vvy7851eCiqKr4+BXhJdVYWVK1qfyTmzywW25GZo0dv+mOmvP7+1hEZERERD7L9+CWGfxtL3JnLALStU4ZJ90RSsURQwb/42rW5lxiwHaWJj7ft17ZtwedBRUZERMQjXEnL5NWlcczecAzDgFLF/BnTox7/aFTBdQvbJSQ4dz8nUJERERFxc6vizjJq/m5OJl4DIKZJRUZ3r0epYv6uDRIW5tz9nEBFRkRExE1dSEljwqK9LNhxCoCKJYKYHBPJHbXLmBMoOtp2DszJk44n+8If58hER7sskoqMiIiImzEMgwU7TjJ+4V4uXc3AxwL9WldjaKfaFAsw8Ve3r6/tEuvevW2l5c9l5vePt2bMcOl6MioyIiIibiT+4lVGLdjNmgPnAIgoH8zUXg25NbyEucF+FxNju8Q6p3VkZszQOjIiIiKFUZbVYPaGY7y6JI5rGVn4F/FhcIdaPNmmOn6+PmbHsxcTAz17amVfERERgf2nkxn2bSw74xMBaF6tFFNiIqlRpri5wa7H19dll1hfj4qMiIiISVIzsnhn5SFmrjpMptUgOKAII7rV5f5m4fgU5MJ2XkRFRkRExAS/HL3I8Hm7OHLuCgB31ivH+J4NKB8aaHIyz6IiIyIi4kLJqRlM+3E/n206DkCZ4AAm9KxPlwauW3vFm6jIiIiIuMjSPad56bs9nE5OBeD+ZuGM6FqX0KJ+JifzXG5zGvTUqVOxWCwMGTIke5aamsrAgQMpXbo0xYsXp1evXpw5c8a8kCIiIvlw9nIqT3+2lSc/2crp5FSqli7K3CdaMLVXQ5WYm+QWRWbz5s28//77NGzY0G7+3HPPsXDhQr7++mtWr17NqVOniHHx9ekiIiL5ZRgGX22Op+Nrq1kcexpfHwsD2tbgf0Pa0KrGLWbH8wqmf7SUkpLCgw8+yH/+8x8mTpyYPU9KSuK///0vc+fOpX379gDMmjWLunXr8vPPP9OyZcscny8tLY20tLTsx8nJyQX7BkRERHLw8cZjvPTdnuzHkRVDmdorkvoVQk1M5X1MPyIzcOBAunfvTseOHe3mW7duJSMjw24eERFB5cqV2bhxY67PN2XKFEJDQ7P/hIeHF1h2ERGRv7qSlknV4T/YlZiR3SKY/3QrlZgCYOoRmS+++IJt27axefNmh22nT5/G39+fEiVK2M3LlSvH6dOnc33OESNGMHTo0OzHycnJKjMiIuISoxfE8unPx+1mU2Ii6dO8skmJvJ9pRSY+Pp7Bgwfz008/ERjovGvmAwICCAgIcNrziYiI/J1TiddoNXWFw/zI5G5a2K6AmVZktm7dytmzZ2nSpEn2LCsrizVr1vD222+zZMkS0tPTSUxMtDsqc+bMGcqXL29CYhEREUd3v7OeHb/dWuB3nz3egtY1dTKvK5hWZDp06EBsbKzdrF+/fkRERDBs2DDCw8Px8/Nj+fLl9OrVC4C4uDiOHz9OVFSUGZFFRESy7YxPpOc76+1m5UIC2DSyYy5fIQXBtCITHBxMgwYN7GbFihWjdOnS2fPHHnuMoUOHUqpUKUJCQhg0aBBRUVG5XrEkIiJS0AzDoNqIxQ7zZUPvoGZZN77Jo5cy/fLr65k+fTo+Pj706tWLtLQ0OnfuzLvvvmt2LBERKaR+jE1gwGfb7GZ31ivHBw/fZlIisRiGYZgdoiAlJycTGhpKUlISISEhZscREREPlJFlpdaoHx3m217sRKli/iYk8n55/f3t1kdkREREzPbOykO8siTObja4Qy2e61TbpETyZyoyIiIiOUi6mkGj8Usd5nETuxBQxNeERJITFRkREZG/ePbz7Xy/85Td7I37b6XnrRVNSiS5UZERERH5zbHzV2j76iqH+dEp3bBYtLCdO1KRERERAdq/uooj56/Yzb4dEEXTKqVMSiR5oSIjIiKF2qYjF7jvg5/tZhHlg/nfkDYmJZIboSIjIiKFUm4L2639dzvCSxU1IZHkh4qMiIgUOt9sPcELX++0m/VuWolX/9nIpESSXyoyIiJSaKRmZBHx4v8c5rvG3klIoJ8JieRmqciIiEihMO1/+5m56rDdbFS3ujzRprpJicQZVGRERMSrnU9J47aJyxzmhyZ1pYivjwmJxJlUZERExGs9OusXVsWds5v95+Hb6FSvnEmJxNlUZERExOvEnb5M5xlr7GaBfj7sn9DVpERSUFRkRETEqzQev5RLVzPsZj88ezv1K4SalEgKkoqMiIh4hVVxZ3l01ma7WfNqpfjqqSiTEokrqMiIiIhHy7Ia1BjpuLDdppEdKBcSaEIicSUVGRER8VhzNhxjzPd77Gb9W1fjpR71TEr0J1lZsHYtJCRAWBhER4Ovr9mpvI6KjIiIeJwraZnUH7PEYb53fGeK+rvBr7Z582DwYDhx4o9ZpUrwxhsQE2NeLi/kBv+2RURE8m70glg+/fm43WzyPZE80KKySYn+Yt486N0bDMN+fvKkbf7NNyozTmQxjL9+p71LcnIyoaGhJCUlERISYnYcERHJp1OJ12g1dYXD/Mjkbvj4WExIlIOsLKha1f5IzJ9ZLLYjM0ePes/HTJeOQcmqTn/avP7+1hEZERFxe3e/s54d8Yl2s88eb0HrmreYEyg3a9fmXmLAdpQmPt62X9u2LotVIM4fhFVTYPc86L8EKrcwJYaKjIiIuK2d8Yn0fGe93SwsNJCNIzqYlOhvJCQ4dz93dPEIrH4Zdn0JhtU2O7ZGRUZEROR3hmFQbYTjJdXLht5BzbLFTUiUR2Fhzt3PnSTGw5pXYMdnYM20zep0g7YjIKyhabFUZERExK38GJvAgM+22c3urFeODx6+zaRENyA62nYOzMmTjif7wh/nyERHuz5bfiUnwNrXYNscyEq3zWp2hHYjoWJTc7OhIiMiIm4iPdNK7dE/Osy3vdiJUsX8TUiUD76+tkuse/e2lZY/lxnLbyckz5jhGSf6ppyD9TNg84eQmWqbVY2G9qOhcktTo/2ZioyIiJjunZWHeGVJnN1scIdaPNeptkmJbkJMjO0S65zWkZkxw/0vvb56ETa8BZveh4wrtll4C2g3CqrfYW62HKjIiIiIaZKuZtBo/FKHedzELgQU8YCjFrmJiYGePT1rZd/UJNj4Lvz8LqQl22YVGkO70VCzwx9HlNyMioyIiJhi+b4zPDZni93sjftvpeetFU1K5GS+vp5xiXVaCvzyPqx/E1ITbbNyDWxHYOp0ddsC8zsVGRERcakraZm8siSO2RuO2c2PTumGxc1/aXqVjGu281/WzYCr522zW+pAuxFQtyf4+JgaL69UZERExGVWxp1l9PzdnEy8BkB4qSA+eOg26oZp5XWXyUyDrXNsVyKlnLbNSlWHO4ZDZG/wceOPv3KgIiMiIgXuQkoaExbtZcGOUwBUKhnE5HsiaVO7jMnJCpGsDNsaMKtfgeTfTkIOrQx3/Bsa9QFfz6wEnplaREQ8gmEYLNhxkvEL93LpagY+FujfuhpD76ztHnepLgyyMiH2K1g9zXZfJIDgCtDmBWj8EBTxkEvbc6G/RSIiUiDiL15l1ILdrDlwDoCI8sFM69WQRuElzA1WWFitsGee7X5IFw7ZZsXKQvRQaNoP/ALNzeckKjIiIuJUWVaD2RuO8eqSOK5lZOFfxIfBHWrxZJvq+Pl6xgmkHs0wYN9CW4E5u9c2CyoFrQdD8yfAv5i5+ZxMRUZERJxmX0Iyw7/dxc4TSQA0r1aKKTGR1CjjxvdH8haGAQeXwoqJcHqXbRYQCq0GQYunINA7T6hWkRERkZuWmpHF2ysO8d7qw2RaDYIDijCiW13ubxaOj48uqS5QhgFHVsKKSXDyt3V5/ItDywEQNRCCSpqbr4CpyIiIyE3ZdOQCI+bFcuS8bTn7zvXLMb5nA8qFeMc5GG7t2HpYOQl+XW97XCQIWjwJrQZDsdLmZnMRFRkREcmX5NQMpv24n882HQegTHAAE3rWp0uDMJOTFQLxm2HlRDiyyvbYNwBu6w+3PwfB5UyN5moqMiLimbKyPOs+Nl5m6Z7TvPjdbs4kpwHQp3k4w7vWJTTIz+RkXu7UDlg5GQ4usT328YMmD0H0CxDqJbd2uEEqMiLieebNy/nOwm+84f53FvZwZy+nMvb7PSyOta0IW+2WYky+J5KoGoXjYwzTnNljKzD7F9keW3zh1j7Q5t9Qsoq52UymIiMinmXePOjd23aC45+dPGmbf/ONykwBMAyDr7bEM+mHfSSnZuLrY+GpNtV5tkMtAv10JKzAnD9ou4x69zzAACwQ+U9oOxxK1zA7nVuwGMZffxp4l+TkZEJDQ0lKSiIkxDsvPRMpNLKyoGpV+yMxf2ax2I7MHD2qj5mc6Nj5K4yYF8vGIxcAiKwYytRekdSvEGpyMi928Sisfhl2fQGG1Tardze0HQFlI0yN5ip5/f2tIzIi4jnWrs29xIDtKE18vG2/tm1dFstbZWZZ+c/ao8xYdoC0TCuBfj4836kO/VpXpYgWtisYifGw5hXbPZGsmbZZnW62AhPW0NxsbkpFRkQ8R0KCc/eTXO0+mcSwb3ex51QyALfXvIXJ90RSuXRRk5N5qeQE292ot82BrHTbrGZHaDcSKjY1N5ubU5EREc8RlsfLevO6nzi4lp7F9GUH+HDtEawGhAb58eJd9ejVpCIWixa2c7qUc7B+Bmz+EDJTbbOq0dB+NFRuaWo0T6EiIyKeIzradg7MyZOOJ/vCH+fIREe7PpsXWH/oPCPmxXL84lUAejSqwEt31aNMcIDJybzQ1Yuw4S3Y9D5k2BYSJLwltB8F1dqYm83DqMiIiOfw9bVdYt27t620/LnM/H60YMYMneh7gxKvpjPph318vdV2/lFYaCAT725Ah7qFa2E1l0hNgo3vws/vQprtYzsqNIZ2o6Fmhz/+HkueqciIiGeJibFdYp3TOjIzZujS6xtgGAY/xCYw9vs9nE9Jx2KBh1tW4YXOdQgO1MJ2TpWWAr+8D+vfhNRE26xcA2g3Cup0VYG5CSoyIuJ5YmKgZ0+t7HsTEpKu8eKC3SzbdxaAmmWLM61XJE2rlDI5mZfJuGY7/2XdDLh63ja7pQ60GwF1e4KPrv66WSoyIuKZfH11iXU+WK0Gn236lWn/iyMlLRM/XwtPt63J0+1qEFBERdBprlyAV6rbz0pVhzuGQ2Rv8NH32llUZEREColDZy8z/NtYtvx6CYDGlUswrVdDapcLNjmZF0lNgqmVHef/eBsa9QFf/dp1Nn1HRUS8XHqmlfdWH+btFYdIz7JSzN+Xf3eJoG/LKvj66NwMp0i/CpNzuez/30ehqD6yKygqMiIi7shJd/fedvwSw7/dxYEzKQC0q1OGifdEUrFEkLMTF06Z6TCxTM7bnj8Awbryq6CpyIiIuBsn3N37SlomryyJY87GYxgGlC7mz5h/1KdHwzAtbOcM1iyYUgkyrjpuG7yr0N+R2pVUZERE3IkT7u69Mu4so+fv5mTiNQBimlTkxe71KFnMv6BSFx6GAdMbQHIO9/x6ZgvcUsv1mQo53f1aRMRd3OTdvS+kpDF+0V6+23EKgEolg5h8TyRtaufy0YfknWHA+23g9C7HbU+tgbBGrs/k5XT3axERT5PPu3sbhsH87SeZsGgvl65m4GOB/q2rMfTO2hT114/5m/bJPXB4heO8/xLdD8kN6G+4iIi7yMfdveMvXmXk/FjWHrQtthZRPphpvRrSKLxEAQQsZL7pD7u/dZz3nWe7nYC4BRUZERF3cQN3986yGszecIxXl8RxLSML/yI+DO5QiyfbVMfPV6vF3pQfnretxvtX934M9Xq6Po9cl4qMiIi7yOPdvffVupXh765n54kkAJpXK8XUmEiqlynu4sBeZvl4WPua47znu9D4QdfnkTxRkRERcRd/c3fvVF8/3n7hLd57ZwOZVoPgwCKM7FaX+24Lx0cL2+Xf+jfgp5cc512mQct/uT6P3BBTjz/OnDmThg0bEhISQkhICFFRUfz444/Z21NTUxk4cCClS5emePHi9OrVizNnzpiYWESkgP1+d++KFe3Gmxq3pduob3j7VBEyrQad65dj2dA76NO8skpMfm2ZBWNDHUtMu1EwNkklxkOYevn1woUL8fX1pVatWhiGwZw5c3jllVfYvn079evXZ8CAAfzwww/Mnj2b0NBQnnnmGXx8fFi/fn2eX0OXX4uIR/ptZd/kEwlMTSrF3PhMAMoEBzChZ326NMjj+TTiKPYb+PYxx3nLgdBlsuvzSI7y+vvb7daRKVWqFK+88gq9e/emTJkyzJ07l969ewOwf/9+6taty8aNG2nZMudL3tLS0khLS8t+nJycTHh4uIqMiHicqCnLSUhKzX7cp3k4w7vWJTTIz8RUHizuf/D5fY7zW/vC3e+4Po9cl8etI5OVlcXXX3/NlStXiIqKYuvWrWRkZNCxY8fsfSIiIqhcufJ1i8yUKVMYN26cq2KLiDjdyriz9Ju12W72+RMtiapR2qREHu7oWphzl+O8Tjfo87nr84hTmV5kYmNjiYqKIjU1leLFizN//nzq1avHjh078Pf3p0SJEnb7lytXjtOnT+f6fCNGjGDo0KHZj38/IiMi4u6yrAY1Ri52mO8b34Ug/xu/YWShd3Ir/Ke947xyFPT/n+vzSIEwvcjUqVOHHTt2kJSUxDfffMMjjzzC6tWr8/18AQEBBAQEODGhiEjBm7PhGGO+32M3e/z2aoy+q55JiTzYmb0wM8pxfkttGPiL7Yow8RqmFxl/f39q1qwJQNOmTdm8eTNvvPEG9913H+np6SQmJtodlTlz5gzly5c3Ka2IiHOlpGXSYMwSh7mOwuTDxSPwZmPHedFb4IWD4KOFAr2R6UXmr6xWK2lpaTRt2hQ/Pz+WL19Or169AIiLi+P48eNEReXQtEVEPMzI+bHM3XTcbjY1JpL7m1c2KZGHSj4Fr9d1nFt8YPRZ8NXJ0d7M1CIzYsQIunbtSuXKlbl8+TJz585l1apVLFmyhNDQUB577DGGDh1KqVKlCAkJYdCgQURFReV6oq+IiCc4lXiNVlMdb0J4ZHI3rQlzI66ch1dq5Lxt1BnwC3RtHjGFqUXm7NmzPPzwwyQkJBAaGkrDhg1ZsmQJnTp1AmD69On4+PjQq1cv0tLS6Ny5M++++66ZkUVEbkrPd9azMz7RbvbZ4y1oXfMWcwJ5otQkmJrLUasRJyFAt2ooTNxuHRln04J4IuIOdsYn0vMd+8U8w0ID2ThCd1HOs/SrMDmXhQCHHYOgki6NIwXL49aRERHxRoZhUG2E4yXVy5+/gxq6yWPeZKbDxDI5b3v+AASXc20ecSsqMiIiBWRxbAJPf7bNbtalfnnee6ipSYk8jDULpoRDxhXHbUNioYROihYVGRERp0vPtFJ79I8O8+0vdqJkMX8TEnkYw4AZkZAU77jtmS1wSy3XZxK3pSIjIuJEb684yKtLD9jNBneoxXOdapuUyIMYBrzfBk7vctz21BoIa+T6TOL2VGRERJwg6WoGjcYvdZjHTexCQBEtbPe3PrkHDjtekk7/JVBZS25I7lRkRERu0qDPt7Nw5ym72Zt9GvOPRhVMSuRBvn0cYr92nPedBzV1RZf8PRUZEZF8Onr+Cu1eXeU4n9INi+7nc32ntsPHPW1rwvzZvZ9AvX+Yk0k8Ur6KzLlz5yhTJudL4WJjY4mMjLypUCIi7q7tKys5duGq3ezbAa1oWkVrmVzXmT2wcjLsX2Q/7/kuNH7QnEzi0fJ1B63IyEh++OEHh/mrr75K8+bNbzqUiIi7+vnIBaoO/8GuxNQLC+HY1O4qMddz7gB83Q9mtv6txFig4X0waBuMTVKJkXzL1xGZoUOH0qtXL/r168frr7/OxYsXefjhh4mNjWXu3LnOzigiYjqr1aD6SMeF7db+ux3hpYqakMhDXDwCq1+GXV+CYbXN6t0NbUdA2QhTo4l3yPctCrZv385DDz1EWloaFy9epEWLFnz00UeUL1/e2Rlvim5RICI36+st8fzfN/aXBN93WzjTejc0KZEHSIyHNS/D9s/AyLLN6nSzFZgwfd/k7xX4LQpq1qxJgwYN+PbbbwG477773K7EiIjcjNSMLCJe/J/DPHbsnQQH+pmQyAMkJ8Da12DbHMhKt81qdoR2I6GiVjQW58tXkVm/fj19+/alVKlS7Nq1i/Xr1zNo0CAWL17Me++9R8mS+pxYRDzb1B/3897qw3az0d3r8nh0dZMSubmUc7B+Bmz+EDJTbbOq0dB+tNaBkQKVr4+WAgICeO6555gwYQJ+frb/V3L48GH69u1LfHw8J06ccHrQ/NJHSyJyI85dTqPZpGUO80OTulLEN1/XR3i3qxdhw5uw6YM/7okU3hLaj4JqbczNJh6tQD9aWrp0KXfccYfdrEaNGqxfv55Jkybl5ylFREz38Ee/sObAObvZhw/fRsd6uruyg9Qk2PgubHwH0i/bZhUaQ7vRtoXstI6OuEi+T/b1FDoiIyJ/Z//pZLrMWGs3C/LzZd+ELiYlcmNpKbDpPdjwFqQm2mblGkC7UVCnqwqMOI3Tj8i8+eabPPnkkwQGBvLmm2/mup/FYmHQoEE3llZExCSRY5dwOTXTbrb42WjqVdD/8bGTfhW2/BfWTYerF2yzW+pAuxFQtyf46GM3MUeej8hUq1aNLVu2ULp0aapVq5b7E1osHDlyxGkBb5aOyIhITlbuP0u/2ZvtZlHVS/P5kzox1U5mGmydbbsSKeWMbVaqOtwxHCJ7g49uiCkFw+lHZI4ePZrjP4uIeJIsq0GNHBa2+2VkB8qGBJqQyE1lZcD2T2HNq5D82wUcoZXhjn9Doz7gq1v1iXu44b+JGRkZREREsGjRIurWrVsQmURECsTs9UcZu3Cv3ezx26sx+q56JiVyQ1mZtlV4V0+DxF9ts+AK0OYFaPwQFPE3N5/IX9xwkfHz8yM1NbUgsoiIFIiUtEwajFniMN83vgtB/vpoBACrFfbMg1VT4MIh26xYWYgeCk37gZ+OVol7ytexwYEDBzJt2jQ+/PBDihTR4UURcV8j58cyd9Nxu9nUmEjub17ZpERuxjBg30LbHanP7bPNgkpB68HQ/AnwL2ZuPpG/ka8WsnnzZpYvX87SpUuJjIykWDH7v+jz5s1zSjgRkfw6mXiN1lNXOMyPTO6Gj48uEcYw4MASWDkJTv92H6mAUGg1CFo8BYG6OEI8Q76KTIkSJejVq5ezs4iIOEXPt9ex80SS3eyzx1vQuuYtJiVyI4YBh1fYjsCc3GKb+ReHlgMgaiAE6RYz4lluqMhYrVZeeeUVDhw4QHp6Ou3bt2fs2LEEBQUVVD4RkTzbEZ/I3e+st5tVCA1kw4gOJiVyM8fWwYpJcHyD7XGRIGjxJLQaDMVKm5tNJJ9uqMhMmjSJsWPH0rFjR4KCgnjzzTc5d+4cH330UUHlExH5W4ZhUG2E4yXVy5+/gxplipuQyM3E/wIrJsLR1bbHvgFwW3+4/TkI1u0XxLPd0C0KatWqxQsvvMBTTz0FwLJly+jevTvXrl3Dx01XddSCeCLebXFsAk9/ts1u1rVBeWb2bWpSIjdyarvtI6SDS22PffygyUMQ/QKEVjQ3m8jfKJCbRh4/fpxu3bplP+7YsSMWi4VTp05RqVKl/KcVEblBVqtB9RwWttv+YidKFivka52c2WMrMPsX2R5bfOHWPtDm31CyirnZRJzshopMZmYmgYH2awn4+fmRkZHh1FAiItdz6OxlBn2+w242pGMthnSsbU4gd3HugG0dmD3zAQOwQMN74Y5hULqG2elECsQNFRnDMHj00UcJCAjInqWmpvKvf/3L7hJsXX4tIgUhPdPKzFWHeWflIdKzrNnzAxO74l/EPT/edomLR2D1y7YVeY3fvi/17oa2I6BshKnRRAraDRWZRx55xGHWt29fp4UREcnN1l8vMWLeLg6cSQGgXZ0yTLwnkoolCvFVk4nxsOZl2P4ZGFm2WZ1utgIT1tDcbCIuckNFZtasWQWVQ0QkRylpmby6JI45G49hGFC6mD9j/lGfHg3DsFgK6cJ2yQm2u1FvmwNZ6bZZzY7QbiRU1EnOUrjo/gIi4rZW7j/L6AW7OZl4DYBeTSoxunvdwnsyb8o5WDcdtvwXMn+7513VaGg/Giq3NDebiElUZETE7VxISWPcwr18v/MUAOGlgph8TyTRtcqYnMwkVy/Chjdh0/uQcdU2C28J7UdBtTbmZhMxmYqMiLgNwzCYv/0kExbt5dLVDHws8Njt1XiuU22K+hfCH1fnD8LCwZCwC9Iv22YVGkO70VCzAxTWj9ZE/qQQ/mQQEXcUf/EqI+fHsvbgeQAiygfzcu+GNKxUwtxgZrh4BN5sbD8r1wDajYI6XVVgRP5ERUZETJVlNZi1/iivLT3AtYws/Iv4MLhDLZ5sUx0/30J2SXXSSZhez3HecaztfkhuuoK6iJlUZETENPsSkhn+7a7sO1W3qFaKKTGRVC9s90e6ch5eyWXBulFnwC8w520ioiIjIq6XmpHF2ysO8d7qw2RaDYIDizCyW13uuy0cH59C9LFJahJMrZzzthEnIaCQFTqRfFCRERGX2nTkAiPmxXLk/BUAutQvz7ie9SkXUoiOOqRfhclhOW8bdgyCSro0jognU5EREZdITs1g6o/7mbvpOABlgwMY37M+XRrk8gvdG2Wmw8RcLiF//gAEl3NtHhEvoCIjIgVuyZ7TvLhgN2cvpwHQp3llhneNIDTIz+RkLmLNgskVIfOa47YhsVAil4+XRORvqciISIE5m5zKmO/38OPu0wBUu6UYU2IiaVm9tMnJXMRqhRkNIPmk47ZntsAttVyfScTLqMiIiNMZhsGXm+OZtHgfl1Mz8fWx8FSb6jzboRaBfr5mxyt4hgHvR8PpWMdtT63VDR1FnEhFRkSc6uj5K4yYt4ufj1wEoGGlUKbGNKRehRCTk7nIxz3hyCrHef+lULmFy+OIeDsVGRFxiowsK/9Ze4Q3lh0kLdNKoJ8PL9xZh0dbVaVIYVjY7ut+sGee4/yh+VCjvevziBQSKjIictNiTyQx7Ntd7E1IBiC61i1MujuSyqWLmpzMBRY9B1s+cpzf+wnU+4fr84gUMioyIpJv19KzmL7sAB+uPYLVgBJF/Xixez1imlTE4u33A1o2Dta97ji/+z24tY/r84gUUioyIpIv6w6eZ+T8WI5fvArAPxpV4KUe9bileIDJyQrYuumwbKzjvOvL0OIpl8cRKexUZETkhiReTWfiD/v4ZusJACqEBjLxnga0j/Dyxdy2fGT7GOmv2o2GO/7P9XlEBFCREZE8MgyDRbsSGLdwD+dT0rFY4OGWVfi/LhEUD/DiHyW7voZ5jzvOo56BzpNcn0dE7HjxTx8RcZZTidd46bvdLNt3FoCaZYszrVckTauUMjlZAYr7ET6/33HeuC/0fMf1eUQkRyoyIpIrq9Xgs02/Mu1/caSkZeLna2Fgu5oMaFuDgCJeurDdkdXwcQ5XG0XcBfd/5vo8InJdKjIikqODZy4zfF4sW3+9BECTyiWY1qshtcoFm5ysgJzYAh92cJxXaQ39Frs+j4jkiYqMiNhJz7Qyc9Vh3ll5iPQsK8X8fRnWNYK+Larg4+OFl1Sf2QMzWznOy0TA0z+Dt19GLuLhVGREJNvWXy8xYt4uDpxJAaB9RFkm3t2ACiWCTE5WAC4chreaOM6LlYXn48CnEKxGLOIFVGREhJS0TF5dEsecjccwDChdzJ8x/6hPj4Zh3rewXdJJmF7PcW7xhdFnwVc/FkU8if6LFSnkVu4/y6j5sZxKSgWgV5NKjO5el5LF/E1O5mRXzsMrNXLeNuoM+AW6No+IOIWKjEghdSEljXEL9/L9zlMAhJcKYvI9kUTXKmNyMidLTYKplXPeNuIkBBR3bR4RcSoVGZFCxjAM5m8/yYRFe7l0NQMfCzx2ezWe61Sbov5e9CMh/SpMDst527BjEFTSpXFEpGB40U8tkRuQlQVr10JCAoSFQXQ0+HrZuig5vMf4pDRGzo9l7cHzANQNC2Far0gaViphblZnykyDiWVz3vb8AQj28lspiBQypp6WP2XKFJo1a0ZwcDBly5bl7rvvJi4uzm6f1NRUBg4cSOnSpSlevDi9evXizJkzJiUWrzBvHlStCu3awQMP2P63alXb3Fv85T1mte/Ah10e485XV7D24Hn8i/jw7y51+P6Z1t5TYrIyYWK5nEvMkFgYm6QSI+KFLIZhGGa9eJcuXbj//vtp1qwZmZmZjBw5kt27d7N3716KFSsGwIABA/jhhx+YPXs2oaGhPPPMM/j4+LB+/fo8vUZycjKhoaEkJSUREhJSkG9HPMG8edC7N/z1r/3vV+Z88w3ExLg+lzP95T3uK1OV4V2eZWeF2gC0CLYy5cl2VC/jJeeGWK0wvT5cPuW47ZktcEst12cSkZuW19/fphaZvzp37hxly5Zl9erVtGnThqSkJMqUKcPcuXPp3bs3APv376du3bps3LiRli1b/u1zqshItqws21GKEydy3m6xQKVKcPSo537M9Kf3eK5oCZ6MGc32ihEABKemMHLVLO67uA+fo0c89z3+zjDgs95waJnjtqfWQlhD12cSEafJ6+9vtzpHJikpCYBSpWw3otu6dSsZGRl07Ngxe5+IiAgqV66ca5FJS0sjLS0t+3FycnIBpxaPsXZt7iUGbL8Y4+Nt+7Vt67JYTvXbe+x73wTWVW2cPe4St55xy96nXMrFP/bz1PcIcGwdLBkJCTvt5/2XQuUW5mQSEVO4TZGxWq0MGTKE1q1b06BBAwBOnz6Nv78/JUqUsNu3XLlynD59OsfnmTJlCuPGjSvouOKJEhKcu58b2n/kDF2GLbKbPbv+c4au+8vNDj31Pcb/AismwtHV9vO+86BmDvdJEhGv5zZFZuDAgezevZt169bd1POMGDGCoUOHZj9OTk4mPDz8ZuOJNwjL5VLc/O7nZiLHLuFyqv15L4s/GkS9c0cdd/a093hqO6ycDAeX2h77+EHTRyD6eQipYG42ETGVWxSZZ555hkWLFrFmzRoqVaqUPS9fvjzp6ekkJibaHZU5c+YM5cuXz/G5AgICCAgIKOjI4omio23nwJw86XiyL/xxjkx0tOuz3YSV+8/Sb/Zmu1nrYzv47MvRjjt72ns8s8dWYPb/dpTJ4gu3PgB3/BtK5LLInYgUKqYWGcMwGDRoEPPnz2fVqlVUq1bNbnvTpk3x8/Nj+fLl9OrVC4C4uDiOHz9OVFSUGZHFk/n6whtv2K7osVjsy8zvVy3NmOExJ8FmWQ1qjFzsMP/l1jTKvvyiZ7/Hcwdg1RTYMx8wAAs0vM9WYErncpsBESmUTC0yAwcOZO7cuXz33XcEBwdnn/cSGhpKUFAQoaGhPPbYYwwdOpRSpUoREhLCoEGDiIqKytMVSyIOYmJsl1gPHmx/4m+lSrZf8B5y6fVH644yftFeu9kT0dUY1f23myH6e+h7vHgEVr8Mu74Ew2qb1b8H2o6AMnXMzSYibsnUy69zu6vurFmzePTRRwHbgnjPP/88n3/+OWlpaXTu3Jl3330314+W/kqXX0uOPHRl35S0TBqMWeIw3ze+C0H+f8nvSe8xMR7WvAzbPwMjyzar0x3ajYDykeZmExFTeOQ6MgVBRUa8xcj5sczddNxuNjUmkvube/C5IskJsPY12DYHstJts5qdoN1IqNjE3GwiYiqPXEdGRBydTLxG66krHOZHJnfDxyfno5puL+UcrJ8Bmz+EzFTbrFobaDda68CIyA1RkRFxY/94ex27TiTZzeY+0YJWNW4xKdFNunoRNrwJmz6AjCu2WeUoaDcKqnnIlVQi4lZUZETc0I74RO5+x/5+YhVLBLF+eHuTEt2k1CTY+A5sfBfSL9tmFZpA+1FQo8MfV1SJiNwgFRkRN2IYBtVGOF5SveL5OzzzJo9pKbDpPdjwFqQm2mblI21HYGp3UYERkZumIiPiJhbtOsUzc7fbzbpFlufdB5ualOgmpF+FLf+FddPh6gXbrEyE7STeiB7g42NuPhHxGioyIiZLz7RSe/SPDvPtL3aiZDF/ExLdhMw02DrbdiVSyhnbrFQN2zowDWLAx00v/xYRj6UiI2KiN5cf5PWfDtjNnutYm8Eda5mUKJ+yMmD7p7DmFUg+aZuVqAx3DIOG94OvftSISMHQTxcREyReTefW8T85zA9M7Ip/EQ/62CUr07YK7+ppkPirbRZSEdq8ALf2hSIedkRJRDyOioyIiw2cu40fdiXYzd7q05gejTzoLs5WK+yZZ7sf0oVDtlmxsra7UTd9FPwCTY0nIoWHioyIixw5l0L711Y7zI9O6Zbr7TrcjmHAvoW2O1Kf22ebBZWC25+DZo+Df1Fz84lIoaMiI+IC0S+vIP7iNbvZ/Kdb0bhySZMS3SDDgANLYOUkOL3LNgsMhVaDoMW/ICDY3HwiUmipyIgUoI2HL9DnPz/bzepXCOGHZz1kFVvDgMMrbEdgTm6xzfyDoeUAiBoIQSVMjScioiIjUgCsVoPqIx0Xtls3rB2VSnrIxy/H1sGKSXB8g+2xX1Fo/iS0HgxFS5mbTUTkNyoyIk725ebjDPs21m52f7NwpvZqaFKiGxT/C6yYCEd/O5/HN8B2/svtQ6B4WVOjiYj8lYqMiJOkZmQR8eL/HOaxY+8kONDPhEQ36NR220dIB5faHvv4QdNHbFcihXjQFVUiUqioyIg4wZTF+3h/zRG72Yt31eOx26uZlOgGnNljKzD7F9keW3zh1gfgjn/bFrUTEXFjKjIiN+Hs5VSaT1ruMD80qStFfN18YbtzB2zrwOyZDxhg8YHIe20FpnQNs9OJiOSJioxIPvX9cBPrDp23m3306G20jyhnUqI8ungEVr9sW5HXsNpm9e+x3Q+pTB1zs4mI3CAVGZEbtC8hma5vrLWbFQ8owu5xnU1KlEeJ8bDmZdj+GRhZtlnEXbYCU76BudlERPJJRUbkBkSOWcLltEy72eJno6lXIcSkRHmQnGC7G/W2OZCVbpvV7ATtRkLFJuZmExG5SSoyInmwcv9Z+s3ebDdrXbM0nz3e0qREeXBkNXzeBzKu/DGrdge0GwWVW5iXS0TEiVRkRK4jy2pQI4eF7X4Z1YGywW56Y8T4zfDfjvazylG2AlPNQ1YUFhHJIxUZkVx8tO4o4xfttZs9EV2NUd3rmZTob5zeDe+1dpzfNcN2R2pPuTGliMgNUJER+YuUtEwajFniMN83vgtB/r4mJPobFw7DWzmc61KsLDwfBz5ufhm4iMhNUJGRwikrC9auhYQECAuD6Gjw9WXEvF18/ku83a4v92rIvc3CTQp6HUknYHp9x7mPH4w6Db76z1tEvJ9+0knhM28eDB4MJ05kj07Uacjtd0922PXI5G74+LjZRzIp5+DVmjlvG3UG/Nz03B0RkQKgIiOFy7x50Ls3GEb2qMfD04kNq2W329wnWtCqxi2uTnd91xJhWpWct404CQHFXRpHRMQdqMhI4ZGVZTsS81uJ2R5Wm3seft1ul4opF1j/xoPg60bnwqRfgcm53LRx2DEIKunSOCIi7kRFRgqPtWvhxAkMoNqwRQ6bV3zwJNUvnYLelaFtW5fHc5CZBhPL5rzthYNQPJdtIiKFiIqMFB4JCSyKuJ1neg63G3ffv5Z3vptmt5+psjJhctgfq/D+2ZDdUMINTzwWETGJiowUCumZVmrvDIG/lJjtb/ShZOpl+53DwlyY7E+sVpheDy7nUKSe2Qq35HKCr4hIIaYiI17vzeUHef2nA3azoWs/5dkNX9jvaLFApUq2S7FdyTBgZis4u9dx27/WQflI1+YREfEgKjLitS5dSafxhJ8c5gdevQd/q/2NH7NXvZ0xw7Un+s7pAUfXOM4f+wnCm7suh4iIh1KREa/09GdbWRx72m72Vp/G9GhUAZp/4bCODJUq2UpMTIxrAn71MOz9znH+0AKo0c41GUREvICKjHiVI+dSaP/aaof50SndsPx+1CUmBnr2zHFl3wK3cDBsne04v+9TqNuj4F9fRMTLqMiI17h92gpOXLpmN5v/dCsaV85hnRVfX9deYv3TS7D+Dcf5Pe9Do/tdl0NExMuoyIjH23j4An3+87PdrEHFEBYNcvFJuzlZ+xosH+847/YqNH/C9XlERLyMiox4LKvVoPrIxQ7zdcPaUalkURMS/cnmD+GH5x3n7V+ENi+4Po+IiJdSkRGP9OXm4wz7NtZudn+zcKb2amhSot/s/BLmP+k4b/Us3DnB9XlERLyciox4lNSMLCJe/J/DPHbsnQQH+pmQ6Df7f4AvHnCcN3kY/vGW6/OIiBQSKjLiMSYv3scHa47YzV66qx79b69mUiLgyCr4uKfjvG4P25VIIiJSoFRkxO2dvZxK80nLHeaHJnWliK+PCYmA+M3w346O86rR8KjjDSlFRKRgqMiIW+v74SbWHTpvN/vo0dtoH1HOnECnd8N7rR3nZevBgA1/rBAsIiIuoSIjbmlfQjJd31hrNyseUITd4zqbE+jCYXirieO8eHkYug98TDoyJCJSyKnIiNtpMGYJKWn290L6cXA0dcNCXB8m6QRMr+849/GDUafBV/8JiYiYST+FxW0s33eGx+ZssZvdXvMWPn28hevDpJyDV2vmvG30WSgS4No8IiKSIxUZMV2W1aBGDgvb/TKqA2WDA10b5loiTKuS87aRp8C/mEvjiIjI9anIiKk+WneU8Yv22s2ebFOdkd3qujZI+hWYXCHnbcN+haASLo0jIiJ5oyIjpricmkHk2KUO8/0TuhDo54K7UP8uMw0mls152wsHoXgu20RExC2oyIjLjZi3i89/ibebvdyrIfc2C3ddiKxMmFQerBmO257bA6GVXJdFRETyTUVGXObEpavcPm2lw/zI5G74+Lho/RWrFV6PgJQzjtue2Qq35HKCr4iIuCUVGXGJu95ay+6TyXazuU+0oFWNW1wTwDBgZis4u9dx27/WQflI1+QQERGnUpGRArX9+CXueXeD3axSySDWDWvvuhCz74Jjax3nj/0E4c1dl0NERJxORUYKhGEYVBvheEn1iufvoHqZ4q4J8eVDsO97x/lDC6BGO9dkEBGRAqUiI063aNcpnpm73W7WPTKMdx7MYYn/gvD9s7BtjuP8vs+g7l2uySAiIi6hIiNOk55ppfboHx3mO17qRImi/gUf4KeXYP0bjvN73odG9xf864uIiMupyIhTvLn8IK//dMBu9nyn2gzqUKvgX3zta7B8vOO826vQ/ImCf30RETGNiozclEtX0mk84SeH+YGJXfEvUsB3hP7lP7D4Bcd5+xehTQ5zERHxOioykm9Pf7aVxbGn7WbvPNCE7g3DCvaFd34B859ynLceDJ1yODIjIiJeS0VGbtiRcym0f221w/zolG5YLAW4sN2+RfDlg47zJo/AP94suNcVERG3pSIjOcvKgrVrISEBwsIgOhp8fbl92gpOXLpmt+v8p1vRuHLJgstyZBV83NNxXrcH3Pdpwb2uiIi4vQI+ieH61qxZQ48ePahQoQIWi4UFCxbYbTcMg5deeomwsDCCgoLo2LEjBw8eNCdsYTJvHlStCu3awQMPQLt2bGhxJ1WH/2BXYiIrhnJsaveCKzHxm2FsqGOJqRoNY5NUYkRExNwjMleuXKFRo0b079+fmJgYh+0vv/wyb775JnPmzKFatWq8+OKLdO7cmb179xIYGGhC4kJg3jzo3du2pD9gxUL1YQsddls3rB2VShYtmAynd8N7rR3n5RrYbidQkB9fiYiIR7EYxm+/sUxmsViYP38+d999N2A7GlOhQgWef/55XnjBdgVKUlIS5cqVY/bs2dx/f97WBUlOTiY0NJSkpCRCQkIKKr53yMqyHYk5cQKALxt2YljXwXa79Dm0lilfTgJfX+e//oXD8FYOi+YFh8Fze8HH1AOIIiLiQnn9/e2258gcPXqU06dP07Fjx+xZaGgoLVq0YOPGjbkWmbS0NNLS0rIfJycn57if5GDtWjhxgjTfItR5YYHD5t3T/0nx9Guwtgu0beu81006AdPrO859/WFkAvi67V9TERExmdv+hjh92nZZb7ly5ezm5cqVy96WkylTpjBu3LgCzea1EhKYV78dQ+963m780rIP6L/1e7v9nCLlHLxaM+dto89CkQDnvI6IiHgtty0y+TVixAiGDh2a/Tg5OZnw8HATE3mGpGsZNNoZAn8qMcXTrrLzjfvxNaz2O4fd5Dox1xJhWpWct408Bf7Fbu75RUSk0HDbIlO+fHkAzpw5Q9iffnGeOXOGW2+9NdevCwgIICBA/0/+RuR0e4FFswfT4Mxh+x0tFqhUyXYpdn6kX4HJFXLeNuxXCCqRv+cVEZFCy22LTLVq1ShfvjzLly/PLi7Jycls2rSJAQMGmBvOS5y4dJXbp620m8WUzuL1YXc77vz7lUIzZtz4ib6ZaTCxbM7bXjgExcvc2POJiIj8xtQik5KSwqFDh7IfHz16lB07dlCqVCkqV67MkCFDmDhxIrVq1cq+/LpChQrZVzZJ/g39cgfztp+0m2VfUl3jGxg8OPvqJcB2JGbGDMjhMvlcZWXCpPJgzXDc9tweCK2Uv/AiIiK/MfXy61WrVtGuXTuH+SOPPMLs2bMxDIMxY8bwwQcfkJiYyO233867775L7dq18/wauvzaXuyJJHq8vc5uNrRTbZ79612qc1nZN0+sVng9AlLOOG4btA1K18hnehERKSzy+vvbbdaRKSgqMjZWq8E9MzewMz7Rbr5zzJ2EBvk550UMA2a2grN7Hbf9az2Ub+Cc1xEREa/n8evIiPOs2H+G/rO32M1ev7cRMU2c+NHOrO7w6zrH+WPLILyZ815HRETkT1RkvFhqRhbNJi7jclpm9qxCaCCr/q8d/kWctErul31hn+MtDHj4O6je1jmvISIikgsVGS/12aZfGTV/t91s7hMtaFXjFue8wPfPwrY5jvP750JEd+e8hoiIyN9QkfEyF1LSaDpxmd0sutYtfNy/ORZn3Gzxp5dg/RuO83s+gEb33fzzi4iI3AAVGS8y5cd9vL/6iN1s6XNtqF0u+OaffO1rsHy847zbq9D8iZt/fhERkXxQkfECR89fod2rq+xmD0dVYXxPJ1wl9Mt/YPELjvMOL0H0845zERERF1KR8WCGYfDkJ1v5aa/9ei2/jOxA2ZDAm3vynV/C/Ccd560HQ6ccjsyIiIiYQEXGQ2399SK9Zm60m43uXpfHo6vf3BOf3Ar/ae84b/oo9Mjh3BgRERETqch4mMwsK13eWMuhsynZM18fC7vG3EmxgJv413lmj20xu7+q1xPu/Tj/zysiIlKAVGQ8yOLYBJ7+bJvdbOaDTegaGZbLV+TB+UPwdlPHedsR0HZ4/p9XRETEBVRkPEBKWiaRY5fw55tJ1C5XnMXPRlPEN58L2yUehxmRjvNWg6DThD/udi0iIuLGVGTc3IdrjzDxh312s28HtKJplZL5e8LLp+GNWyHzmv28aT+4a7oKjIiIeBQVGTd1JjmVFpOX28261C/PzL5N8rew3ZUL8G4LuHLOfh75T7jnffDJ452tRURE3IiKjBsavSCWT38+bjdb9UJbqt5S7MafLDUJPmgLF+0XyqN2V7jvE/B10p2vRURETKAi40biTl+m84w1drN/3VGD4V0jbvzJ0q/AR13g9C77edVo6PstFAm4iaQiIiLuQUXGDRiGQd//bmL9oQt2862jO1K6+A0WjoxU+DQGfl1vPw+7FfotBv98HNURERFxUyoyJttw6DwPfLjJbjb5nkgeaFH5xp4oKwO+eBAOLrGfl64JT6yAwNCbTCoiIuJ+VGRMkpaZxR0vr+J0cmr2LDTIj00jOxDodwMn3lqzYN4TsPtb+3nxcvD0z1C0lJMSi4iIuB8VGRPM23aCoV/ttJvN6teMdnXK5v1JDAMWDoZtc+zn/sVh0FYILu+EpCIiIu5NRcaFkq5m0Gj8UrtZ48ol+PZfrfDxyeMl1YYBS0fDxrcdtw2JhRI3+JGUiIiIB1ORcZE3lh1k+rIDdrNFg26nQcUbOHdl5RRYPdVxPmgblK5xkwlFREQ8j4pMAYu/eJXol1fazWKaVOT1e2/N+5NseMt2FOavBmyEcvVuLqCIiIgHU5EpQEO/3MG87SftZuuGtaNSyaJ5e4ItH8Gi5xznT6yEik2ckFBERMSzqcgUgNgTSfR4e53d7PlOtRnUoVbenmDnlzD/Scd5vx+hSisnJBQREfEOKjJOlGU1iHl3PTtPJNnNd465k9CgPNwKYN9C+LKv47zvPKjZwUkpRUREvIeKjJOs2H+G/rO32M2m39eIexpX+vsvPrQMPu3lOL/vM6h7l5MSioiIeB8VmZuUmpFFs4nLuJyWmT2rWCKIlS+0xb+Iz/W/+Nh6mN3NcR7zITT8p5OTioiIeB8VmZvw6c+/MnrBbrvZ3Cda0KrGLdf/whNb4cP2jvO7ZsBt/ZwXUERExMupyOTT/3Yn2JWY6Fq38HH/5lgs11nY7swemJnDybqdJ0PUwAJIKSIi4t1UZPIp+dofHyUtfa4NtcsF577z+UPwdlPHeduR0HZYAaQTEREpHFRk8uneZuH0aFSBIP/r3OAx8TjMiHSctx4MHcfB9Y7eiIiIyN9SkbkJuZaYy6fhjVsh85r9/Lb+0P11FRgREREnUZFxpisX4N0WcOWc/TzyXrjnPfC5ztEbERERuWEqMs6QmgQftIWLR+zndbrBvR+Dbx4WwxMREZEbpiJzM9KvwEdd4PQu+3nVaOj7LRQJMCeXiIhIIaEikx9ZWfDjx7BliP28QmN4dDH45/GmkCIiInJT/mbpWXEwbx5UrQov/+uPWaIP1H8HnlylEiMiIuJCOiJzI+bNg969wTDgFHDaCieyIBV482HwLQoxMWanFBERKTR0RCavsrJg8GBbiQGwAgcz4Zrxx2zIENt+IiIi4hIqMnm1di2cOJH7dsOA+HjbfiIiIuISKjJ5lZDg3P1ERETkpqnI5FVYmHP3ExERkZumIpNX0dFQqVLutxewWCA83LafiIiIuISKTF75+sIbb9j++a9l5vfHM2bY9hMRERGXUJG5ETEx8M03ULGi/bxSJdtcl16LiIi4lNaRuVExMdCzp+3qpIQE2zkx0dE6EiMiImICFZn88PWFtm3NTiEiIlLo6aMlERER8VgqMiIiIuKxVGRERETEY6nIiIiIiMdSkRERERGPpSIjIiIiHktFRkRERDyWioyIiIh4LBUZERER8Vhev7KvYRgAJCcnm5xERERE8ur339u//x7PjdcXmcuXLwMQHh5uchIRERG5UZcvXyY0NDTX7Rbj76qOh7NarZw6dYrg4GAsFovTnjc5OZnw8HDi4+MJCQlx2vO6E29/j97+/sD736Pen+fz9veo95d/hmFw+fJlKlSogI9P7mfCeP0RGR8fHypVqlRgzx8SEuKVfzn/zNvfo7e/P/D+96j35/m8/T3q/eXP9Y7E/E4n+4qIiIjHUpERERERj6Uik08BAQGMGTOGgIAAs6MUGG9/j97+/sD736Pen+fz9veo91fwvP5kXxEREfFeOiIjIiIiHktFRkRERDyWioyIiIh4LBUZERER8VgqMvmwZs0aevToQYUKFbBYLCxYsMDsSE4zZcoUmjVrRnBwMGXLluXuu+8mLi7O7FhONXPmTBo2bJi9gFNUVBQ//vij2bEKzNSpU7FYLAwZMsTsKE4zduxYLBaL3Z+IiAizYznVyZMn6du3L6VLlyYoKIjIyEi2bNlidiynqFq1qsO/P4vFwsCBA82O5jRZWVm8+OKLVKtWjaCgIGrUqMGECRP+9r5BnuTy5csMGTKEKlWqEBQURKtWrdi8ebPLc3j9yr4F4cqVKzRq1Ij+/fsTExNjdhynWr16NQMHDqRZs2ZkZmYycuRI7rzzTvbu3UuxYsXMjucUlSpVYurUqdSqVQvDMJgzZw49e/Zk+/bt1K9f3+x4TrV582bef/99GjZsaHYUp6tfvz7Lli3LflykiPf8OLt06RKtW7emXbt2/Pjjj5QpU4aDBw9SsmRJs6M5xebNm8nKysp+vHv3bjp16sQ///lPE1M517Rp05g5cyZz5syhfv36bNmyhX79+hEaGsqzzz5rdjynePzxx9m9ezeffPIJFSpU4NNPP6Vjx47s3buXihUrui6IITcFMObPn292jAJz9uxZAzBWr15tdpQCVbJkSePDDz80O4ZTXb582ahVq5bx008/GXfccYcxePBgsyM5zZgxY4xGjRqZHaPADBs2zLj99tvNjuEygwcPNmrUqGFYrVazozhN9+7djf79+9vNYmJijAcffNCkRM519epVw9fX11i0aJHdvEmTJsaoUaNcmkUfLcl1JSUlAVCqVCmTkxSMrKwsvvjiC65cuUJUVJTZcZxq4MCBdO/enY4dO5odpUAcPHiQChUqUL16dR588EGOHz9udiSn+f7777ntttv45z//SdmyZWncuDH/+c9/zI5VINLT0/n000/p37+/U2/sa7ZWrVqxfPlyDhw4AMDOnTtZt24dXbt2NTmZc2RmZpKVlUVgYKDdPCgoiHXr1rk0i/ccixWns1qtDBkyhNatW9OgQQOz4zhVbGwsUVFRpKamUrx4cebPn0+9evXMjuU0X3zxBdu2bTPl82pXaNGiBbNnz6ZOnTokJCQwbtw4oqOj2b17N8HBwWbHu2lHjhxh5syZDB06lJEjR7J582aeffZZ/P39eeSRR8yO51QLFiwgMTGRRx991OwoTjV8+HCSk5OJiIjA19eXrKwsJk2axIMPPmh2NKcIDg4mKiqKCRMmULduXcqVK8fnn3/Oxo0bqVmzpmvDuPT4jxfCiz9a+te//mVUqVLFiI+PNzuK06WlpRkHDx40tmzZYgwfPty45ZZbjD179pgdyymOHz9ulC1b1ti5c2f2zNs+WvqrS5cuGSEhIV7z8aCfn58RFRVlNxs0aJDRsmVLkxIVnDvvvNO46667zI7hdJ9//rlRqVIl4/PPPzd27dplfPzxx0apUqWM2bNnmx3NaQ4dOmS0adPGAAxfX1+jWbNmxoMPPmhERES4NIeKzE3y1iIzcOBAo1KlSsaRI0fMjuISHTp0MJ588kmzYzjF/Pnzs3+w/P4HMCwWi+Hr62tkZmaaHbFA3Hbbbcbw4cPNjuEUlStXNh577DG72bvvvmtUqFDBpEQF49ixY4aPj4+xYMECs6M4XaVKlYy3337bbjZhwgSjTp06JiUqOCkpKcapU6cMwzCMe++91+jWrZtLX1/nyIgdwzB45plnmD9/PitWrKBatWpmR3IJq9VKWlqa2TGcokOHDsTGxrJjx47sP7fddhsPPvggO3bswNfX1+yITpeSksLhw4cJCwszO4pTtG7d2mHZgwMHDlClShWTEhWMWbNmUbZsWbp37252FKe7evUqPj72v2J9fX2xWq0mJSo4xYoVIywsjEuXLrFkyRJ69uzp0tfXOTL5kJKSwqFDh7IfHz16lB07dlCqVCkqV65sYrKbN3DgQObOnct3331HcHAwp0+fBiA0NJSgoCCT0znHiBEj6Nq1K5UrV+by5cvMnTuXVatWsWTJErOjOUVwcLDDOU3FihWjdOnSXnOu0wsvvECPHj2oUqUKp06dYsyYMfj6+tKnTx+zoznFc889R6tWrZg8eTL33nsvv/zyCx988AEffPCB2dGcxmq1MmvWLB555BGvunT+dz169GDSpElUrlyZ+vXrs337dl5//XX69+9vdjSnWbJkCYZhUKdOHQ4dOsT//d//ERERQb9+/VwbxKXHf7zEypUrDcDhzyOPPGJ2tJuW0/sCjFmzZpkdzWn69+9vVKlSxfD39zfKlCljdOjQwVi6dKnZsQqUt50jc9999xlhYWGGv7+/UbFiReO+++4zDh06ZHYsp1q4cKHRoEEDIyAgwIiIiDA++OADsyM51ZIlSwzAiIuLMztKgUhOTjYGDx5sVK5c2QgMDDSqV69ujBo1ykhLSzM7mtN8+eWXRvXq1Q1/f3+jfPnyxsCBA43ExESX57AYhhctMygiIiKFis6REREREY+lIiMiIiIeS0VGREREPJaKjIiIiHgsFRkRERHxWCoyIiIi4rFUZERERMRjqciIiIiIx1KREREAZs+eTYkSJUx7/WPHjmGxWNixY0eBvUbbtm0ZMmRIgT3/9VStWpUZM2aY8toi3kxFRsRNPProo1gsFqZOnWo3X7BgARaLxaRUIiLuTUVGxI0EBgYybdo0Ll26ZHaUPElPTzc7glfLyMgwO4KI21OREXEjHTt2pHz58kyZMuW6+3377bfUr1+fgIAAqlatymuvvWa3vWrVqkycOJGHH36Y4sWLU6VKFb7//nvOnTtHz549KV68OA0bNmTLli0Oz71gwQJq1apFYGAgnTt3Jj4+Pnvb2LFjufXWW/nwww+pVq0agYGBACQmJvL4449TpkwZQkJCaN++PTt37rzue/jll19o3LgxgYGB3HbbbWzfvt1hn927d9O1a1eKFy9OuXLleOihhzh//vx1n3f9+vW0bduWokWLUrJkSTp37mxXDK1WK//+978pVaoU5cuXZ+zYsXZf//rrrxMZGUmxYsUIDw/n6aefJiUlJXv77x/BLVq0iDp16lC0aFF69+7N1atXmTNnDlWrVqVkyZI8++yzZGVl2T335cuX6dOnD8WKFaNixYq88847dtstFgszZ87kH//4B8WKFWPSpEkAfPfddzRp0oTAwECqV6/OuHHjyMzMzP66v/v+79y5k3bt2hEcHExISAhNmzbN8d+9iEdy+W0qRSRHjzzyiNGzZ09j3rx5RmBgoBEfH28YhmHMnz/f+PN/qlu2bDF8fHyM8ePHG3FxccasWbOMoKAguzuUV6lSxShVqpTx3nvvGQcOHDAGDBhghISEGF26dDG++uorIy4uzrj77ruNunXrGlar1TAMw5g1a5bh5+dn3HbbbcaGDRuMLVu2GM2bNzdatWqV/bxjxowxihUrZnTp0sXYtm2bsXPnTsMwDKNjx45Gjx49jM2bNxsHDhwwnn/+eaN06dLGhQsXcnyvly9fNsqUKWM88MADxu7du42FCxca1atXNwBj+/bthmEYxqVLl4wyZcoYI0aMMPbt22ds27bN6NSpk9GuXbtcv4fbt283AgICjAEDBhg7duwwdu/ebbz11lvGuXPnDMOw3QU8JCTEGDt2rHHgwAFjzpw5hsVisbv7+fTp040VK1YYR48eNZYvX27UqVPHGDBgQPb2379PnTp1MrZt22asXr3aKF26tHHnnXca9957r7Fnzx5j4cKFhr+/v/HFF1/Y/TsJDg42pkyZYsTFxRlvvvmm4evra/fagFG2bFnjo48+Mg4fPmz8+uuvxpo1a4yQkBBj9uzZxuHDh42lS5caVatWNcaOHZv9dX/3/a9fv77Rt29fY9++fcaBAweMr776ytixY0eu30cRT6IiI+Imfi8yhmEYLVu2NPr3728YhmOReeCBB4xOnTrZfe3//d//GfXq1ct+XKVKFaNv377ZjxMSEgzAePHFF7NnGzduNAAjISHBMAzbL2jA+Pnnn7P32bdvnwEYmzZtMgzDVmT8/PyMs2fPZu+zdu1aIyQkxEhNTbXLVKNGDeP999/P8b2+//77RunSpY1r165lz2bOnGlXZCZMmGDceeeddl8XHx9vAEZcXFyOz9unTx+jdevWOW4zDFuRuf322+1mzZo1M4YNG5br13z99ddG6dKlsx///n06dOhQ9uypp54yihYtaly+fDl71rlzZ+Opp57KflylShWjS5cuds993333GV27ds1+DBhDhgyx26dDhw7G5MmT7WaffPKJERYWZhhG3r7/wcHBxuzZs3N9jyKeTB8tibihadOmMWfOHPbt2+ewbd++fbRu3dpu1rp1aw4ePGj3UUbDhg2z/7lcuXIAREZGOszOnj2bPStSpAjNmjXLfhwREUGJEiXsclSpUoUyZcpkP965cycpKSmULl2a4sWLZ/85evQohw8fzvH97du3j4YNG2Z/NAUQFRVlt8/OnTtZuXKl3XNGREQA5Pq8O3bsoEOHDjlu+92fvy8AYWFhdt+DZcuW0aFDBypWrEhwcDAPPfQQFy5c4OrVq9n7FC1alBo1amQ/LleuHFWrVqV48eJ2sz8/b07vMSoqyuHf8W233Wb3eOfOnYwfP97u+/DEE0+QkJDA1atX8/T9Hzp0KI8//jgdO3Zk6tSpuX7/RDxREbMDiIijNm3a0LlzZ0aMGMGjjz6ar+fw8/PL/uffr3rKaWa1Wm/oeYsVK2b3OCUlhbCwMFatWuWw781czp2SkkKPHj2YNm2aw7awsLAcvyYoKOhvn/fP3wOwfR9+/x4cO3aMu+66iwEDBjBp0iRKlSrFunXreOyxx0hPT6do0aK5Psf1nvdG5PT9HTduHDExMQ77BgYG5un7P3bsWB544AF++OEHfvzxR8aMGcMXX3zBPffcc8P5RNyNioyIm5o6dSq33norderUsZvXrVuX9evX283Wr19P7dq18fX1vanXzMzMZMuWLTRv3hyAuLg4EhMTqVu3bq5f06RJE06fPk2RIkWoWrVqnl6nbt26fPLJJ6SmpmYflfn5558dnvfbb7+latWqFCmStx9VDRs2ZPny5YwbNy5P+//V1q1bsVqtvPbaa/j42A5Yf/XVV/l6rpz89T3+/PPP1/3egu37EBcXR82aNXPdnpfvf+3atalduzbPPfccffr0YdasWSoy4hX00ZKIm4qMjOTBBx/kzTfftJs///zzLF++nAkTJnDgwAHmzJnD22+/zQsvvHDTr+nn58egQYPYtGkTW7du5dFHH6Vly5bZxSYnHTt2JCoqirvvvpulS5dy7NgxNmzYwKhRo3K9MuaBBx7AYrHwxBNPsHfvXhYvXsyrr75qt8/AgQO5ePEiffr0YfPmzRw+fJglS5bQr18/h6uBfjdixAg2b97M008/za5du9i/fz8zZ8782yudflezZk0yMjJ46623OHLkCJ988gnvvfdenr42L9avX8/LL7/MgQMHeOedd/j6668ZPHjwdb/mpZde4uOPP2bcuHHs2bOHffv28cUXXzB69Gjg77//165d45lnnmHVqlX8+uuvrF+/ns2bN/9tgRLxFCoyIm5s/PjxDh9PNGnShK+++oovvviCBg0a8NJLLzF+/Ph8fwT1Z0WLFmXYsGE88MADtG7dmuLFi/Pll19e92ssFguLFy+mTZs29OvXj9q1a3P//ffz66+/Zp+H81fFixdn4cKFxMbG0rhxY0aNGuXwEVKFChVYv349WVlZ3HnnnURGRjJkyBBKlCiRfbTkr2rXrs3SpUvZuXMnzZs3Jyoqiu+++y7PR3QaNWrE66+/zrRp02jQoAGfffbZ314KfyOef/55tmzZQuPGjZk4cSKvv/46nTt3vu7XdO7cmUWLFrF06VKaNWtGy5YtmT59OlWqVAH+/vvv6+vLhQsXePjhh6lduzb33nsvXbt2zfdRKxF3YzEMwzA7hIiIiEh+6IiMiIiIeCwVGREREfFYKjIiIiLisVRkRERExGOpyIiIiIjHUpERERERj6UiIyIiIh5LRUZEREQ8loqMiIiIeCwVGREREfFYKjIiIiLisf4ftSmX/YyxgJgAAAAASUVORK5CYII=\n"},"metadata":{}}]},{"cell_type":"code","source":["erreur(x=n_chambres, w=4, y=prix)"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"RxSsThL0HCX3","executionInfo":{"status":"ok","timestamp":1687185934800,"user_tz":-60,"elapsed":568,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"c43c900e-d271-45e8-9c47-e177ee8bb348"},"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"text/plain":["847.25"]},"metadata":{},"execution_count":25}]},{"cell_type":"code","source":["plt.scatter(data[\"n_chambres\"], data['prix'], c=\"r\")\n","plt.plot(data[\"n_chambres\"], data['n_chambres'] * 5)\n","plt.plot(data[\"n_chambres\"], data['n_chambres'] * 4)\n","plt.plot(data[\"n_chambres\"], data['n_chambres'] * 6)\n","plt.xlabel('Nombre de chambrees')\n","plt.ylabel('Prix')\n","plt.show()"],"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":449},"id":"v4pmkBl7HkSD","executionInfo":{"status":"ok","timestamp":1687185964138,"user_tz":-60,"elapsed":1001,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"45649449-37fe-46dc-d509-140a7cf91a5a"},"execution_count":null,"outputs":[{"output_type":"display_data","data":{"text/plain":["
"],"image/png":"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\n"},"metadata":{}}]},{"cell_type":"code","source":["erreur(x=n_chambres, w=6, y=prix)"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"590yFe48HrW-","executionInfo":{"status":"ok","timestamp":1687185987461,"user_tz":-60,"elapsed":8,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"ee6dc50d-9d10-4b0f-9251-b105baa75019"},"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"text/plain":["425.25"]},"metadata":{},"execution_count":27}]},{"cell_type":"code","source":["erreur(x=n_chambres, w=4.9, y=prix)"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"WOJLxYz4HxP3","executionInfo":{"status":"ok","timestamp":1687186053791,"user_tz":-60,"elapsed":5,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"af83b5e8-a41d-4166-cd41-4c1af59f2875"},"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"text/plain":["366.2899999999999"]},"metadata":{},"execution_count":28}]},{"cell_type":"code","source":["erreur(x=n_chambres, w=5.1, y=prix)"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"PgmUxzuZIBgN","executionInfo":{"status":"ok","timestamp":1687186080830,"user_tz":-60,"elapsed":7,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"4681ae79-0563-471f-9d37-f70b6beb8018"},"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"text/plain":["324.0900000000001"]},"metadata":{},"execution_count":29}]},{"cell_type":"code","source":["plt.scatter(data[\"n_chambres\"], data['prix'], c=\"r\")\n","plt.plot(data[\"n_chambres\"], data['n_chambres'] * 5)\n","plt.plot(data[\"n_chambres\"], data['n_chambres'] * 5.1)\n","\n","plt.xlabel('Nombre de chambrees')\n","plt.ylabel('Prix')\n","plt.show()"],"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":449},"id":"cCgRHJgHIIGo","executionInfo":{"status":"ok","timestamp":1687186107322,"user_tz":-60,"elapsed":15,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"ed1153f8-78b8-4d56-f784-d92e2db1729a"},"execution_count":null,"outputs":[{"output_type":"display_data","data":{"text/plain":["
"],"image/png":"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zGtSRETkeqd2wtBg5xATGgVDEx0h5nRyCi/N2MTzX2ziZFIKkUUKMPO5+oztWF0h5g7lihmZDRs2MGXKFKpXr+5U79u3LwsXLuSbb74hODiYHj16EBcXx+rVq03qVERE5C/GR0HyCedaj41wVwXAvrDdNxuPMXLhLpJSMvD0sPB847L0blYBP2/X36qcF5keZC5dukTXrl3597//zciRIx31xMREPvvsM2bOnMl9990HwNSpU4mKimLdunU0aNDghsdLTU0lNTXVMU5KSsrZNyAiIvnPkXXweSvnWtmm8MRcx/A/aw/x5rydjnF0yWDGdoymaolgFzWZP5h+aql79+60a9eO5s2bO9U3bdpEenq6U71y5cqUKlWKtWvX3vR4Y8aMITg42PEVERGRY72LiEg+Yxj200jXh5i+uxwh5nJqBpGvLXQKMa+3rcyclxoqxOQAU2dkZs2axebNm9mwYUOmbSdPnsTHx4dChQo51YsVK8bJkydvesyBAwfSr18/xzgpKUlhRkRE7tyeJTDz/5xr1R+BuCmO4aC52/ly3RGnXcbERdOlXilXdJgvmRZkjh49Su/evfnf//6Hn1/23TPv6+uLr69vth1PRETyOZsNhhfOXH/1IBQIAeDExas0HPtzpl0OjG6rhe1ymGlBZtOmTZw+fZpatWo5alarlV9++YUPP/yQxYsXk5aWxsWLF51mZU6dOkXx4sVN6FhERPKd376B2c861xr2tD8n6Q8PTlrN1j8eLXDNjGfr06j8XS5oUEwLMs2aNWP79u1OtaeffprKlSszYMAAIiIi8Pb2ZunSpXTs2BGA+Ph4jhw5QkxMjBkti4hIfmFNhxE3CCIDj4Ov/flH245epMMk57toiwX5sv715plfJznGtCATGBhItWrVnGoFCxakSJEijvozzzxDv379CAkJISgoiJ49exITE3PTO5ZERETu2PopsOhV51qL4dCoN2C/pbrMwB8yveynfvdSvmgufshjHmX67dd/57333sPDw4OOHTuSmppKq1at+Oijj8xuS0RE8qL0qzDqBpcuDDoNXvZrLxdtT+DFGZudNresUoxPnqjjig7lBiyGYRhmN5GTkpKSCA4OJjExkaCgILPbERGR3GjZaFgxzrn2wIdQ63EA0q02KryxKNPLNg9uQUhBH1d0mO9k9fd3rp6RERERyVFXL8K40pnr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Z1itVmbNmsXly5eJiYkxu51s1b17d9q1a0fz5s3NbiVH7N27lxIlSlC2bFm6du3KkSNHzG4p23z//ffUqVOH//u//6No0aLcfffd/Pvf/za7rRyRlpbGl19+Sbdu3bL1wb5ma9iwIUuXLmXPnj0AbNu2jVWrVtGmTRuTO8seGRkZWK1W/Pz8nOr+/v6sWrXKpb3knblYyXY2m40+ffrQqFEjqlWrZnY72Wr79u3ExMSQkpJCQEAAc+bMoUqVKma3lW1mzZrF5s2bTTlf7Qr169dn2rRpVKpUiYSEBIYNG0ZsbCw7duwgMDDQ7Pbu2IEDB5g8eTL9+vXj9ddfZ8OGDfTq1QsfHx+efPJJs9vLVnPnzuXixYs89dRTZreSrV577TWSkpKoXLkynp6eWK1WRo0aRdeuXc1uLVsEBgYSExPDiBEjiIqKolixYnz11VesXbuW8uXLu7YZl87/5EHk4VNL//rXv4zSpUsbR48eNbuVbJeammrs3bvX2Lhxo/Haa68Zd911l7Fz506z28oWR44cMYoWLWps27bNUctrp5aud+HCBSMoKCjPnB709vY2YmJinGo9e/Y0GjRoYFJHOadly5bG/fffb3Yb2e6rr74ywsPDja+++sr47bffjP/85z9GSEiIMW3aNLNbyzb79u0zGjdubACGp6enUbduXaNr165G5cqVXdqHgswdyqtBpnv37kZ4eLhx4MABs1txiWbNmhnPP/+82W1kizlz5jh+sFz7AgyLxWJ4enoaGRkZZreYI+rUqWO89tprZreRLUqVKmU888wzTrWPPvrIKFGihEkd5YxDhw4ZHh4exty5c81uJduFh4cbH374oVNtxIgRRqVKlUzqKOdcunTJOHHihGEYhvHwww8bbdu2den31zUy4sQwDHr06MGcOXP4+eefKVOmjNktuYTNZiM1NdXsNrJFs2bN2L59O1u3bnV81alTh65du7J161Y8PT3NbjHbXbp0if379xMWFmZ2K9miUaNGmZY92LNnD6VLlzapo5wxdepUihYtSrt27cxuJdtduXIFDw/nX7Genp7YbDaTOso5BQsWJCwsjAsXLrB48WI6dOjg0u+va2Ruw6VLl9i3b59jfPDgQbZu3UpISAilSpUysbM71717d2bOnMm8efMIDAzk5MmTAAQHB+Pv729yd9lj4MCBtGnThlKlSpGcnMzMmTNZvnw5ixcvNru1bBEYGJjpmqaCBQtSpEiRPHOt08svv0z79u0pXbo0J06cYMiQIXh6etKlSxezW8sWffv2pWHDhowePZqHH36YX3/9lU8++YRPPvnE7Nayjc1mY+rUqTz55JN56tb5a9q3b8+oUaMoVaoUVatWZcuWLbz77rt069bN7NayzeLFizEMg0qVKrFv3z5eeeUVKleuzNNPP+3aRlw6/5NHLFu2zAAyfT355JNmt3bHbvS+AGPq1Klmt5ZtunXrZpQuXdrw8fExQkNDjWbNmhlLliwxu60cldeukencubMRFhZm+Pj4GCVLljQ6d+5s7Nu3z+y2stX8+fONatWqGb6+vkblypWNTz75xOyWstXixYsNwIiPjze7lRyRlJRk9O7d2yhVqpTh5+dnlC1b1njjjTeM1NRUs1vLNv/973+NsmXLGj4+Pkbx4sWN7t27GxcvXnR5HxbDyEPLDIqIiEi+omtkRERExG0pyIiIiIjbUpARERERt6UgIyIiIm5LQUZERETcloKMiIiIuC0FGREREXFbCjIiIiLithRkRASAadOmUahQIdO+/6FDh7BYLGzdujXHvkeTJk3o06dPjh3/70RGRvL++++b8r1F8jIFGZFc4qmnnsJisTB27Fin+ty5c7FYLCZ1JSKSuynIiOQifn5+jBs3jgsXLpjdSpakpaWZ3UKelp6ebnYLIrmegoxILtK8eXOKFy/OmDFj/na/7777jqpVq+Lr60tkZCTjx4932h4ZGcnIkSN54oknCAgIoHTp0nz//fecOXOGDh06EBAQQPXq1dm4cWOmY8+dO5cKFSrg5+dHq1atOHr0qGPb0KFDqVmzJp9++illypTBz88PgIsXL/Lss88SGhpKUFAQ9913H9u2bfvb9/Drr79y99134+fnR506ddiyZUumfXbs2EGbNm0ICAigWLFiPP7445w9e/Zvj7t69WqaNGlCgQIFKFy4MK1atXIKhjabjVdffZWQkBCKFy/O0KFDnV7/7rvvEh0dTcGCBYmIiOCll17i0qVLju3XTsEtWLCASpUqUaBAATp16sSVK1eYPn06kZGRFC5cmF69emG1Wp2OnZycTJcuXShYsCAlS5Zk0qRJTtstFguTJ0/mgQceoGDBgowaNQqAefPmUatWLfz8/ChbtizDhg0jIyPD8bp/+vy3bdtG06ZNCQwMJCgoiNq1a9/w717ELbn8MZUickNPPvmk0aFDB2P27NmGn5+fcfToUcMwDGPOnDnGX/9T3bhxo+Hh4WEMHz7ciI+PN6ZOnWr4+/s7PaG8dOnSRkhIiPHxxx8be/bsMV588UUjKCjIaN26tfH1118b8fHxxoMPPmhERUUZNpvNMAzDmDp1quHt7W3UqVPHWLNmjbFx40ajXr16RsOGDR3HHTJkiFGwYEGjdevWxubNm41t27YZhmEYzZs3N9q3b29s2LDB2LNnj9G/f3+jSJEixrlz5274XpOTk43Q0FDj0UcfNXbs2GHMnz/fKFu2rAEYW7ZsMQzDMC5cuGCEhoYaAwcONHbv3m1s3rzZaNGihdG0adObfoZbtmwxfH19jRdffNHYunWrsWPHDuODDz4wzpw5YxiG/SngQUFBxtChQ409e/YY06dPNywWi9PTz9977z3j559/Ng4ePGgsXbrUqFSpkvHiiy86tl/7nFq0aGFs3rzZWLFihVGkSBGjZcuWxsMPP2zs3LnTmD9/vuHj42PMmjXL6e8kMDDQGDNmjBEfH29MnDjR8PT0dPregFG0aFHj888/N/bv328cPnzY+OWXX4ygoCBj2rRpxv79+40lS5YYkZGRxtChQx2v+6fPv2rVqsZjjz1m7N6929izZ4/x9ddfG1u3br3p5yjiThRkRHKJa0HGMAyjQYMGRrdu3QzDyBxkHn30UaNFixZOr33llVeMKlWqOMalS5c2HnvsMcc4ISHBAIzBgwc7amvXrjUAIyEhwTAM+y9owFi3bp1jn927dxuAsX79esMw7EHG29vbOH36tGOflStXGkFBQUZKSopTT+XKlTOmTJlyw/c6ZcoUo0iRIsbVq1cdtcmTJzsFmREjRhgtW7Z0et3Ro0cNwIiPj7/hcbt06WI0atTohtsMwx5k7rnnHqda3bp1jQEDBtz0Nd98841RpEgRx/ja57Rv3z5H7YUXXjAKFChgJCcnO2qtWrUyXnjhBce4dOnSRuvWrZ2O3blzZ6NNmzaOMWD06dPHaZ9mzZoZo0ePdqp98cUXRlhYmGEYWfv8AwMDjWnTpt30PYq4M51aEsmFxo0bx/Tp09m9e3embbt376ZRo0ZOtUaNGrF3716nUxnVq1d3/LlYsWIAREdHZ6qdPn3aUfPy8qJu3bqOceXKlSlUqJBTH6VLlyY0NNQx3rZtG5cuXaJIkSIEBAQ4vg4ePMj+/ftv+P52795N9erVHaemAGJiYpz22bZtG8uWLXM6ZuXKlQFuetytW7fSrFmzG2675q+fC0BYWJjTZ/DTTz/RrFkzSpYsSWBgII8//jjnzp3jypUrjn0KFChAuXLlHONixYoRGRlJQECAU+2vx73Re4yJicn0d1ynTh2n8bZt2xg+fLjT5/Dcc8+RkJDAlStXsvT59+vXj2effZbmzZszduzYm35+Iu7Iy+wGRCSzxo0b06pVKwYOHMhTTz11W8fw9vZ2/PnaXU83qtlstls6bsGCBZ3Gly5dIiwsjOXLl2fa905u57506RLt27dn3LhxmbaFhYXd8DX+/v7/eNy/fgZg/xyufQaHDh3i/vvv58UXX2TUqFGEhISwatUqnnnmGdLS0ihQoMBNj/F3x70VN/p8hw0bRlxcXKZ9/fz8svT5Dx06lEcffZSFCxeyaNEihgwZwqxZs3jooYduuT+R3EZBRiSXGjt2LDVr1qRSpUpO9aioKFavXu1UW716NRUrVsTT0/OOvmdGRgYbN26kXr16AMTHx3Px4kWioqJu+ppatWpx8uRJvLy8iIyMzNL3iYqK4osvviAlJcUxK7Nu3bpMx/3uu++IjIzEyytrP6qqV6/O0qVLGTZsWJb2v96mTZuw2WyMHz8eDw/7hPXXX399W8e6kevf47p16/72swX75xAfH0/58uVvuj0rn3/FihWpWLEiffv2pUuXLkydOlVBRvIEnVoSyaWio6Pp2rUrEydOdKr379+fpUuXMmLECPbs2cP06dP58MMPefnll+/4e3p7e9OzZ0/Wr1/Ppk2beOqpp2jQoIEj2NxI8+bNiYmJ4cEHH2TJkiUcOnSINWvW8MYbb9z0zphHH30Ui8XCc889x65du/jhhx945513nPbp3r0758+fp0uXLmzYsIH9+/ezePFinn766Ux3A10zcOBANmzYwEsvvcRvv/3G77//zuTJk//xTqdrypcvT3p6Oh988AEHDhzgiy++4OOPP87Sa7Ni9erVvPXWW+zZs4dJkybxzTff0Lt37799zZtvvsl//vMfhg0bxs6dO9m9ezezZs1i0KBBwD9//levXqVHjx4sX76cw4cPs3r1ajZs2PCPAUrEXSjIiORiw4cPz3R6olatWnz99dfMmjWLatWq8eabbzJ8+PDbPgX1VwUKFGDAgAE8+uijNGrUiICAAP773//+7WssFgs//PADjRs35umnn6ZixYo88sgjHD582HEdzvUCAgKYP38+27dv5+677+aNN97IdAqpRIkSrF69GqvVSsuWLYmOjqZPnz4UKlTIMVtyvYoVK7JkyRK2bdtGvXr1iImJYd68eVme0alRowbvvvsu48aNo1q1asyYMeMfb4W/Ff3792fjxo3cfffdjBw5knfffZdWrVr97WtatWrFggULWLJkCXXr1qVBgwa89957lC5dGvjnz9/T05Nz587xxBNPULFiRR5++GHatGlz27NWIrmNxTAMw+wmRERERG6HZmRERETEbSnIiIiIiNtSkBERERG3pSAjIiIibktBRkRERNyWgoyIiIi4LQUZERERcVsKMiIiIuK2FGRERETEbSnIiIiIiNtSkBERERG39f+GvH6A6UKxegAAAABJRU5ErkJggg==\n"},"metadata":{}}]},{"cell_type":"code","source":["erreur(x=n_chambres, w=5.2, y=prix) #y=5.2 x"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"gNIsfFrOIOVm","executionInfo":{"status":"ok","timestamp":1687186130685,"user_tz":-60,"elapsed":7,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"440e97dd-e2c1-4626-cef0-0843ad0b2f85"},"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"text/plain":["311.81000000000006"]},"metadata":{},"execution_count":31}]},{"cell_type":"code","source":["erreur(x=n_chambres, w=5.3, y=prix)"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"6zA-LgepIUPw","executionInfo":{"status":"ok","timestamp":1687186160371,"user_tz":-60,"elapsed":6,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"34c0b033-06b1-42de-ce8e-12b43e13aa5c"},"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"text/plain":["305.4099999999999"]},"metadata":{},"execution_count":33}]},{"cell_type":"code","source":["erreur(x=n_chambres, w=5.4, y=prix) #y = 5.4x"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"0DM4Vtu2Ias_","executionInfo":{"status":"ok","timestamp":1687186170671,"user_tz":-60,"elapsed":395,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"9b80781a-153c-4ad2-d414-40cf072a336d"},"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"text/plain":["304.88999999999993"]},"metadata":{},"execution_count":34}]},{"cell_type":"code","source":["erreur(x=n_chambres, w=5.5, y=prix)"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"VikNvs9dId67","executionInfo":{"status":"ok","timestamp":1687186179288,"user_tz":-60,"elapsed":7,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"80f6d431-6890-40db-8cba-f114aeb4a62d"},"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"text/plain":["310.25"]},"metadata":{},"execution_count":35}]},{"cell_type":"code","source":["erreur(x=n_chambres, w=5.6, y=prix)"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"g5nd9B0UIgJF","executionInfo":{"status":"ok","timestamp":1687186190140,"user_tz":-60,"elapsed":8,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"8f814bcf-e349-4387-8d79-3c9d36bffd12"},"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"text/plain":["321.49"]},"metadata":{},"execution_count":36}]},{"cell_type":"code","source":["plt.scatter(data[\"n_chambres\"], data['prix'], c=\"r\")\n","plt.plot(data[\"n_chambres\"], data['n_chambres'] * 5)\n","plt.plot(data[\"n_chambres\"], data['n_chambres'] * 5.4)\n","\n","plt.xlabel('Nombre de chambrees')\n","plt.ylabel('Prix')\n","plt.show()"],"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":449},"id":"QMr85EyQIisz","executionInfo":{"status":"ok","timestamp":1687186209415,"user_tz":-60,"elapsed":640,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"43254d92-010d-45cb-dbcd-f56faae3ca8e"},"execution_count":null,"outputs":[{"output_type":"display_data","data":{"text/plain":["
"],"image/png":"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\n"},"metadata":{}}]},{"cell_type":"code","source":["possible_w = np.arange(-20, 20, 0.001)"],"metadata":{"id":"OBRE_A4jInWS"},"execution_count":null,"outputs":[]},{"cell_type":"code","source":["possible_w"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"-Oqcg6YGI6uX","executionInfo":{"status":"ok","timestamp":1687186292946,"user_tz":-60,"elapsed":354,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"62d171cb-fde1-4f0e-a794-c81bdbdd34ee"},"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"text/plain":["array([-20. , -19.999, -19.998, ..., 19.997, 19.998, 19.999])"]},"metadata":{},"execution_count":39}]},{"cell_type":"code","source":["possible_w.size"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"p2DM9qBLJNIt","executionInfo":{"status":"ok","timestamp":1687186370315,"user_tz":-60,"elapsed":10,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"e1d0f867-7271-4743-9773-6373c4414024"},"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"text/plain":["40000"]},"metadata":{},"execution_count":41}]},{"cell_type":"code","source":["errors = []\n","\n","for d in possible_w:\n"," e = erreur(x=n_chambres, w=d, y=prix)\n"," errors.append(e)"],"metadata":{"id":"Dr4_0PwlI7yX"},"execution_count":null,"outputs":[]},{"cell_type":"code","source":["plt.plot(possible_w, errors)\n","plt.xlabel('les w possible')\n","plt.ylabel('erreur')\n","plt.show()"],"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":449},"id":"qMjUPaioJLRv","executionInfo":{"status":"ok","timestamp":1687186418001,"user_tz":-60,"elapsed":359,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"bd424c31-7bdb-4b14-fa0a-7cfa6e10648a"},"execution_count":null,"outputs":[{"output_type":"display_data","data":{"text/plain":["
"],"image/png":"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7733nhBCiH/9618iMDBQ6HQ6/ZhVq1YJR0dHodVqRVxcnAAgUlNT79p/Xl6eACD27dtX5c9fuHChCA4O1j8eO3ascHNzM8j72Wef6X+WEA//ehJRzfFMFRGZrDNnzkCr1aJly5b664kcHR2xf/9+JCcnAwBee+01vPvuu+jRowcWLlyI06dP33N/MpkMvXv3xr59+5Cfn4/z589j8uTJKC0tRUJCAvbv34+uXbvC3t7+vrnCwsL0f7a2tkaXLl1w4cIFAMCFCxcQFhZmcHapR48eKCwsxNWrVxEcHIz+/fsjKCgIzz77LL788kvcvHkTAODm5oYXX3wRERERGDJkCD7++GNkZmbeN0twcLBB3rCwMBQWFiI9Pb1GrycR1RxLFRGZrMLCQlhZWSEuLg7x8fH65cKFC/j4448BAC+99BIuX76MMWPG4MyZM+jSpQtWrlx5z3327dsX+/btwx9//IGOHTvC2dlZX7T279+PPn361OoxWVlZITIyEr/++ivatGmDlStXIjAwECkpKQCAtWvXIiYmBt27d8fmzZvRsmVLHDlyxCg/uzqvJxHVHEsVEZmsjh07QqvVIicnB82bNzdYvL299eP8/Pzwyiuv4Mcff8Qbb7yBL7/88p77vH1d1datW/XXTvXt2xd79+7FoUOHHng9FQCDklNRUYG4uDi0bt0aANC6dWvExMRACKEfc+jQITg5OaFRo0YAKs+Y9ejRA2+//TZOnjwJhUKBbdu2GRz3vHnzcPjwYbRr1w7ff//9PbOcOnUKxcXFBtkcHR3h5+d319jqvp5EVDMsVURkslq2bIlRo0bhhRdewI8//oiUlBQcPXoUS5Yswc6dOwEA06dPx549e5CSkoITJ04gOjpaX3Cq0r59e7i6uuL77783KFXbt29HaWkpevTo8cBcq1atwrZt25CQkIApU6bg5s2bGD9+PABg8uTJSE9Px7Rp05CQkICffvoJCxcuxMyZMyGXyxEbG4vFixfj+PHjSEtLw48//ojc3Fy0bt0aKSkpmDdvHmJiYnDlyhX89ttvSEpKuu/xlJWVYcKECTh//jx27dqFhQsXYurUqZDL7/7nvTqvJxHVHOepIiKTtnbtWrz77rt44403cO3aNXh4eKBbt254/PHHAQBarRZTpkzB1atX4ezsjIEDB+Kjjz665/5kMhl69eqFnTt3omfPngAqi5azszMCAwPh4ODwwExLly7F0qVLER8fj+bNm+Pnn3+Gh4cHAKBhw4bYtWsXZs+ejeDgYLi5uWHChAn6aRqcnZ1x4MABrFixAhqNBv7+/vjggw8waNAgZGdnIyEhAevXr0deXh58fHwwZcoUTJo06Z5Z+vfvjxYtWqB3794oLS3FyJEjsWjRohq/nkRUczJx5zlqIiK6p9TUVAQEBODkyZNVzhdFRPUbP/4jIiIiMgKWKiIiIiIj4Md/REREREbAM1VERERERsBSRURERGQELFVERERERsBSRURERGQELFVERERERsBSRURERGQELFVERERERsBSRURERGQE/w8d7jQPNJbDiAAAAABJRU5ErkJggg==\n"},"metadata":{}}]},{"cell_type":"code","source":["np.array(errors).min()"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"f-ihZ7BQJZZ3","executionInfo":{"status":"ok","timestamp":1687186464103,"user_tz":-60,"elapsed":7,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"b6cad6c4-2484-4772-dd23-b197e2850cbd"},"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"text/plain":["304.3920140000027"]},"metadata":{},"execution_count":43}]},{"cell_type":"code","source":["np.argmin(errors)"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"46-XtlqNJloQ","executionInfo":{"status":"ok","timestamp":1687186509361,"user_tz":-60,"elapsed":387,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"31a8627f-0d18-4ade-d2ac-7238fede6c81"},"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"text/plain":["25359"]},"metadata":{},"execution_count":44}]},{"cell_type":"code","source":["possible_w[25359]"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"gocKNF2bJwZP","executionInfo":{"status":"ok","timestamp":1687186523205,"user_tz":-60,"elapsed":3,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"4264c1e8-ca4f-4f1c-c5ad-f2dd8ffa19f0"},"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"text/plain":["5.359000000030992"]},"metadata":{},"execution_count":45}]},{"cell_type":"code","source":[],"metadata":{"id":"3Qtuk97TJz9c"},"execution_count":null,"outputs":[]}]} \ No newline at end of file +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "view-in-github", + "colab_type": "text" + }, + "source": [ + "\"Open" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "oAeqP-fvBM79" + }, + "source": [ + "# Intro au Deep Learning (By Kevin Degila)\n", + "\n", + "Ce code correspond à la vidéo #7 d'une [série de 160 épisodes](https://www.youtube.com/watch?v=XXyMPp_IwXg&list=PL049bGjkT7dIARLPrxvA4-tbEcg6k0UDX&index=7)" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "id": "SPUwbC-Xp5cD" + }, + "outputs": [], + "source": [ + "import tensorflow as tf\n", + "from tensorflow.keras.models import Sequential\n", + "from tensorflow.keras.layers import Dense\n", + "from tensorflow.keras.optimizers import SGD\n" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "id": "6tnFWK2E9bWc" + }, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import numpy as np\n", + "\n", + "data_url = \"http://lib.stat.cmu.edu/datasets/boston\"\n", + "raw_df = pd.read_csv(data_url, sep=r\"\\s+\", skiprows=22, header=None)\n", + "data = np.hstack([raw_df.values[::2, :], raw_df.values[1::2, :2]])\n", + "target = raw_df.values[1::2, 2]\n", + "\n", + "# Scaling the data\n", + "from sklearn.preprocessing import StandardScaler\n", + "s = StandardScaler()\n", + "data = s.fit_transform(data)\n", + "target = target.reshape((-1, 1))\n", + "\n", + "from sklearn.model_selection import train_test_split\n", + "X_train, X_test, y_train, y_test = train_test_split(data, target, test_size=0.3, random_state=80718)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "7QkFmods-Ax-", + "outputId": "bf933da2-9f41-43ff-f3aa-0778bc489f06" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "(506, 13)" + ] + }, + "metadata": {}, + "execution_count": 6 + } + ], + "source": [ + "data.shape\n" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "x62VHASR9dzo", + "outputId": "6cb68f69-dc4e-4a11-99d0-52f1ca82dc41" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Epoch 1/50\n", + "\u001b[1m12/12\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 20ms/step - loss: 368.8022 - val_loss: 110.6600\n", + "Epoch 2/50\n", + "\u001b[1m12/12\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 8ms/step - loss: 101.9991 - val_loss: 102.3785\n", + "Epoch 3/50\n", + "\u001b[1m12/12\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 7ms/step - loss: 89.5202 - val_loss: 85.2171\n", + "Epoch 4/50\n", + "\u001b[1m12/12\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 7ms/step - loss: 63.3431 - val_loss: 46.9881\n", + "Epoch 5/50\n", + "\u001b[1m12/12\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 7ms/step - loss: 35.6361 - val_loss: 94.0246\n", + "Epoch 6/50\n", + "\u001b[1m12/12\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 8ms/step - loss: 49.7162 - val_loss: 26.6336\n", + "Epoch 7/50\n", + "\u001b[1m12/12\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 8ms/step - loss: 28.4241 - val_loss: 25.6569\n", + "Epoch 8/50\n", + "\u001b[1m12/12\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 8ms/step - loss: 26.1659 - val_loss: 24.1348\n", + "Epoch 9/50\n", + "\u001b[1m12/12\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 7ms/step - loss: 23.2564 - val_loss: 26.6521\n", + "Epoch 10/50\n", + "\u001b[1m12/12\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 8ms/step - loss: 22.7426 - val_loss: 33.5819\n", + "Epoch 11/50\n", + "\u001b[1m12/12\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 8ms/step - loss: 25.6664 - val_loss: 26.0315\n", + "Epoch 12/50\n", + "\u001b[1m12/12\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 8ms/step - loss: 21.2420 - val_loss: 29.3335\n", + "Epoch 13/50\n", + "\u001b[1m12/12\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 7ms/step - loss: 24.9426 - val_loss: 25.3099\n", + "Epoch 14/50\n", + "\u001b[1m12/12\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 8ms/step - loss: 21.7964 - val_loss: 31.3097\n", + "Epoch 15/50\n", + "\u001b[1m12/12\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 7ms/step - loss: 21.3166 - val_loss: 30.8805\n", + "Epoch 16/50\n", + "\u001b[1m12/12\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 9ms/step - loss: 24.9602 - val_loss: 40.5608\n", + "Epoch 17/50\n", + "\u001b[1m12/12\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 7ms/step - loss: 34.1696 - val_loss: 30.5110\n", + "Epoch 18/50\n", + "\u001b[1m12/12\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 8ms/step - loss: 31.3048 - val_loss: 29.4994\n", + "Epoch 19/50\n", + "\u001b[1m12/12\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 8ms/step - loss: 24.0127 - val_loss: 63.5974\n", + "Epoch 20/50\n", + "\u001b[1m12/12\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 7ms/step - loss: 32.5733 - val_loss: 28.3386\n", + "Epoch 21/50\n", + "\u001b[1m12/12\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 7ms/step - loss: 25.3305 - val_loss: 86.6385\n", + "Epoch 22/50\n", + "\u001b[1m12/12\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 8ms/step - loss: 45.6676 - val_loss: 46.9654\n", + "Epoch 23/50\n", + "\u001b[1m12/12\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 8ms/step - loss: 24.0656 - val_loss: 34.0234\n", + "Epoch 24/50\n", + "\u001b[1m12/12\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 8ms/step - loss: 27.6794 - val_loss: 26.5157\n", + "Epoch 25/50\n", + "\u001b[1m12/12\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 8ms/step - loss: 22.1317 - val_loss: 24.1058\n", + "Epoch 26/50\n", + "\u001b[1m12/12\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 10ms/step - loss: 22.2363 - val_loss: 48.9150\n", + "Epoch 27/50\n", + "\u001b[1m12/12\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 7ms/step - loss: 31.4960 - val_loss: 25.1244\n", + "Epoch 28/50\n", + "\u001b[1m12/12\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 8ms/step - loss: 19.3862 - val_loss: 25.9280\n", + "Epoch 29/50\n", + "\u001b[1m12/12\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 7ms/step - loss: 20.5090 - val_loss: 343.5678\n", + "Epoch 30/50\n", + "\u001b[1m12/12\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 7ms/step - loss: 114.8534 - val_loss: 29.7585\n", + "Epoch 31/50\n", + "\u001b[1m12/12\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 8ms/step - loss: 28.8666 - val_loss: 30.4046\n", + "Epoch 32/50\n", + "\u001b[1m12/12\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 7ms/step - loss: 24.2635 - val_loss: 25.0692\n", + "Epoch 33/50\n", + "\u001b[1m12/12\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 8ms/step - loss: 20.6151 - val_loss: 30.0883\n", + "Epoch 34/50\n", + "\u001b[1m12/12\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 8ms/step - loss: 21.6056 - val_loss: 58.8273\n", + "Epoch 35/50\n", + "\u001b[1m12/12\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 8ms/step - loss: 38.8192 - val_loss: 26.4417\n", + "Epoch 36/50\n", + "\u001b[1m12/12\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 9ms/step - loss: 24.8671 - val_loss: 31.7594\n", + "Epoch 37/50\n", + "\u001b[1m12/12\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 8ms/step - loss: 20.5278 - val_loss: 33.0173\n", + "Epoch 38/50\n", + "\u001b[1m12/12\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 7ms/step - loss: 25.3064 - val_loss: 26.9417\n", + "Epoch 39/50\n", + "\u001b[1m12/12\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 7ms/step - loss: 21.2391 - val_loss: 61.8398\n", + "Epoch 40/50\n", + "\u001b[1m12/12\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 7ms/step - loss: 24.7723 - val_loss: 58.6581\n", + "Epoch 41/50\n", + "\u001b[1m12/12\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 7ms/step - loss: 27.7792 - val_loss: 39.2274\n", + "Epoch 42/50\n", + "\u001b[1m12/12\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 7ms/step - loss: 25.4010 - val_loss: 24.2655\n", + "Epoch 43/50\n", + "\u001b[1m12/12\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 8ms/step - loss: 22.2127 - val_loss: 36.5545\n", + "Epoch 44/50\n", + "\u001b[1m12/12\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 8ms/step - loss: 25.8060 - val_loss: 44.4727\n", + "Epoch 45/50\n", + "\u001b[1m12/12\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 8ms/step - loss: 30.1527 - val_loss: 80.8482\n", + "Epoch 46/50\n", + "\u001b[1m12/12\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 14ms/step - loss: 33.4866 - val_loss: 41.2113\n", + "Epoch 47/50\n", + "\u001b[1m12/12\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 13ms/step - loss: 24.4509 - val_loss: 27.7582\n", + "Epoch 48/50\n", + "\u001b[1m12/12\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 13ms/step - loss: 24.9183 - val_loss: 24.1915\n", + "Epoch 49/50\n", + "\u001b[1m12/12\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 13ms/step - loss: 19.5677 - val_loss: 31.6279\n", + "Epoch 50/50\n", + "\u001b[1m12/12\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 13ms/step - loss: 31.8507 - val_loss: 40.0914\n" + ] + } + ], + "source": [ + "lr = Sequential([Dense(units=1, activation='relu')])\n", + "lr.compile(optimizer=SGD(learning_rate=0.1), loss='mse')\n", + "history = lr.fit(X_train, y_train, epochs=50, validation_data=(X_test, y_test))\n" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "4uI4DG0r9maQ", + "outputId": "b6149208-42f2-4b65-8c6e-7e7f4c91830f" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "" + ] + }, + "metadata": {}, + "execution_count": 8 + } + ], + "source": [ + "lr\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "G1MdmS3M-qfa" + }, + "source": [ + "# Premier Exemple d'apprentissage" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "id": "iaVMzBnv9r2R" + }, + "outputs": [], + "source": [ + "import numpy as np\n", + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 125 + }, + "id": "AZYcRgDUAaWN", + "outputId": "26f68dbb-fee8-48a2-e9ed-0ae20373ca26" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + " n_chambres prix\n", + "0 2 10\n", + "1 4 20" + ], + "text/html": [ + "\n", + "
\n", + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
n_chambresprix
0210
1420
\n", + "
\n", + "
\n", + "\n", + "
\n", + " \n", + "\n", + " \n", + "\n", + " \n", + "
\n", + "\n", + "\n", + "
\n", + " \n", + "\n", + "\n", + "\n", + " \n", + "
\n", + "\n", + "
\n", + " \n", + " \n", + " \n", + "
\n", + "\n", + "
\n", + "
\n" + ], + "application/vnd.google.colaboratory.intrinsic+json": { + "type": "dataframe", + "variable_name": "data", + "summary": "{\n \"name\": \"data\",\n \"rows\": 2,\n \"fields\": [\n {\n \"column\": \"n_chambres\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 1,\n \"min\": 2,\n \"max\": 4,\n \"num_unique_values\": 2,\n \"samples\": [\n 4,\n 2\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"prix\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 7,\n \"min\": 10,\n \"max\": 20,\n \"num_unique_values\": 2,\n \"samples\": [\n 20,\n 10\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}" + } + }, + "metadata": {}, + "execution_count": 10 + } + ], + "source": [ + "data = pd.DataFrame([ {\"n_chambres\" : 2, \"prix\" : 10}, {\"n_chambres\" : 4, \"prix\" : 20}])\n", + "data\n" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 430 + }, + "id": "6-KHhlu6Am6q", + "outputId": "babc6bca-ed24-488d-86f8-0005de4210c0" + }, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": {} + } + ], + "source": [ + "plt.scatter(data[\"n_chambres\"], data['prix'], c=\"r\")\n", + "plt.show()\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "dQW2iX1gBCWe" + }, + "source": [ + "prix = 5 * n_chambres" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 449 + }, + "id": "zTD7v0Y8A42w", + "outputId": "a3c14602-cad4-4930-ebbc-abcebd082c5b" + }, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjMAAAGwCAYAAABcnuQpAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAATPlJREFUeJzt3Xd4VGXi9vHvpIdUEiAhJITek5AoKGIBQYqIIKJALOi6rj+lCriKa8MGKqI0y+4quq6AoILYUZAiiggp9IRO6D2V1HneP1jyGmlJSHJmkvtzXblkzpwzcz+ZnMztec6Z2IwxBhEREREn5WJ1ABEREZHLoTIjIiIiTk1lRkRERJyayoyIiIg4NZUZERERcWoqMyIiIuLUVGZERETEqblZHaCy2e12Dhw4gJ+fHzabzeo4IiIiUgrGGDIzMwkLC8PF5eLHXqp9mTlw4AARERFWxxAREZFySEtLIzw8/KLrVPsy4+fnB5z5Zvj7+1ucRkREREojIyODiIiI4vfxi6n2Zebs1JK/v7/KjIiIiJMpzSkiOgFYREREnJrKjIiIiDg1lRkRERFxaiozIiIi4tRUZkRERMSpqcyIiIiIU1OZEREREaemMiMiIiJOTWVGREREnFq1/wRgERERqQRFRbByJRw8CPXrw3XXgaurJVEsPTIzceJEOnTogJ+fH/Xq1aN///6kpKSUWCc3N5dhw4YRHByMr68vt99+O4cPH7YosYiIiPD559CoEXTtCvHxZ/7bqNGZ5RawtMwsX76cYcOGsXr1an744QcKCgro0aMH2dnZxes8+uijfPnll8yfP5/ly5dz4MABBgwYYGFqERGRGuzzz2HgQNi3r+Ty/fvPLLeg0NiMMabKn/UCjh49Sr169Vi+fDnXX3896enp1K1bl9mzZzNw4EAAtm7dSuvWrfn111+5+uqrL/mYGRkZBAQEkJ6erj80KSIicjmKis4cgflfkTHA0qYd6LpjLS4YsNkgPBx27brsKaeyvH871AnA6enpAAQFBQGwbt06CgoK6N69e/E6rVq1omHDhvz666/nfYy8vDwyMjJKfImIiEgFWLmyuMhkeXgzqu84Hhj4LO9e9b8ZE2MgLe3MelXIYcqM3W5n9OjRdO7cmXbt2gFw6NAhPDw8CAwMLLFuSEgIhw4dOu/jTJw4kYCAgOKviIiIyo4uIiJSMxw8CMDGek24ZehUFrXpgqu9CFdjP+96VcVhrmYaNmwYGzdu5Oeff76sxxk/fjxjxowpvp2RkaFCIyIiUgFMaCj/jb2ZF278K/luHoRlHGH6ole5Yv/WkivWr1+luRyizAwfPpyvvvqKFStWEB4eXrw8NDSU/Px8Tp06VeLozOHDhwkNDT3vY3l6euLp6VnZkUVERGqUjNwCntjvxzc9HgGg+7bfeO2bN6mdm/n/Vzp7zsx111VpNkunmYwxDB8+nAULFrB06VIaN25c4v4rrrgCd3d3lixZUrwsJSWFvXv30qlTp6qOKyIiUiOt33eKPtNW8s3Gw7jZDE8t/Tf/WvDiuUUG4M03q/zzZiw9MjNs2DBmz57NF198gZ+fX/F5MAEBAXh7exMQEMADDzzAmDFjCAoKwt/fnxEjRtCpU6dSXckkIiIi5WeMYdaq3Uz8dgsFRYYGgd7MiI8ltkM+jFpb8vLs8PAzRcaCj0+x9NJs29kW9yezZs3ivvvuA858aN7YsWOZM2cOeXl59OzZk7feeuuC00x/pkuzRUREyi49p4DHPk1m8eYzH1Tbs20Ir94eQ0At9zMrVPInAJfl/duhPmemMqjMiIiIlE3C3pOMmJ3I/lOn8XB14cmbWzH0mkYXPAhRGcry/u0QJwCLiIiI9ex2w79/3smr36VQaDc0DKrFzPg4osIDrI52USozIiIiwsnsfMbOT2bp1iMA9Imuz8QBUfh7uVuc7NJUZkRERGq433efYOScRA6m5+Lh5sIzt7ThrqsaVum00uVQmREREamh7HbD28t3MOWHVIrshiZ1fJgRH0ebMOc6x1RlRkREpAY6lpXHmHnJrEg9CkD/9mG8eFsUvp7OVw2cL7GIiIhcltU7jzNyTiJHMvPwcndhwq1tufPKCKeZVvozlRkREZEaoshumLF0O1OXpGI30KyeLzPj42gZ6md1tMuiMiMiIlIDHMnMZfTcJH7ZcRyAgVeE83y/ttTycP4q4PwjEBERkYv6edsxRn+SxLGsPLzdXXmxfztuvyL80hs6CZUZERGRaqqwyM7UJduY8dN2jIGWIX7MvCuWZvWce1rpz1RmREREqqFD6bmMnJvIml0nABjSMYJn+7bFy71q/6J1VVCZERERqWaWpRxhzLxkTmTn4+PhyssDoujXvoHVsSqNyoyIiEg1UVBkZ8oPqby9bAcAber7MyM+liZ1fS1OVrlUZkRERKqBA6dOM2JOIuv2nATgnqsj+Uef1tVyWunPVGZERESc3JIthxk7P5lTOQX4ebox6fZo+kTXtzpWlVGZERERcVL5hXZe/W4r//55FwBRDQKYER9LZLCPxcmqlsqMiIiIE0o7kcOIOYkkpZ0C4P7OjXiidys83ar/tNKfqcyIiIg4me82HuLvnyaTkVuIv5cbr90RQ8+2oVbHsozKjIiIiJPIKyxi4jdb+eCX3QC0jwhk+pBYIoJqWRvMYiozIiIiTmDP8WyGz05kw/50AB68rjGP9WyFh5uLxcmspzIjIiLi4L5ef5AnPltPZl4hgbXcef2OGLq1DrE6lsNQmREREXFQuQVFvPj1Zv67ei8AV0bWZtqQWMICvS1O5lhUZkRERBzQzqNZDJudyJaDGQA80qUpY25qgZurppX+TGVGRETEwXyRtJ8nP99Adn4RwT4eTBnUnhta1LU6lsNSmREREXEQp/OLmPDlJub+ngbAVY2DmDYklhB/L4uTOTaVGREREQew/Ugmwz5OJOVwJjYbjLixOSNvbKZppVJQmREREbHYp+v28fTCjZwuKKKOrydTB7enc7M6VsdyGiozIiIiFsnJL+SphRv5PGE/AJ2bBfPGoPbU89O0UlmozIiIiFhg66EMhn2cwI6j2bjYYHT3Fgzr2gxXF5vV0ZyOyoyIiEgVMsbwye9pPLtoE3mFdkL8PZk6OJarmwRbHc1pqcyIiIhUkay8Qv6xYANfJB0A4IYWdZlyZwzBvp4WJ3NuKjMiIiJVYNOBdIbPTmTXsWxcXWyM69GSh65vgoumlS6byoyIiEglMsbw39/28sJXm8kvtFM/wIvpQ2K5slGQ1dGqDZUZERGRSpKRW8D4zzbw9YaDAHRrVY/Jd8RQ28fD4mTVi8qMiIhIJVi/7xTDZyey90QObi42nujdigeubYzNpmmliqYyIyIiUoGMMXzwy25e/mYLBUWGBoHezIiPJbZhbaujVVsqMyIiIhUkPaeAv3+WzPebDgPQo00Irw2MIaCWu8XJqjeVGRERkQqQuPckw2cnsv/UadxdbTx5c2vuu6aRppWqgMqMiIjIZTDG8O+Vu3jlu60U2g0Ng2oxIz6W6PBAq6PVGCozIiIi5XQyO59x85NZsvUIAH2i6jPx9ij8vTStVJVUZkRERMph7e4TjJiTyMH0XDzcXHjmljbcdVVDTStZQGVGRESkDOx2wzsrdvD64lSK7IbGdXyYER9L27AAq6PVWCozIiIipXQ8K48x85JZnnoUgH7tw3jptih8PfV2aiV990VEREph9c7jjJqbyOGMPDzdXHi+X1vuvDJC00oOQGVGRETkIorshpk/befNH1OxG2ha14e37rqClqF+VkeT/1GZERERuYAjmbk8+kkSq7YfB+D2uHBe6N+WWh56+3QkejVERETOY9X2Y4yam8SxrDy83V15oX87Bl4RbnUsOQ+VGRERkT8oshumLtnG9KXbMAZahvgxIz6W5iGaVnJUKjMiIiL/czgjl5FzEvlt1wkABneI4Nm+bfH2cLU4mVyMyoyIiAiwPPUoj36SxInsfHw8XHl5QBT92jewOpaUgsqMiIjUaIVFdl7/IZW3l+0AoHV9f2bGx9Kkrq/FyaS0VGZERKTGOnDqNCPnJLJ2z0kA7r66IU/1aYOXu6aVnInKjIiI1EhLtx5mzLxkTuUU4OfpxsTbo7glOszqWFIOKjMiIlKjFBTZefW7rfxr5S4AohoEMCM+lshgH4uTSXmpzIiISI2RdiKHEXMSSUo7BcB91zRi/M2t8HTTtJIzU5kREZEa4ftNh3hsfjIZuYX4e7nx6sAYerULtTqWVACVGRERqdbyCouY9O1WZq3aDUBMRCAzhsQSEVTL2mBSYVysfPIVK1bQt29fwsLCsNlsLFy4sMT9WVlZDB8+nPDwcLy9vWnTpg3vvPOONWFFRMTp7D2ew8C3fy0uMg9e15j5D3VSkalmLD0yk52dTUxMDH/5y18YMGDAOfePGTOGpUuX8t///pdGjRqxePFiHnnkEcLCwrj11lstSCwiIs7imw0HefzT9WTmFRJYy53X74ihW+sQq2NJJbC0zPTu3ZvevXtf8P5ffvmFoUOH0qVLFwD+9re/8e6777JmzZoLlpm8vDzy8vKKb2dkZFRoZhERcWy5BUW8+PVm/rt6LwBXRtZm2pBYwgK9LU4mlcXSaaZLueaaa1i0aBH79+/HGMNPP/1EamoqPXr0uOA2EydOJCAgoPgrIiKiChOLiIiVdh3LZsBbvxQXmYe7NGXO365WkanmHLrMTJ8+nTZt2hAeHo6Hhwe9evVi5syZXH/99RfcZvz48aSnpxd/paWlVWFiERGxyhdJ+7ll2ko2H8wgyMeDD+7vwOO9WuHu6tBvdVIBHPpqpunTp7N69WoWLVpEZGQkK1asYNiwYYSFhdG9e/fzbuPp6Ymnp2cVJxUREavkFhTx3KJNzP39zP+8dmwcxLTBsYQGeFmcTKqKw5aZ06dP8+STT7JgwQL69OkDQHR0NElJSUyePPmCZUZERGqO7UcyGfZxIimHM7HZYETXZozs1hw3HY2pURy2zBQUFFBQUICLS8kfSFdXV+x2u0WpRETEUXy2bh9PLdzI6YIi6vh68uag9lzbvI7VscQClpaZrKwstm/fXnx7165dJCUlERQURMOGDbnhhht47LHH8Pb2JjIykuXLl/Of//yHKVOmWJhaRESslJNfyDNfbOLTdfsAuKZpMG8Obk89P00r1VQ2Y4yx6smXLVtG165dz1k+dOhQPvjgAw4dOsT48eNZvHgxJ06cIDIykr/97W88+uij2Gy2Uj1HRkYGAQEBpKen4+/vX9FDEBGRKpRyKJNhsxPYfiQLFxuM7t6CYV2b4epSuvcEcR5lef+2tMxUBZUZERHnZ4xh3to0nl20idwCO/X8PJk2JJarmwRbHU0qSVnevx32nBkRERGArLxCnlqwgYVJBwC4vkVdptwZQx1fXbkqZ6jMiIiIw9p8IIPhsxPYeSwbVxcbY3u04P+ub4qLppXkD1RmRETE4Rhj+Pi3vTz/1WbyC+3UD/Bi2pBYOjQKsjqaOCCVGRERcSgZuQWM/3wDX68/CMCNrerx+h0x1PbxsDiZOCqVGRERcRgb9qUzfE4Ce47n4OZi4/FerXjg2saaVpKLUpkRERHLGWP48JfdvPzNVvKL7DQI9GZ6fCxxDWtbHU2cgMqMiIhYKj2ngL9/lsz3mw4D0KNNCK8NjCGglrvFycRZqMyIiIhlktJOMXx2AvtOnsbd1caTN7fmvmsalfqDUUVAZUZERCxgjOG9n3cx6dutFNoNDYNqMSM+lujwQKujiRNSmRERkSp1KiefcfOT+XHLEQBujgpl0u3R+HtpWknKR2VGRESqzLo9JxgxO5ED6bl4uLnw9C1tuPuqhppWksuiMiMiIpXObje8u2InkxenUGQ3NK7jw4z4WNqGBVgdTaoBlRkREalUx7PyGDMvmeWpRwG4NSaMlwdE4euptyCpGPpJEhGRSvPbzuOMnJvI4Yw8PN1cmHBrWwZ1iNC0klQolRkREalwRXbDWz9t540fU7EbaFrXh5l3xdEq1N/qaFINqcyIiEiFOpqZx6OfJPHz9mMADIhrwAv92uGjaSWpJPrJEhGRCvPL9mOMnJvEsaw8vN1deaF/OwZeEW51LKnmVGZEROSyFdkNU5dsY/rSbRgDLUJ8mRkfR/MQP6ujSQ2gMiMiIpflcEYuo+YmsnrnCQAGd4jg2b5t8fZwtTiZ1BQqMyIiUm4rUo/y6CdJHM/Ox8fDlZcHRNGvfQOrY0kNozIjIiJlVlhkZ8oPqby1bAcArev7MzM+liZ1fS1OJjWRyoyIiJTJwfTTjJyTyO+7TwJw11UNefqWNni5a1pJrKEyIyIipbZ062HGzkvmZE4Bvp5uTLo9iluiw6yOJTWcyoyIiFxSQZGd175P4Z8rdgLQroE/M+PjiAz2sTiZiMqMiIhcwr6TOYyYk0ji3lMA3HdNI8bf3ApPN00riWNQmRERkQtavOkQ4+Ynk5FbiL+XG68OjKFXu1CrY4mUoDIjIiLnyC+0M/HbLcxatRuAmIhAZgyJJSKolrXBRM5DZUZERErYezyH4XMSWL8vHYAHr2vMYz1b4eHmYnEykfNTmRERkWLfbDjI45+uJzOvkMBa7kweGEP3NiFWxxK5KJUZEREht6CIl77ewker9wBwRWRtpg2JpUGgt8XJRC5NZUZEpIbbdSyb4bMT2HQgA4D/u6EpY3u0wN1V00riHFRmRERqsEXJBxj/2Xqy84sI8vFgyp0xdGlZz+pYImWiMiMiUgPlFhQx4cvNzFmzF4COjYOYNjiW0AAvi5OJlJ3KjIhIDbP9SBbDZyew9VAmNhsM79qMUd2a46ZpJXFSKjMiIjXIZ+v28dTCjZwuKKKOrydvDmrPtc3rWB1L5LKozIiI1AA5+YU888UmPl23D4Brmgbz5uD21PPTtJI4P5UZEZFqLvVwJsM+TmDbkSxcbDCqWwuG39gMVxeb1dFEKoTKjIhINWWMYf7afTyzaCO5BXbq+XkydXAsnZoGWx1NpEKpzIiIVEPZeYX8Y8EGFiYdAOC65nV4Y1B76vh6WpxMpOKpzIiIVDObD2QwfHYCO49l4+piY8xNLXj4hqa4aFpJqimVGRGRasIYw+w1e5nw5WbyC+2E+nsxPT6WDo2CrI4mUqlUZkREqoHM3ALGf76Br9YfBODGVvWYfEcMQT4eFicTqXwqMyIiTm7j/nSGzU5gz/Ec3Fxs/L1XS/56bRNNK0mNoTIjIuKkjDH859c9vPT1FvKL7DQI9GZ6fCxxDWtbHU2kSqnMiIg4ofTTBTz+6Xq+23QIgJvahPDawGgCa2laSWoelRkRESeTlHaK4bMT2HfyNO6uNsb3bs39nRths2laSWomlRkRESdhjOG9n3fxyndbKSgyRAR5M2NIHDERgVZHE7GUyoyIiBM4lZPPuPnJ/LjlCAA3R4Uy6fZo/L3cLU4mYj2VGRERB7duzwlGzE7kQHouHq4uPH1La+6+OlLTSiL/ozIjIuKg7HbDP1fu5LXvUyiyGxoF12JGfBztGgRYHU3EoajMiIg4oONZeYydn8yylKMA3BoTxssDovD11K9tkT/TXiEi4mDW7DrBiDkJHM7Iw9PNhedubcvgDhGaVhK5AJUZEREHYbcb3lq2nSk/pGI30KSuDzPj42hd39/qaCIOTWVGRMQBHM3MY8y8JFZuOwbAgNgGvNC/HT6aVhK5JO0lIiIW+2X7MUZ9ksTRzDy83V15vl9b7rgywupYIk5DZUZExCJFdsO0JduYtnQbxkCLEF9mxsfRPMTP6mgiTsXFyidfsWIFffv2JSwsDJvNxsKFC89ZZ8uWLdx6660EBATg4+NDhw4d2Lt3b9WHFRGpQEcycrnr36uZuuRMkRl0ZQRfDLtWRUakHCwtM9nZ2cTExDBz5szz3r9jxw6uvfZaWrVqxbJly1i/fj1PP/00Xl5eVZxURKTirEg9Su+pK1m98wS1PFx5c1B7XhkYjbeHq9XRRJySzRhjrA4BYLPZWLBgAf379y9eNnjwYNzd3fnoo49K/Th5eXnk5eUV387IyCAiIoL09HT8/XVFgIhYp7DIzhs/pvLWsh0YA61C/Zh5VxxN6/paHU3E4WRkZBAQEFCq929Lj8xcjN1u5+uvv6ZFixb07NmTevXqcdVVV513KuqPJk6cSEBAQPFXRIROohMR6x1MP038v35j5k9nisxdVzVk4bDOKjIiFcBhy8yRI0fIyspi0qRJ9OrVi8WLF3PbbbcxYMAAli9ffsHtxo8fT3p6evFXWlpaFaYWETnXT1uPcPPUlazZfQJfTzemD4nlpdui8HLXtJJIRXDYq5nsdjsA/fr149FHHwWgffv2/PLLL7zzzjvccMMN593O09MTT0/PKsspInIhBUV2Jn+fwrsrdgLQroE/M4bE0aiOj8XJRKoXhy0zderUwc3NjTZt2pRY3rp1a37++WeLUomIlM7+U6cZMTuBhL2nALjvmkaMv7kVnm46GiNS0Ry2zHh4eNChQwdSUlJKLE9NTSUyMtKiVCIil/bD5sOMm59M+ukC/LzceG1gNL3a1bc6lki1ZWmZycrKYvv27cW3d+3aRVJSEkFBQTRs2JDHHnuMQYMGcf3119O1a1e+++47vvzyS5YtW2ZdaBGRC8gvtDPp2628v2oXADHhAcyIjyMiqJbFyUSqN0svzV62bBldu3Y9Z/nQoUP54IMPAHj//feZOHEi+/bto2XLlkyYMIF+/fqV+jnKcmmXiEh5pZ3IYfjsBJL3pQPw12sb8/derfBwc9jrLEQcWlnevx3mc2Yqi8qMiFS2bzcc5O+frSczt5AAb3devyOG7m1CrI4l4tTK8v7tsOfMiIg4utyCIl7+Zgv/+XUPAHENA5keH0eDQG+Lk4nULCozIiLlsPtYNsNmJ7DpQAYAD93QhHE9WuLuqmklkaqmMiMiUkaLkg/w5OcbyMorJMjHg9fvjKFry3pWxxKpsVRmRERKKbegiAlfbmbOmr0AdGwUxLQhsYQG6I/filhJZUZEpBR2HM1i2McJbD2Uic0Gw7s2Y1S35rhpWknEciozIiKXsCBxH/9YsJGc/CLq+HrwxqD2XNe8rtWxROR/VGZERC7gdH4Rz3yxkfnr9gHQqUkwUwe3p56/ppVEHInKjIjIeaQezmTYxwlsO5KFiw1GdWvB8Bub4episzqaiPyJyoyIyB8YY5i/bh/PfLGR3AI7df08mTY4lk5Ng62OJiIXoDIjIvI/2XmFPLVwIwsS9wNwXfM6vDGoPXV8PS1OJiIXozIjIgJsOZjBsNkJ7DyajYsNxvZoycM3NMVF00oiDk9lRkRqNGMMc9ak8dyXm8gvtBPq78W0IbF0bBxkdTQRKSWVGRGpsTJzC3hywUa+TD4AQNeWdXn9zvYE+XhYnExEykJlRkRqpI370xk+O4Hdx3Nwc7HxWM+WPHhdE00riTghlRkRqVGMMXy0eg8vfrWF/CI7DQK9mTYklisia1sdTUTKSWVGRGqM9NMFPPHZer7deAiA7q1DmHxHNIG1NK0k4sxUZkSkRkhOO8XwOQmknTiNu6uN8b1bc3/nRthsmlYScXbl+gtpR48eveB9GzZsKHcYEZGKZozhvZ93MfCdX0g7cZqIIG8+/b9r+Mu1jVVkRKqJcpWZqKgovv7663OWT548mY4dO152KBGRinAqJ58H/7OOF77aTEGRoXe7UL4acR0xEYFWRxORClSuaaYxY8Zw++23c//99zNlyhROnDjBvffey4YNG5g9e3ZFZxQRKbN1e04yck4i+0+dxsPVhaduac09V0fqaIxINWQzxpjybJiYmMg999xDXl4eJ06c4KqrruL9998nNDS0ojNeloyMDAICAkhPT8ff39/qOCJSyex2w79W7uS171MotBsaBddiRnwc7RoEWB1NRMqgLO/f5T4BuFmzZrRr147PPvsMgEGDBjlckRGRmuVEdj5j5yXxU8qZ8/r6xoTx8m3t8PNytziZiFSmcp0zs2rVKqKjo9m2bRvr16/n7bffZsSIEQwaNIiTJ09WdEYRkUtas+sEN09dyU8pR/F0c+Hl26KYNri9ioxIDVCuMnPjjTcyaNAgVq9eTevWrfnrX/9KYmIie/fuJSoqqqIziohckN1umPnTdob8azWHMnJpUteHhcM6E39VQ50fI1JDlGuaafHixdxwww0lljVt2pRVq1bx0ksvVUgwEZFLOZaVx6OfJLFy2zEABsQ24IX+7fDx1EdoidQk5T4B2FnoBGCR6umXHccYNTeJo5l5eLm78Hy/dtxxRbiOxohUE5VyAvC0adP429/+hpeXF9OmTbvgejabjREjRpQ+rYhIGRTZDdOXbmPakm3YDTSv58tbd8XRPMTP6mgiYpFSH5lp3Lgxa9euJTg4mMaNG1/4AW02du7cWWEBL5eOzIhUH0cychn9SRK/7DgOwJ1XhjPh1nZ4e7hanExEKlqlHJnZtWvXef8tIlIVVm47yqOfJHEsK59aHq68dFs7bosNtzqWiDiAMl/NVFBQQNOmTdmyZUtl5BERKaGwyM7k71O49/01HMvKp1WoH4uGX6siIyLFynzKv7u7O7m5uZWRRUSkhIPppxk1J4k1u08AEH9VQ565pQ1e7ppWEpH/r1yfMzNs2DBeeeUVCgsLKzqPiAgAP6Uc4eapK1mz+wS+nm5MGxLLy7dFqciIyDnK9WEMv//+O0uWLGHx4sVERUXh4+NT4v7PP/+8QsKJSM1TUGRn8uIU3l1+5kKCdg38mTEkjkZ1fC6xpYjUVOUqM4GBgdx+++0VnUVEarj9p04zYnYCCXtPATC0UyRP9mmNp5uOxojIhZWpzNjtdl577TVSU1PJz8/nxhtv5LnnnsPb27uy8olIDfHD5sOMm59M+ukC/LzcePX2aHpH1bc6log4gTKVmZdeeonnnnuO7t274+3tzbRp0zh69Cjvv/9+ZeUTkWouv9DOK99t5b2fz3zkQ0x4ADPi44gIqmVxMhFxFmX6cwbNmzdn3LhxPPTQQwD8+OOP9OnTh9OnT+PiUq5ziSudPjRPxHGlnchh+JxEktNOAfDAtY15vFcrPNwc8/eJiFSdSvnQPIC9e/dy8803F9/u3r07NpuNAwcOEB6uz3wQkdL7buNBHvt0PZm5hQR4uzP5jhhuahNidSwRcUJlKjOFhYV4eXmVWObu7k5BQUGFhhKR6iuvsIiXv97Ch7/uASCuYSDThsQSXlvTSiJSPmUqM8YY7rvvPjw9PYuX5ebm8n//938lLs/Wpdkicj67j2UzfE4CG/dnAPDQDU0Y16Ml7q6aVhKR8itTmRk6dOg5y+6+++4KCyMi1deXyQcY//kGsvIKqV3LnSl3tqdrq3pWxxKRaqBMZWbWrFmVlUNEqqncgiKe/2ozs3/bC0DHRkFMHdKe+gH6SAcRqRjl+tA8EZHS2HE0i2EfJ7D1UCY2Gwzr0ozR3ZvjpmklEalAKjMiUikWJO7jHws2kpNfRB1fD94Y1J7rmte1OpaIVEMqMyJSoU7nF/Hsoo3MW7sPgE5Ngpk6uD31/L0usaWISPmozIhIhdl2OJNhsxNIPZyFzQajujVnxI3NcXWxWR1NRKoxlRkRqRDz16bx9BcbyS2wU9fPk6mD23NN0zpWxxKRGkBlRkQuS3ZeIU9/sZHPE/YDcF3zOky5sz11/TwvsaWISMVQmRGRctt6KINhHyew42g2LjYY26MlD9/QFBdNK4lIFVKZEZEyM8Yw9/c0nlu0ibxCO6H+XkwbEkvHxkFWRxORGkhlRkTKJDO3gCcXbOTL5AMAdGlZlyl3tifIx8PiZCJSU6nMiEipbdyfzvDZCew+noOri42/92zJg9c10bSSiFhKZUZELskYw39X7+GFr7aQX2SnQaA304bEckVkbaujiYiozIjIxWXkFvDEZ+v5ZsMhALq3DmHyHdEE1tK0kog4BpUZEbmg5LRTDJ+TQNqJ07i72niid2v+0rkRNpumlUTEcajMiMg5jDHMWrWbid9uoaDIEF7bm5nxccREBFodTUTkHJb+6doVK1bQt29fwsLCsNlsLFy48ILr/t///R82m40333yzyvKJ1ESncvL520freP6rzRQUGXq1DeXrkdepyIiIw7K0zGRnZxMTE8PMmTMvut6CBQtYvXo1YWFhVZRMpGZK2HuSPtN+5ofNh/FwdeH5fm15++44ArzdrY4mInJBlk4z9e7dm969e190nf379zNixAi+//57+vTpU0XJRGoWu93w75938up3KRTaDZHBtZgZH0e7BgFWRxMRuSSHPmfGbrdzzz338Nhjj9G2bdtSbZOXl0deXl7x7YyMjMqKJ1ItnMjOZ9z8ZJZuPQLALdH1mTggCj8vHY0REefg0GXmlVdewc3NjZEjR5Z6m4kTJzJhwoRKTCVSffy++wQj5yRyMD0XDzcXnuvbliEdI3S1kog4FYctM+vWrWPq1KkkJCSU6Rfr+PHjGTNmTPHtjIwMIiIiKiOiiNOy2w1vL9/BlB9SKbIbmtT1YWZ8HK3r+1sdTUSkzBy2zKxcuZIjR47QsGHD4mVFRUWMHTuWN998k927d593O09PTzw9PasopYjzOZaVx6OfJLFy2zEAbottwIv92+Hj6bC/DkRELsphf3vdc889dO/evcSynj17cs8993D//fdblErEuf264zij5iZyJDMPL3cXnu/XjjuuCNe0kog4NUvLTFZWFtu3by++vWvXLpKSkggKCqJhw4YEBweXWN/d3Z3Q0FBatmxZ1VFFnFqR3TBj6XamLknFbqB5PV9m3hVHixA/q6OJiFw2S8vM2rVr6dq1a/Hts+e6DB06lA8++MCiVCLVy5HMXEbPTeKXHccBuOOKcCb0a0stD4c9MCsiUiaW/jbr0qULxphSr3+h82RE5Px+3naM0Z8kciwrn1oerrzYvx0D4sKtjiUiUqH0v2Yi1VBhkZ2pS7Yx46ftGAOtQv2YER9Hs3q+VkcTEalwKjMi1cyh9FxGzk1kza4TAAzp2JBn+7bBy93V4mQiIpVDZUakGlmWcoQx85I5kZ2Pj4crE2+P5tYY/U0zEaneVGZEqoGCIjuvL07lneU7AGgb5s+M+Dga1/GxOJmISOVTmRFxcgdOnWbEnETW7TkJwL2dInny5taaVhKRGkNlRsSJ/bj5MOM+TeZUTgF+Xm68ens0vaPqWx1LRKRKqcyIOKH8QjuvfreVf/+8C4CY8ACmD4mjYXAti5OJiFQ9lRkRJ5N2IofhcxJJTjsFwF86N+aJ3q3wcHOxNpiIiEVUZkScyHcbD/HYp8lk5hbi7+XG5Dti6NE21OpYIiKWUpkRcQJ5hUVM/GYrH/yyG4DYhoFMHxJLeG1NK4mIqMyIOLg9x7MZPjuRDfvTAXjo+iaM69kSd1dNK4mIgMqMiEP7av0BnvhsA1l5hdSu5c7rd8ZwY6sQq2OJiDgUlRkRB5RbUMQLX23m49/2AtChUW2mDYmlfoC3xclERByPyoyIg9l5NIthsxPZcjADmw0e6dKUR7u3wE3TSiIi56UyI+JAFibu58kFG8jJLyLYx4M3BrXn+hZ1rY4lIuLQVGZEHMDp/CKeW7SJT9amAXB1kyCmDY6lnr+XxclERByfyoyIxbYdzmTY7ARSD2dhs8HIG5szsltzXF1sVkcTEXEKKjMiFpq/No1nvtjE6YIi6vp5MnVQe65pVsfqWCIiTkVlRsQC2XmFPP3FRj5P2A/Atc3q8Mag9tT187Q4mYiI81GZEaliWw9lMOzjBHYczcbFBmNuasEjXZrhomklEZFyUZkRqSLGGD75PY1nF20ir9BOiL8n0wbHclWTYKujiYg4NZUZkSqQlVfIk59vYFHyAQC6tKzL63fEEOyraSURkculMiNSyTYdSGf47ER2HcvG1cXGYz1b8rfrmmhaSUSkgqjMiFQSYwz//W0vL3y1mfxCO2EBXkyPj+WKyCCro4mIVCsqMyKVICO3gPGfbeDrDQcB6N66HpPviCGwlofFyUREqh+VGZEKtn7fKYbPTmTviRzcXW083qsVD1zbGJtN00oiIpVBZUakghhjmLVqNxO/3UJBkSG8tjcz4uNoHxFodTQRkWpNZUakAqTnFPDYp8ks3nwYgF5tQ3llYDQB3u4WJxMRqf5UZkQuU+Lekwyfncj+U6fxcHXhH31ac2+nSE0riYhUEZUZkXKy2w3v/byLV77bSqHdEBlcixlD4ogKD7A6mohIjaIyI1IOJ7PzGTs/maVbjwBwS3R9Jg6Iws9L00oiIlVNZUakjNbuPsGIOYkcTM/Fw82FZ/u2Ib5jQ00riYhYRGVGpJTsdsM7K3bw+uJUiuyGJnV8mBEfR5swf6ujiYjUaCozIqVwLCuPMfOSWZF6FIDbYhvwYv92+HhqFxIRsZp+E4tcwuqdxxk5J5EjmXl4ubvw/K3tuOPKcE0riYg4CJUZkQsoshtm/rSdN39MxW6gWT1f3rorjhYhflZHExGRP1CZETmPI5m5PPpJEqu2HwfgjivCmdCvLbU8tMuIiDga/WYW+ZNV248xam4Sx7Ly8HZ35aXb2jEgLtzqWCIicgEqMyL/U1hkZ9qSbUz/aTvGQKtQP2bEx9Gsnq/V0URE5CJUZkSAwxm5jJiTyJpdJwAY0rEhz/Ztg5e7q8XJRETkUlRmpMZblnKEMfOSOZGdj4+HKxNvj+bWmDCrY4mISCmpzEiNVVhk5/UfUnl72Q4A2tT3Z+ZdcTSu42NxMhERKQuVGamRDpw6zcg5iazdcxKAeztF8uTNrTWtJCLihFRmpMZZsuUwY+cncyqnAD9PN14ZGM3NUfWtjiUiIuWkMiM1Rn6hnde+38q/Vu4CIDo8gBlD4mgYXMviZCIicjlUZqRGSDuRw4g5iSSlnQLgL50b83jvlni6aVpJRMTZqcxItff9pkM8Nj+ZjNxC/L3cmHxHDD3ahlodS0REKojKjFRbeYVFTPxmKx/8shuA2IaBTB8SS3htTSuJiFQnKjNSLe05ns3w2Yls2J8OwEPXN2Fcz5a4u7pYnExERCqayoxUO1+vP8gTn60nM6+Q2rXcef3OGG5sFWJ1LBERqSQqM1Jt5BYU8eLXm/nv6r0AdGhUm2lDYqkf4G1xMhERqUwqM1It7DyaxbDZiWw5mAHAI12aMuamFrhpWklEpNpTmRGn90XSfp78fAPZ+UUE+3gwZVB7bmhR1+pYIiJSRVRmxGmdzi9iwpebmPt7GgBXNwli6uBYQvy9LE4mIiJVSWVGnNL2I5kM+ziRlMOZ2Gww4sbmjOrWHFcXm9XRRESkiqnMiNP5dN0+nl64kdMFRdTx9WTa4PZc06yO1bFERMQilp4duWLFCvr27UtYWBg2m42FCxcW31dQUMDjjz9OVFQUPj4+hIWFce+993LgwAHrAoulcvILGTsvmXHzkzldUMS1zerw7ajrVGRERGo4S8tMdnY2MTExzJw585z7cnJySEhI4OmnnyYhIYHPP/+clJQUbr31VguSitVSDmVy64xVfJawDxcbjOvRgg//0pG6fp5WRxMREYvZjDHG6hAANpuNBQsW0L9//wuu8/vvv9OxY0f27NlDw4YNS/W4GRkZBAQEkJ6ejr+/fwWllapijOGT39N4dtEm8grthPh7Mm1wLFc1CbY6moiIVKKyvH871Tkz6enp2Gw2AgMDL7hOXl4eeXl5xbczMjKqIJlUhqy8Qv6xYANfJJ2ZWryhRV2m3BlDsK+OxoiIyP/nNGUmNzeXxx9/nCFDhly0oU2cOJEJEyZUYTKpDJsOpDNidiI7j2Xj6mJjXI+WPHR9E1x0tZKIiPyJU3w8akFBAXfeeSfGGN5+++2Lrjt+/HjS09OLv9LS0qoopVQEYwwfrd7DbW/9ws5j2YQFeDHvoat5uEtTFRkRETkvhz8yc7bI7Nmzh6VLl15y3szT0xNPT01DOKOM3ALGf76Br9cfBKB763q8NjCG2j4eFicTERFH5tBl5myR2bZtGz/99BPBwTrps7rasC+dYbMT2HsiBzcXG0/0bsUD1zbGZtPRGBERuThLy0xWVhbbt28vvr1r1y6SkpIICgqifv36DBw4kISEBL766iuKioo4dOgQAEFBQXh46P/WqwNjDB/+spuXv9lKfpGdBoHezIiPJbZhbaujiYiIk7D00uxly5bRtWvXc5YPHTqU5557jsaNG593u59++okuXbqU6jl0abbjSs8p4O+fJfP9psMA9Gwbwqu3xxBQy93iZCIiYjWnuTS7S5cuXKxLOchH4EglSNx7khFzEtl38jQeri78o09r7u0UqWklEREpM4c+Z0aqH2MM/165i1e+20qh3RAZXIsZQ+KICg+wOpqIiDgplRmpMiez8xk3P5klW48A0Ce6PhMHROHvpWklEREpP5UZqRJrd59g5JxEDqTn4uHmwjO3tOGuqxpqWklERC6byoxUKrvd8M6KHby+OJUiu6FJHR9mxMfRJkwnY4uISMVQmZFKczwrjzHzklmeehSA/u3DePG2KHw99WMnIiIVR+8qUil+23mckXMTOZyRh5e7CxNubcudV0ZoWklERCqcyoxUqCK74a2ftvPGj6nYDTSr58vM+DhahvpZHU1ERKoplRmpMEcz8xj9SSKrth8HYOAV4Tzfry21PPRjJiIilUfvMlIhVm0/xqi5SRzLysPb3ZUX+7fj9ivCrY4lIiI1gMqMXJYiu2Hqkm1MX7oNY6BliB8z74qjWT1fq6OJiEgNoTIj5XY4I5dRcxNZvfMEAEM6RvBs37Z4ubtanExERGoSlRkpl+WpRxnzSRLHs/Px8XDl5QFR9GvfwOpYIiJSA6nMSJkUFtl5/YdU3l62A4A29f2ZER9Lk7qaVhIREWuozEipHTh1mpFzElm75yQA91wdyT/6tNa0koiIWEplRkpl6dbDjJmXzKmcAvw83Zh0ezR9outbHUtERERlRi6uoMjOa9+n8M8VOwGIahDAjPhYIoN9LE4mIiJyhsqMXNC+kzkMn51IUtopAO7v3IgnerfC003TSiIi4jhUZuS8vt90iMfmJ5ORW4i/lxuv3RFDz7ahVscSERE5h8qMlJBfaGfit1uYtWo3AO0jApk+JJaIoFrWBhMREbkAlRkptvd4DsPnJLB+XzoAf7u+CY/1bIm7q4vFyURERC5MZUYA+GbDQR7/dD2ZeYUE1nJnyp0x3NgqxOpYIiIil6QyU8PlFhTx0tdb+Gj1HgCujKzNtCGxhAV6W5xMRESkdFRmarBdx7IZ9nECmw9mAPBIl6aMuakFbppWEhERJ6IyU0N9kbSfJz/fQHZ+EcE+HkwZ1J4bWtS1OpaIiEiZqczUMLkFRUz4chNz1qQBcFXjIKYNiSXE38viZCIiIuWjMlODbD+SxbCPE0g5nInNBiNubM7IG5tpWklERJyaykwN8dm6fTy1cCOnC4qo4+vJ1MHt6dysjtWxRERELpvKTDWXk1/IM19s4tN1+wDo3CyYNwa1p56fppVERKR6UJmpxlIPZzLs4wS2HcnCxQaPdm/BI12b4episzqaiIhIhVGZqYaMMcxbm8azizaRW2AnxN+TqYNjubpJsNXRREREKpzKTDWTlVfIUws2sDDpAAA3tKjLlDtjCPb1tDiZiIhI5VCZqUY2H8hg+OwEdh7LxtXFxrgeLXno+ia4aFpJRESqMZWZasAYw+w1e5nw5WbyC+3UD/Bi+pBYrmwUZHU0ERGRSqcy4+Qycwt44vMNfL3+IADdWtVj8h0x1PbxsDiZiIhI1VCZcWIb9qUzfE4Ce47n4OZi44nerXjg2sbYbJpWEhGRmkNlxgkZY/jwl928/M1W8ovsNAj0ZkZ8LLENa1sdTUREpMqpzDiZ9NMFPP7per7bdAiAHm1CeG1gDAG13C1OJiIiYg2VGSeSlHaK4bMT2HfyNB6uLjx5cyuGXtNI00oiIlKjqcw4AWMM7/28i0nfbqXQbmgYVIuZ8XFEhQdYHU1ERMRyKjMO7lROPuPmJ/PjliMA9Imqz8Tbo/D30rSSiIgIqMw4tHV7TjBidiIH0nPxcHPhmVvacNdVDTWtJCIi8gcqMw7Ibjf8c+VOXvs+hSK7oXEdH2bEx9I2TNNKIiIif6Yy42COZ+Uxdn4yy1KOAtCvfRgv3RaFr6deKhERkfPRO6QD+W3ncUbOTeRwRh6ebi48368td14ZoWklERGRi1CZcQBFdsNbP23njR9TsRtoWteHt+66gpahflZHExERcXgqMxY7mpnHo58k8fP2YwDcHhfOC/3bUstDL42IiEhp6B3TQr9sP8aoT5I4mpmHt7srL/Rvx8Arwq2OJSIi4lRUZixQZDdMXbKN6Uu3YQy0DPFj5l2xNKunaSUREZGyUpmpYoczchk1N5HVO08AMLhDBM/2bYu3h6vFyURERJyTykwVWpF6lEc/SeJ4dj4+Hq68PCCKfu0bWB1LRETEqanMVIHCIjtv/JjKW8t2YAy0ru/PzPhYmtT1tTqaiIiI01OZqWQH008zck4iv+8+CcDdVzfkqT5t8HLXtJKIiEhFUJmpRD9tPcKYeUmczCnAz9ONibdHcUt0mNWxREREqhWVmUpQUGRn8vcpvLtiJwBRDQKYER9LZLCPxclERESqH5WZCrbvZA4j5iSSuPcUAPdd04jxN7fC003TSiIiIpVBZaa8iopg5Uo4eBDq14frrmPx1qM89ul60k8X4O/lxmt3xNCzbajVSUVERKo1FyuffMWKFfTt25ewsDBsNhsLFy4scb8xhmeeeYb69evj7e1N9+7d2bZtmzVh/+jzz6FRI+jaFeLjye92ExNuf4y/fbSO9NMFtI8I5OuR16nIiIiIVAFLy0x2djYxMTHMnDnzvPe/+uqrTJs2jXfeeYfffvsNHx8fevbsSW5ubhUn/YPPP4eBA2HfPgD2BoQw8O5XmdWqGwAPhhYy76FORATVsi6jiIhIDWIzxhirQwDYbDYWLFhA//79gTNHZcLCwhg7dizjxo0DID09nZCQED744AMGDx5cqsfNyMggICCA9PR0/P39Ly9kUdGZIzL/KzLftriGv988ikxPHwJPZ/D6N2/SLe8g7NoFrjpHRkREpLzK8v5t6ZGZi9m1axeHDh2ie/fuxcsCAgK46qqr+PXXXy+4XV5eHhkZGSW+KszKlcVFZvJ1d/PwbU+S6enDlfs28c2skXTbvgbS0s6sJyIiIlXCYcvMoUOHAAgJCSmxPCQkpPi+85k4cSIBAQHFXxERERUX6uDB4n+2P5CKzdh5+Nf5zJnzJGGZx867noiIiFQuhy0z5TV+/HjS09OLv9LS0iruwevXL/5n9x1r+PHfD/P4ig9xtxddcD0RERGpXA5bZkJDz1wJdPjw4RLLDx8+XHzf+Xh6euLv71/iq8Jcdx2Eh4PNBkDTE/tL3m+zQUTEmfVERESkSjhsmWncuDGhoaEsWbKkeFlGRga//fYbnTp1siaUqytMnXrm3/8rNMXO3n7zTZ38KyIiUoUsLTNZWVkkJSWRlJQEnDnpNykpib1792Kz2Rg9ejQvvvgiixYtYsOGDdx7772EhYUVX/FkiQED4NNPoUGDksvDw88sHzDAmlwiIiI1lKWXZi9btoyuXbues3zo0KF88MEHGGN49tln+ec//8mpU6e49tpreeutt2jRokWpn6NCL83+o/N8ArCOyIiIiFSMsrx/O8znzFSWSiszIiIiUmmqxefMiIiIiJSGyoyIiIg4NZUZERERcWoqMyIiIuLUVGZERETEqanMiIiIiFNTmRERERGnpjIjIiIiTk1lRkRERJyam9UBKtvZDzjOyMiwOImIiIiU1tn37dL8oYJqX2YyMzMBiIiIsDiJiIiIlFVmZiYBAQEXXafa/20mu93OgQMH8PPzw2azVehjZ2RkEBERQVpaWrX8u08an/Or7mPU+JxfdR+jxld+xhgyMzMJCwvDxeXiZ8VU+yMzLi4uhIeHV+pz+Pv7V8sf0rM0PudX3ceo8Tm/6j5Gja98LnVE5iydACwiIiJOTWVGREREnJrKzGXw9PTk2WefxdPT0+oolULjc37VfYwan/Or7mPU+KpGtT8BWERERKo3HZkRERERp6YyIyIiIk5NZUZEREScmsqMiIiIODWVGWDixIl06NABPz8/6tWrR//+/UlJSbnkdvPnz6dVq1Z4eXkRFRXFN998U+J+YwzPPPMM9evXx9vbm+7du7Nt27bKGsZFlWeM//rXv7juuuuoXbs2tWvXpnv37qxZs6bEOvfddx82m63EV69evSpzKOdVnvF98MEH52T38vIqsY6jvIblGV+XLl3OGZ/NZqNPnz7F6zjK6wfw9ttvEx0dXfzhW506deLbb7+96DbOtA+WdXzOtP+dVdYxOtM+CGUfn7Ptg382adIkbDYbo0ePvuh6DrEfGjE9e/Y0s2bNMhs3bjRJSUnm5ptvNg0bNjRZWVkX3GbVqlXG1dXVvPrqq2bz5s3mqaeeMu7u7mbDhg3F60yaNMkEBASYhQsXmuTkZHPrrbeaxo0bm9OnT1fFsEoozxjj4+PNzJkzTWJiotmyZYu57777TEBAgNm3b1/xOkOHDjW9evUyBw8eLP46ceJEVQyphPKMb9asWcbf379E9kOHDpVYx1Few/KM7/jx4yXGtnHjRuPq6mpmzZpVvI6jvH7GGLNo0SLz9ddfm9TUVJOSkmKefPJJ4+7ubjZu3Hje9Z1tHyzr+Jxp/zurrGN0pn3QmLKPz9n2wT9as2aNadSokYmOjjajRo264HqOsh+qzJzHkSNHDGCWL19+wXXuvPNO06dPnxLLrrrqKvPQQw8ZY4yx2+0mNDTUvPbaa8X3nzp1ynh6epo5c+ZUTvAyKM0Y/6ywsND4+fmZDz/8sHjZ0KFDTb9+/Soh4eUpzfhmzZplAgICLni/I7+G5Xn93njjDePn51eiADnq63dW7dq1zb///e/z3ufs+6AxFx/fnznT/vdHFxujM++DZ5XlNXSWfTAzM9M0b97c/PDDD+aGG264aJlxlP1Q00znkZ6eDkBQUNAF1/n111/p3r17iWU9e/bk119/BWDXrl0cOnSoxDoBAQFcddVVxetYqTRj/LOcnBwKCgrO2WbZsmXUq1ePli1b8vDDD3P8+PEKzVoepR1fVlYWkZGRRERE0K9fPzZt2lR8nyO/huV5/d577z0GDx6Mj49PieWO+PoVFRUxd+5csrOz6dSp03nXceZ9sDTj+zNn2v+g9GN01n2wPK+hs+yDw4YNo0+fPufsX+fjKPthtf9Dk2Vlt9sZPXo0nTt3pl27dhdc79ChQ4SEhJRYFhISwqFDh4rvP7vsQutYpbRj/LPHH3+csLCwEj+UvXr1YsCAATRu3JgdO3bw5JNP0rt3b3799VdcXV0rI/4llXZ8LVu25P333yc6Opr09HQmT57MNddcw6ZNmwgPD3fY17A8r9+aNWvYuHEj7733Xonljvb6bdiwgU6dOpGbm4uvry8LFiygTZs2513XGffBsozvz5xl/yvLGJ1xHyzva+gs++DcuXNJSEjg999/L9X6jrIfqsz8ybBhw9i4cSM///yz1VEqTXnGOGnSJObOncuyZctKnKA3ePDg4n9HRUURHR1N06ZNWbZsGd26davQ3KVV2vF16tSpxP9RXXPNNbRu3Zp3332XF154obJjllt5Xr/33nuPqKgoOnbsWGK5o71+LVu2JCkpifT0dD799FOGDh3K8uXLS/2G7+jKOz5n2v/KMkZn3AfL+xo6wz6YlpbGqFGj+OGHH845EdvRaZrpD4YPH85XX33FTz/9RHh4+EXXDQ0N5fDhwyWWHT58mNDQ0OL7zy670DpWKMsYz5o8eTKTJk1i8eLFREdHX3TdJk2aUKdOHbZv314RccusPOM7y93dndjY2OLsjvgalmd82dnZzJ07lwceeOCS61r9+nl4eNCsWTOuuOIKJk6cSExMDFOnTj3vus64D5ZlfGc50/4H5RvjWc6wD5ZnfM6yD65bt44jR44QFxeHm5sbbm5uLF++nGnTpuHm5kZRUdE52zjKfqgyw5nLxoYPH86CBQtYunQpjRs3vuQ2nTp1YsmSJSWW/fDDD8X/l9G4cWNCQ0NLrJORkcFvv/1W6vnVilSeMQK8+uqrvPDCC3z33XdceeWVl1x/3759HD9+nPr1619u5DIp7/j+qKioiA0bNhRnd6TX8HLGN3/+fPLy8rj77rsvua5Vr9+F2O128vLyznufs+2D53Ox8YHz7H8Xc6kx/pEj74MXUprxOcs+2K1bNzZs2EBSUlLx15VXXsldd91FUlLSeae9HGY/rLBTiZ3Yww8/bAICAsyyZctKXB6Xk5NTvM4999xjnnjiieLbq1atMm5ubmby5Mlmy5Yt5tlnnz3v5WiBgYHmiy++MOvXrzf9+vWz7JLC8oxx0qRJxsPDw3z66acltsnMzDTGnDnjfdy4cebXX381u3btMj/++KOJi4szzZs3N7m5uQ4/vgkTJpjvv//e7Nixw6xbt84MHjzYeHl5mU2bNhWv4yivYXnGd9a1115rBg0adM5yR3r9jDHmiSeeMMuXLze7du0y69evN0888YSx2Wxm8eLFxhjn3wfLOj5n2v/KO0Zn2gfLM76znGUfPJ8/X83kqPuhyowxBjjv1x8/C+CGG24wQ4cOLbHdvHnzTIsWLYyHh4dp27at+frrr0vcb7fbzdNPP21CQkKMp6en6datm0lJSamCEZ2rPGOMjIw87zbPPvusMcaYnJwc06NHD1O3bl3j7u5uIiMjzYMPPnjO50RUhfKMb/To0aZhw4bGw8PDhISEmJtvvtkkJCSUeFxHeQ3L+zO6detWAxT/sv0jR3r9jDHmL3/5i4mMjDQeHh6mbt26plu3biVyO/s+WNbxOdP+d1ZZx+hM+6Ax5fsZdaZ98Hz+XGYcdT+0GWNMxR3nEREREalaOmdGREREnJrKjIiIiDg1lRkRERFxaiozIiIi4tRUZkRERMSpqcyIiIiIU1OZEREREaemMiMiIiJOTWVGRM7rgw8+IDAw0LLn3717NzabjaSkpEp7ji5dujB69OhKe/yLadSoEW+++aYlzy1S3ajMiDio++67D5vNxqRJk0osX7hwITabzaJUIiKOR2VGxIF5eXnxyiuvcPLkSaujlEp+fr7VEaq1goICqyOIOCSVGREH1r17d0JDQ5k4ceJF1/vss89o27Ytnp6eNGrUiNdff73E/Y0aNeLFF1/k3nvvxdfXl8jISBYtWsTRo0fp168fvr6+REdHs3bt2nMee+HChTRv3hwvLy969uxJWlpa8X3PPfcc7du359///jeNGzfGy8sLgFOnTvHXv/6VunXr4u/vz4033khycvJFx7BmzRpiY2Px8vLiyiuvJDEx8Zx1Nm7cSO/evfH19SUkJIR77rmHY8eOXfRxV61aRZcuXahVqxa1a9emZ8+eJcqh3W7n73//O0FBQYSGhvLcc8+V2H7KlClERUXh4+NDREQEjzzyCFlZWcX3n52O++qrr2jZsiW1atVi4MCB5OTk8OGHH9KoUSNq167NyJEjKSoqKvHYmZmZDBkyBB8fHxo0aMDMmTNL3G+z2Xj77be59dZb8fHx4aWXXgLgiy++IC4uDi8vL5o0acKECRMoLCwEwBjDc889R8OGDfH09CQsLIyRI0de9Hsk4vQq9M9WikiFGTp0qOnXr5/5/PPPjZeXl0lLSzPGGLNgwQLzx1137dq1xsXFxTz//PMmJSXFzJo1y3h7e5f4i9qRkZEmKCjIvPPOOyY1NdU8/PDDxt/f3/Tq1cvMmzfPpKSkmP79+5vWrVsbu91ujDFm1qxZxt3d3Vx55ZXml19+MWvXrjUdO3Y011xzTfHjPvvss8bHx8f06tXLJCQkmOTkZGOMMd27dzd9+/Y1v//+u0lNTTVjx441wcHB5vjx4+cda2Zmpqlbt66Jj483GzduNF9++aVp0qSJAUxiYqIxxpiTJ0+aunXrmvHjx5stW7aYhIQEc9NNN5muXbte8HuYmJhoPD09zcMPP2ySkpLMxo0bzfTp083Ro0eNMWf+ArC/v7957rnnTGpqqvnwww+NzWYr8ReO33jjDbN06VKza9cus2TJEtOyZUvz8MMPF99/9vt00003mYSEBLN8+XITHBxsevToYe68806zadMm8+WXXxoPDw8zd+7cEq+Jn5+fmThxoklJSTHTpk0zrq6uJZ4bMPXq1TPvv/++2bFjh9mzZ49ZsWKF8ff3Nx988IHZsWOHWbx4sWnUqJF57rnnjDHGzJ8/3/j7+5tvvvnG7Nmzx/z222/mn//85wW/RyLVgcqMiIM6W2aMMebqq682f/nLX4wx55aZ+Ph4c9NNN5XY9rHHHjNt2rQpvh0ZGWnuvvvu4tsHDx40gHn66aeLl/36668GMAcPHjTGnHmTBszq1auL19myZYsBzG+//WaMOVNm3N3dzZEjR4rXWblypfH39ze5ubklMjVt2tS8++675x3ru+++a4KDg83p06eLl7399tslyswLL7xgevToUWK7tLQ0A5iUlJTzPu6QIUNM586dz3ufMWfKzLXXXltiWYcOHczjjz9+wW3mz59vgoODi2+f/T5t3769eNlDDz1katWqZTIzM4uX9ezZ0zz00EPFtyMjI02vXr1KPPagQYNM7969i28DZvTo0SXW6datm3n55ZdLLPvoo49M/fr1jTHGvP7666ZFixYmPz//gmMQqW40zSTiBF555RU+/PBDtmzZcs59W7ZsoXPnziWWde7cmW3btpWY1oiOji7+d0hICABRUVHnLDty5EjxMjc3Nzp06FB8u1WrVgQGBpbIERkZSd26dYtvJycnk5WVRXBwML6+vsVfu3btYseOHecd35YtW4iOji6epgLo1KlTiXWSk5P56aefSjxmq1atAC74uElJSXTr1u289531x+8LQP369Ut8D3788Ue6detGgwYN8PPz45577uH48ePk5OQUr1OrVi2aNm1afDskJIRGjRrh6+tbYtkfH/d8Y+zUqdM5r/GVV15Z4nZycjLPP/98ie/Dgw8+yMGDB8nJyeGOO+7g9OnTNGnShAcffJAFCxYUT0GJVFduVgcQkUu7/vrr6dmzJ+PHj+e+++4r12O4u7sX//vs1VDnW2a328v0uD4+PiVuZ2VlUb9+fZYtW3bOupdzqXdWVhZ9+/bllVdeOee++vXrn3cbb2/vSz7uH78HcOb7cPZ7sHv3bm655RYefvhhXnrpJYKCgvj555954IEHyM/Pp1atWhd8jIs9blmc7/s7YcIEBgwYcM66Xl5eREREkJKSwo8//sgPP/zAI488wmuvvcby5cvPySRSXajMiDiJSZMm0b59e1q2bFlieevWrVm1alWJZatWraJFixa4urpe1nMWFhaydu1aOnbsCEBKSgqnTp2idevWF9wmLi6OQ4cO4ebmRqNGjUr1PK1bt+ajjz4iNze3+OjM6tWrz3nczz77jEaNGuHmVrpfXdHR0SxZsoQJEyaUav0/W7duHXa7nddffx0XlzMHsufNm1euxzqfP49x9erVF/3ewpnvQ0pKCs2aNbvgOt7e3vTt25e+ffsybNgwWrVqxYYNG4iLi6uQ3CKORtNMIk4iKiqKu+66i2nTppVYPnbsWJYsWcILL7xAamoqH374ITNmzGDcuHGX/Zzu7u6MGDGC3377jXXr1nHfffdx9dVXF5eb8+nevTudOnWif//+LF68mN27d/PLL7/wj3/847xXSwHEx8djs9l48MEH2bx5M9988w2TJ08usc6wYcM4ceIEQ4YM4ffff2fHjh18//333H///edcJXTW+PHj+f3333nkkUdYv349W7du5e23377kFVBnNWvWjIKCAqZPn87OnTv56KOPeOedd0q1bWmsWrWKV199ldTUVGbOnMn8+fMZNWrURbd55pln+M9//sOECRPYtGkTW7ZsYe7cuTz11FPAmaur3nvvPTZu3MjOnTv573//i7e3N5GRkRWWW8TRqMyIOJHnn3/+nKmKuLg45s2bx9y5c2nXrh3PPPMMzz//fLmno/6oVq1aPP7448THx9O5c2d8fX355JNPLrqNzWbjm2++4frrr+f++++nRYsWDB48mD179hSfl/Nnvr6+fPnll2zYsIHY2Fj+8Y9/nDOdFBYWxqpVqygqKqJHjx5ERUUxevRoAgMDi4+a/FmLFi1YvHgxycnJdOzYkU6dOvHFF1+U+shOTEwMU6ZM4ZVXXqFdu3Z8/PHHl7xMvizGjh3L2rVriY2N5cUXX2TKlCn07Nnzotv07NmTr776isWLF9OhQweuvvpq3njjjeKyEhgYyL/+9S86d+5MdHQ0P/74I19++SXBwcEVllvE0diMMcbqECIiIiLlpSMzIiIi4tRUZkRERMSpqcyIiIiIU1OZEREREaemMiMiIiJOTWVGREREnJrKjIiIiDg1lRkRERFxaiozIiIi4tRUZkRERMSpqcyIiIiIU/t/EP1BuGH3qCgAAAAASUVORK5CYII=\n" + }, + "metadata": {} + } + ], + "source": [ + "# y = 5 x\n", + "\n", + "plt.scatter(data[\"n_chambres\"], data['prix'], c=\"r\")\n", + "plt.plot(data[\"n_chambres\"], data['prix'])\n", + "plt.xlabel('Nombre de chambres')\n", + "plt.ylabel('Prix')\n", + "plt.show()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "id": "ApD4vOclBYlL" + }, + "outputs": [], + "source": [ + "# entree + instruction = sortie\n", + "\n", + "# entree + sortie == instruction ou les regles\n", + "\n", + "# y= 5 x model\n" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 363 + }, + "id": "C5jxi7X_CBZw", + "outputId": "62626c37-f82d-4840-f130-b77cef117565" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + " n_chambres prix\n", + "0 2 10.0\n", + "1 4 20.0\n", + "2 3 15.0\n", + "3 3 20.0\n", + "4 1 3.5\n", + "5 6 31.0\n", + "6 5 33.0\n", + "7 8 36.0\n", + "8 7 50.0\n", + "9 9 42.0" + ], + "text/html": [ + "\n", + "
\n", + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
n_chambresprix
0210.0
1420.0
2315.0
3320.0
413.5
5631.0
6533.0
7836.0
8750.0
9942.0
\n", + "
\n", + "
\n", + "\n", + "
\n", + " \n", + "\n", + " \n", + "\n", + " \n", + "
\n", + "\n", + "\n", + "
\n", + " \n", + "\n", + "\n", + "\n", + " \n", + "
\n", + "\n", + "
\n", + " \n", + " \n", + " \n", + "
\n", + "\n", + "
\n", + "
\n" + ], + "application/vnd.google.colaboratory.intrinsic+json": { + "type": "dataframe", + "variable_name": "data", + "summary": "{\n \"name\": \"data\",\n \"rows\": 10,\n \"fields\": [\n {\n \"column\": \"n_chambres\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 2,\n \"min\": 1,\n \"max\": 9,\n \"num_unique_values\": 9,\n \"samples\": [\n 7,\n 4,\n 5\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"prix\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 14.761906682027526,\n \"min\": 3.5,\n \"max\": 50.0,\n \"num_unique_values\": 9,\n \"samples\": [\n 50.0,\n 20.0,\n 33.0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}" + } + }, + "metadata": {}, + "execution_count": 14 + } + ], + "source": [ + "data = pd.DataFrame([ {\"n_chambres\" : 2, \"prix\" : 10}, {\"n_chambres\" : 4, \"prix\" : 20},\n", + " {\"n_chambres\" : 3, \"prix\" : 15},\n", + " {\"n_chambres\" : 3, \"prix\" : 20},\n", + " {\"n_chambres\" : 1, \"prix\" : 3.5},\n", + " {\"n_chambres\" : 6, \"prix\" : 31},\n", + " {\"n_chambres\" : 5, \"prix\" : 33},\n", + " {\"n_chambres\" : 8, \"prix\" : 36},\n", + " {\"n_chambres\" : 7, \"prix\" : 50},\n", + " {\"n_chambres\" : 9, \"prix\" : 42},\n", + " ])\n", + "data\n" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 449 + }, + "id": "gk7BI11hCCD5", + "outputId": "41e7f4c1-9581-4dd8-e9d8-c81b0cfcd0de" + }, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": {} + } + ], + "source": [ + "plt.scatter(data[\"n_chambres\"], data['prix'], c=\"r\")\n", + "plt.plot(data[\"n_chambres\"], data['n_chambres'] * 5)\n", + "plt.xlabel('Nombre de chambres')\n", + "plt.ylabel('Prix')\n", + "plt.show()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "id": "h9QSA1CRE6CJ", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 166 + }, + "outputId": "7858bc0f-29c5-49ee-cc8a-1af5ae180bba" + }, + "outputs": [ + { + "output_type": "error", + "ename": "NameError", + "evalue": "name 'n_chambres' is not defined", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m/tmp/ipython-input-2445121141.py\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mx\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mn_chambres\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2\u001b[0m \u001b[0my\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mPrix\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mNameError\u001b[0m: name 'n_chambres' is not defined" + ] + } + ], + "source": [ + "x = n_chambres\n", + "y = Prix\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "Zmuxl5zzE_8B" + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "id": "Pt4aMErFCOAB" + }, + "outputs": [], + "source": [ + "def model(x, w):\n", + " return w * x\n" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "5SQVSPNPFDZt", + "outputId": "18290e46-0dfa-43ea-e853-885cd6cbfb9c" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "15" + ] + }, + "metadata": {}, + "execution_count": 18 + } + ], + "source": [ + "model(x=3, w=5) # y= 5x\n" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "Cdv3ygTYFHjY", + "outputId": "c951e722-8563-4495-90c9-ad1d545a7b06" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "18" + ] + }, + "metadata": {}, + "execution_count": 19 + } + ], + "source": [ + "# y= 6x\n", + "model(x=3, w=6)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": { + "id": "lpXfytPYFO40" + }, + "outputs": [], + "source": [ + "def erreur(x, w, y):\n", + " y_model = model(x, w)\n", + "\n", + " distance = (y - y_model) **2\n", + "\n", + " return np.sum(distance)\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "zNuB_cbLFnO-" + }, + "outputs": [], + "source": [ + "x = 6, y = 54\n", + "\n", + "# y = 5x, w = 5\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": { + "id": "0cYt4U05Fxim", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "1b25a13a-7731-43ce-e5cc-0b50b9a8a9c3" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "np.int64(576)" + ] + }, + "metadata": {}, + "execution_count": 21 + } + ], + "source": [ + "erreur(x=6, w=5, y=54)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": { + "id": "41abRrAvF5G9", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 111 + }, + "outputId": "5698a752-1aea-42a2-8033-bc3352890cec" + }, + "outputs": [ + { + "output_type": "error", + "ename": "SyntaxError", + "evalue": "cannot assign to expression (ipython-input-2617079781.py, line 1)", + "traceback": [ + "\u001b[0;36m File \u001b[0;32m\"/tmp/ipython-input-2617079781.py\"\u001b[0;36m, line \u001b[0;32m1\u001b[0m\n\u001b[0;31m y_model = 5 * 6 = 30\u001b[0m\n\u001b[0m ^\u001b[0m\n\u001b[0;31mSyntaxError\u001b[0m\u001b[0;31m:\u001b[0m cannot assign to expression\n" + ] + } + ], + "source": [ + "y_model = 5 * 6 = 30\n", + "\n", + "distance = (54 - 30)**2\n" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "_un4BtCJG09N", + "outputId": "e0587a03-195e-46dd-8fdb-13d3dc8427d6" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([2, 4, 3, 3, 1, 6, 5, 8, 7, 9])" + ] + }, + "metadata": {}, + "execution_count": 23 + } + ], + "source": [ + "data['n_chambres'].values\n" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": { + "id": "KMMvRKIcGrr4" + }, + "outputs": [], + "source": [ + "n_chambres = data['n_chambres'].values\n", + "prix = data['prix'].values\n" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "MT-Y3SBCG7d3", + "outputId": "276220dd-e7f8-4d82-f61d-bcb3fcf60be4" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "np.float64(342.25)" + ] + }, + "metadata": {}, + "execution_count": 25 + } + ], + "source": [ + "erreur(x=n_chambres, w=5, y=prix) # y = 5 x\n" + ] + }, + { + "cell_type": "code", + "execution_count": 52, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 449 + }, + "id": "OFplYoAUHXDD", + "outputId": "3672ca85-61da-4eca-bb3e-3e010201e41a" + }, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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GTx48HW/5qWXXuLjjz9m3Lhx7Nmzh3379vHFF18wevRo4O+//9euXeOZZ55h1apV/Prrr6xfv57Nmzf/bYES8RQqMiJubPz48Q4fTzRp0oSvvvqKL774ggYNGvDSSy8xfvz4fH8E9WdFixZl2LBhPPDAA7Ru3ZrixYvz5ZdfXvdrLBYLixcvpk2bNvTr14/atWtz//338+uvv2afh/NXxYsXZ+HChcTGxtK4cWNGjRrl8BFShQoVWL9+PVlZWdx5551ERkYyZMgQSpQokX205K9q167N0qVL2blzJ82bNycqKorvvvsuz0d0GjVqxOuvv860adNo0KABn3322d9eCn8jnn/+ebZs2ULjxo2ZOHEir7/+Op07d77u13Tu3JlFixaxdOlSmjVrRsuWLZk+fTpVqlQB/v777+vry4ULF3j44YepXbs29957L127ds33USsRd2MxDMMwO4SIiIhIfuiIjIiIiHgsFRkRERHxWCoyIiIi4rFUZERERMRjqciIiIiIx1KREREREY+lIiMiIiIeS0VGREREPJaKjIiIiHgsFRkRERHxWCoyIiIi4rH+H7Upl/2MsYCYAAAAAElFTkSuQmCC\n" + }, + "metadata": {} + } + ], + "source": [ + "plt.scatter(data[\"n_chambres\"], data['prix'], c=\"r\")\n", + "plt.plot(data[\"n_chambres\"], data['n_chambres'] * 5)\n", + "plt.plot(data[\"n_chambres\"], data['n_chambres'] * 4)\n", + "plt.xlabel('Nombre de chambrees')\n", + "plt.ylabel('Prix')\n", + "plt.show()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 51, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "RxSsThL0HCX3", + "outputId": "c40db21d-9812-412f-99e7-fafd2e093003" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "np.float64(847.25)" + ] + }, + "metadata": {}, + "execution_count": 51 + } + ], + "source": [ + "erreur(x=n_chambres, w=4, y=prix)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 53, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 449 + }, + "id": "v4pmkBl7HkSD", + "outputId": "a60ac89c-40fe-47d7-8053-f790329687f0" + }, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjIAAAGwCAYAAACzXI8XAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAejxJREFUeJzt3Xd4FOXax/HvpiekkdASAoQeCAm9BAgECB0EAyK9qEdFQKoHiNKkqy8gKtgBCyAKiDRBekJvoRN67xBSCGm78/6xx+i6AVM2md3N/bkursPeMzvz29WT3M7M8zwaRVEUhBBCCCEskI3aAYQQQgghcksaGSGEEEJYLGlkhBBCCGGxpJERQgghhMWSRkYIIYQQFksaGSGEEEJYLGlkhBBCCGGx7NQOkN90Oh23bt3Czc0NjUajdhwhhBBCZIOiKCQmJuLr64uNzbOvu1h9I3Pr1i3KlCmjdgwhhBBC5ML169fx8/N75narb2Tc3NwA/Rfh7u6uchohhBBCZEdCQgJlypTJ/D3+LFbfyPx5O8nd3V0aGSGEEMLC/NtjIfKwrxBCCCEsljQyQgghhLBY0sgIIYQQwmJZ/TMy2aXVaklPT1c7hsWxt7fH1tZW7RhCCCEKqULfyCiKwp07d3j8+LHaUSyWp6cnpUqVknl6hBBCFLhC38j82cSUKFECFxcX+WWcA4qikJyczL179wDw8fFROZEQQojCplA3MlqtNrOJ8fb2VjuORXJ2dgbg3r17lChRQm4zCSGEKFCF+mHfP5+JcXFxUTmJZfvz+5NnjIQQQhS0Qt3I/EluJ+WNfH9CCCHUIo2MEEIIISyWNDJCCCGEsFjSyAghhBDCYkkjIwxMnjwZjUZj8CcgIEDtWEIIIcyQVqdl141dqmYo1MOvRdYCAwPZsmVL5ms7O/nXRAghhKE7T+4QGR3JwTsH+bD5h7Tzb6dKDrki8zeKopCclqHKH0VRsp1z3bp1eHp6otVqAYiJiUGj0TBu3LjMfV577TX69u2bq+/Bzs6OUqVKZf4pVqxYro4jhBDCOv1+5Xcifovg4J2DONs5k65Vb/oN+U/tv3marqX6xE2qnPv0+21xccjeP47Q0FASExM5evQo9erVY+fOnRQrVowdO3Zk7rNz507Gjh3LtWvXqF69+nOPFxkZSWRkZObr8+fP4+vri5OTEyEhIcycOZOyZcvm6nMJIYSwHklpScw8MJPfLv4GQA3vGsxqNoty7uVUyySNjAXy8PCgVq1a7Nixg3r16rFjxw5GjhzJlClTSEpKIj4+ngsXLtC8eXN8fX2JiYl57vG8vLwy/96wYUMWL15M1apVuX37NlOmTCE0NJSTJ0/i5uaWz59MCCGEuYq5F8O4qHHcTLqJjcaGV2u8yuBag7G3sVc1lzQyf+Nsb8vp99uqdu6caN68OTt27GD06NFERUUxc+ZMVqxYQXR0NI8ePcLX15fKlSsDUKlSpWwft3379pl/Dw4OpmHDhpQrV44VK1bw6quv5iijEEIIy5ehy+CL41/w5fEv0Sk6fIv4MjN0JnVK1lE7GiCNjAGNRpPt2ztqCwsL49tvv+XYsWPY29sTEBBAWFgYO3bsIC4ujubNmwPk6tbS33l6elKlShUuXLhg8s8ghBDCvF1PuM64qHEcf3AcgE4VOhHZMBI3B/O5Qm8Zv7WFkT+fk5k7d25m0xIWFsasWbOIi4tj9OjRADm+tfRPSUlJXLx4kX79+pksuxBCCPOmKAq/XviVWQdmkZyRjJu9G+81eo8OFTqoHc2INDIWqmjRogQHB/Pjjz/y6aefAtCsWTN69OhBenp6ZnNjZ2eXo1tLY8aMoXPnzpQrV45bt24xadIkbG1t6dWrV758DiGEEOYlPjWeKXun8MfVPwCoW7IuM5rOwNfVV+VkWZNGxoI1b96cmJgYwsLCAP2VlerVq3P37l2qVq2aq2PeuHGDXr168fDhQ4oXL07Tpk3Zt28fxYsXN2FyIYQQ5mj/7f1ERkdyL/kedho7htQewqDAQdja5Ow5zoKkUXIygYkFSkhIwMPDg/j4eNzd3Q22paSkcPnyZcqXL4+Tk5NKCS2ffI9CCGHZ0rRpzD8ynyWnlwDg7+7PrNBZBBYLVC3T835//51ckRFCCCEKsYuPLzJ211hi42IB6F6lO+/UewcXexeVk2WPNDJCCCFEIaQoCsvOLmPO4TmkalMp6liUyY0n07JsS7Wj5Yg0MkIIIUQh8+DpAybunkjUzSgAmvg2YWqTqRR3sbznIaWREUIIIQqRndd3MnHPRB6lPMLBxoFR9UbRK6AXNhrLXH5RGhkhhBCiEHia8ZT/O/R//BT7EwBVilZhVugsKhetrHKyvJFGRgghhLBypx+eZlzUOC7HXwagX/V+DK8zHEdbR5WT5Z00MkIIIYSV0uq0LDm9hE+OfkKGLoPizsWZ1nQajX0bqx3NZKSREUIIIazQnSd3iIyO5OCdgwC0KtuKySGT8XTyVDeYiUkjI4QQQliZ3y//zvv73icxLRFnO2fGNRjHi5VeRKPRqB3N5CzzEWVRIGbNmoVGo2HEiBFqRxFCCJENSWlJvBv9Lu/seofEtESCigXxc+efiagcYZVNDMgVGfEMBw8e5IsvviA4OFjtKEIIIbIh5l4M46LGcTPpJjYaG14Leo03a76JvY292tHylVyRsUDr1q3D09MTrVYLQExMDBqNhnHjxmXu89prr9G3b99cHT8pKYk+ffrw1VdfUbRoUZNkFkIIkT8ydBl8FvMZA34fwM2km/gW8WVR20UMqz3M6psYkEbGkKJA2hN1/uRg7c7Q0FASExM5evQoADt37qRYsWLs2LEjc5+dO3cSFhbGtWvXcHV1fe6fGTNmGBx/yJAhdOzYkfDwcJN8rUIIIfLHtYRrDNg4gM+PfY5O0dGpQid+eeEX6pSso3a0AiO3lv4uPRlm+Kpz7shb4FAkW7t6eHhQq1YtduzYQb169dixYwcjR45kypQpJCUlER8fz4ULF2jevDm+vr7ExMQ893heXl6Zf1++fDlHjhzh4MGDefk0Qgjx77RaiIqC27fBxwdCQ8HWVu1UFkFRFH698CszD8zkacZT3OzdmBAygfbl26sdrcCpekVm8uTJaDQagz8BAQGZ21NSUhgyZAje3t64urrSrVs37t69q2Ji89G8eXN27NiBoihERUURERFBtWrViI6OZufOnfj6+lK5cmXs7OyoVKnSc//82chcv36d4cOH8+OPP+Lk5KTyJxRCWLVVq8DfH1q0gN699f/r76+vi+eKT41n9M7RTNwzkacZT6lbsi4rX1hZKJsYMIMrMoGBgWzZsiXztZ3dX5FGjhzJ+vXr+fnnn/Hw8GDo0KFERESwe/fu/Alj76K/MqKGHC6XHhYWxrfffsuxY8ewt7cnICCAsLAwduzYQVxcHM2bNwfg2rVrVK9e/bnHioyMJDIyksOHD3Pv3j3q1PnrkqRWq2XXrl18+umnpKamYiv/tSSEyKtVq6B7d+Nb6jdv6uu//AIREepkM3P7bu/j3eh3uZd8DzuNHUNqD2FQ4CBsbQrvz2bVGxk7OztKlSplVI+Pj+ebb75h6dKltGypX1J80aJFVKtWjX379tGoUSPTh9Fosn17R21/Piczd+7czKYlLCyMWbNmERcXx+jRowFydGupVatWnDhxwmDboEGDCAgIYOzYsdLECCHyTquF4cOzfi5QUfQ/h0eMgC5d5DbT36Rp05h/ZD5LTi8BwN/dn1nNZhHoHahyMvWp3sicP38eX19fnJycCAkJYebMmZQtW5bDhw+Tnp5u8MBpQEAAZcuWZe/evc9sZFJTU0lNTc18nZCQkO+fQQ1FixYlODiYH3/8kU8//RSAZs2a0aNHD9LT0zObmz9vLWWHm5sbNWrUMKgVKVIEb29vo7oQQuRKVBTcuPHs7YoC16/r9wsLK7BY5uxC3AXGRY0jNi4WgJeqvMSYemNwyeGVfGul6jMyDRs2ZPHixfz+++8sXLiQy5cvZ15puHPnDg4ODnh6ehq8p2TJkty5c+eZx5w5cyYeHh6Zf8qUKZPPn0I9zZs3R6vVEva//7N7eXlRvXp1SpUqRdWqVdUNJ4QQWbl927T7WTFFUVh6Zik91/ckNi6Woo5Fmd9iPhNDJkoT8zeqXpFp3/6vB5OCg4Np2LAh5cqVY8WKFTg7O+fqmOPHj2fUqFGZrxMSEqy2mZk3bx7z5s0zqP3bbaSc+vuQbiGEyDMfH9PuZ6UePH3AhN0TiL4ZDUCT0k2Y1mQaxZyLqZzM/Kh+a+nvPD09qVKlChcuXKB169akpaXx+PFjg6syd+/ezfKZmj85Ojri6Gj5y5ILIYRVCg0FPz/9g71ZPSej0ei3h4YWfDYzsfP6TibumcijlEc42Dgwqt4oegf0ttolBvLKrCbES0pK4uLFi/j4+FC3bl3s7e3ZunVr5vbY2FiuXbtGSEiIiimFEELkmq0tfPyx/u///MX85+t58wrlg75PM54yde9Uhm4byqOUR1QpWoXlnZbTp1ofaWKeQ9VGZsyYMezcuZMrV66wZ88eXnzxRWxtbenVqxceHh68+uqrjBo1iu3bt3P48GEGDRpESEhI/oxYEkIIUTAiIvRDrEuXNqz7+RXaodenH56mx9oerDi3AoD+1fuztONSKhetrHIy86fqraUbN27Qq1cvHj58SPHixWnatCn79u2jePHiAMydOxcbGxu6detGamoqbdu2ZcGCBWpGFkIIYQoREfoh1oV8Zl+tTsuS00v45OgnZOgyKO5cnGlNp9HYt7Ha0SyGRlFysMiPBUpISMDDw4P4+Hjc3d0NtqWkpHD58mXKly8vM9nmgXyPQgiRc3ee3CEyOpKDd/RLwoSXDWdSyCQ8nTzVDWYmnvf7++/M6mFfIYQQojD4/fLvvL/vfRLTEnG2c2Z8g/F0rdRVnoXJBWlkhBBCiAKSlJbEjP0zWHtpLQBBxYKYGTqTcu7lVE5muaSREUIIIQpAzL0YxkWN42bSTWw0Nvwn6D+8UfMN7G3s1Y5m0aSREUIIIfJRui6dL459wVcnvkKn6CjtWpoZTWdQp2Sdf3+z+FfSyAghhBD55Oyjs4zdNZZL8ZcA6FyhM+MbjsfNwU3lZNbDrCbEE+bh5s2b9O3bF29vb5ydnQkKCuLQoUNqxxJCCIuhKApBS4J4ae1LXIq/hJu9Gx80+4AZoTOkiTExuSIjDMTFxdGkSRNatGjBxo0bKV68OOfPn6do0aJqRxNCCItw/P5x+mzoY1Bb+cJKfFwL9/pR+UWuyFigdevW4enpiVarBfQLRWo0GsaNG5e5z2uvvUbfvn1zfOzZs2dTpkwZFi1aRIMGDShfvjxt2rShYsWKJssvhBDWqvf63kZNzOG+h6WJyUfSyPyNoigkpyer8icn8xKGhoaSmJjI0aNHAdi5cyfFihUzWKl6586dhIWFce3aNVxdXZ/7Z8aMGZnv++2336hXrx4vvfQSJUqUoHbt2nz11Vcm+46FEMIaxaXEEbQkiBMPTmTWXqryEicGnMDB1kHFZNZPbi39zdOMpzRc2lCVc+/vvR8Xe5ds7evh4UGtWrXYsWMH9erVY8eOHYwcOZIpU6aQlJREfHw8Fy5coHnz5vj6+hITE/Pc43l5eWX+/dKlSyxcuJBRo0YRGRnJwYMHefvtt3FwcGDAgAF5+YhCCGGVFsYsZMExw+VzNnXbhK+rr0qJChdpZCxU8+bN2bFjB6NHjyYqKoqZM2eyYsUKoqOjefToEb6+vlSurF9srFKlStk+rk6no169eplXaWrXrs3Jkyf5/PPPpZERQoi/0eq01Pq+lkHN28mbHS/vUCVPYSWNzN842zmzv/d+1c6dE2FhYXz77bccO3YMe3t7AgICCAsLY8eOHcTFxdG8eXMArl27RvXq1Z97rMjISCIjIwHw8fEx2r9atWqsXLkyR/mEEMKa7bm5hze2vGFQ+zz8c5qUbqJSosJLGpm/0Wg02b69o7Y/n5OZO3duZtMSFhbGrFmziIuLY/To0QA5vrXUpEkTYmNjDbafO3eOcuVk+mwhhABouaIl95/eN6jF9IvB1qZwrdxtLqSRsVBFixYlODiYH3/8kU8//RSAZs2a0aNHD9LT0zObGzs7uxzdWho5ciSNGzdmxowZ9OjRgwMHDvDll1/y5Zdf5svnEEIIS3E76TZtVrYxqA2uOZi3ar2lUiIB0shYtObNmxMTE0NYWBigv7JSvXp17t69S9WqVXN1zPr167N69WrGjx/P+++/T/ny5Zk3bx59+vT59zcLIYSVmrp3KivOrTCo7Xx5J15OXs94hygoGiUn434tUEJCAh4eHsTHx+Pu7m6wLSUlhcuXL1O+fHmcnJxUSmj55HsUQlirNG0adX+oa1AL9A5keaflKiUqPJ73+/vv5IqMEEIIkYWNlzfy313/Naj90OEHahavqVIikRVpZIQQQoh/CFoSZFQ73v84Go1GhTTieWRmXyGEEOJ/Lj6+aNTERDaM5MSAE9LEmCm5IiOEEEIAw7cNZ9v1bQa1fb33UcS+iEqJRHZIIwM5WudIGJPvTwhhyZ6kP6HR0kYGtbAyYXzS8hOVEomcKNSNjL29PQDJyck4O+dsZl3xl+TkZOCv71MIISzFsrPLmLF/hkFt9QurqVQ0+/NvCXUV6kbG1tYWT09P7t27B4CLi4vcA80BRVFITk7m3r17eHp6Ymsrs1oKISyDoigEfxdsVD8x4EQWewtzVqgbGYBSpUoBZDYzIuc8PT0zv0chhDB3x+8fp88Gw0k+Z4fOpkOFDiolEnlR6BsZjUaDj48PJUqUID09Xe04Fsfe3l6uxAghLEavdb04+fCkQe1w38M42DqolMiypaRr+fnwDfo0KIuNjTp3NAp9I/MnW1tb+YUshBBW6lHKI5r/1Nyg9lKVl5gYMlGlRJZNURQ2nbrLtPWnuRH3FHsbDT0blFUlizQyQgghrNqCmAUsPLbQoLa522Z8XH1USmTZLtxLYsraU0SdfwCAj4cTXkXUu6IljYwQQgirpNVpqfV9LYNaMedibO+xXZ1AFi4xJZ35W8+zaPcVMnQKDrY2/KdZeYa0qISLg3rthDQyQgghrM7um7t5c8ubBrXPwz+nSekmKiWyXIqisProTWZuPMv9xFQAWgWUYEKn6vgXU3+yQGlkhBBCWJWWK1py/+l9g1pMvxhsbeQ5yJw6eTOeSb+d4vDVOAD8vV2Y1DmQFgElVE72F2lkhBBCWIVbSbdou7KtQW1wzcG8VestlRJZrrgnaXy4OZZlB66hKODiYMvQlpV4tWl5HO3MqyGURkYIIYTFm7p3KivOrTCo7Xx5J15OXiolskxancLS/Vf5aPM54p/qpyTpXNOXyA4B+HiY5wz40sgIIYSwWGnaNOr+UNegFugdyPJOy1VKZLkOXnnExDWnOHM7AYCAUm5MfiGQRhW8VU72fNLICCGEsEgbL2/kv7v+a1D7scOPBBc3XnpAPNvdhBRmbjjDrzG3AHB3smN0m6r0aVgWO1sbldP9O2lkhBBCWJygJUFGteP9j8t6eTmQlqHj292X+WTreZ6kadFooGf9MoxpUxVvV0e142WbNDJCCCEsxsXHF+m6pqtBLbJhJL0CeqkTyELtiL3H+2tPc+nBEwBql/VkyguBBPt5qhssF6SREUIIYRHe3vY2268bTma3r/c+itirP5eJpbj2MJn3151my5m7ABRzdWBsuwC61fFTba2kvJJGRgghhFl7kv6ERksbGdRalmnJxy0/VimR5XmapmXBjgt8sesSaRk67Gw0DGjsz/Dwyrg72asdL0+kkRFCCGG2lp1dxoz9Mwxqv3b5lYqeFVVKZFkURWHDiTtMX3+aW/EpADSp5M3kzoFULummcjrTkEZGCCGE2VEUheDvjEcfnRhwQoU0lunc3UQm/3aKPRcfAlDa05n3OlajXY1SVvVQtDQyQgghzMqx+8fou6GvQe3DZh/Srnw7lRJZloSUdOb9cZ4le6+g1Sk42NnwZvOKDG5eEWcH85qV1xSkkRFCCGE2eq7ryamHpwxqh/sexsHWQaVElkOnU/jlyA0++P0sD5LSAGhTvSQTOlWnjJeL6U+o1UJUFNy+DT4+EBoKtgXfKEkjI4QQQnWPUh7R/KfmBrWXq77Me43eUymRZTl2/TGTfjtFzPXHAFQoXoTJnQNpVqV4/pxw1SoYPhxu3Pir5ucHH38MERH5c85nkEZGCCGEqj6L+YzPj31uUNvcbTM+rj4qJbIcD5NS+eD3WFYcvo6iQBEHW4aHV2Zg4/I42OXTrLyrVkH37qAohvWbN/X1X34p0GZGoyj/TGJdEhIS8PDwID4+Hnd3d7XjCCGE+B+doqPmdzUNaiWcS7C1x1aVElmODK2O7/ddZc4f50hMyQDgxdqlGdc+gJLuTvl3Yq0W/P0Nr8T8nUajvzJz+XKebzNl9/e3XJERQghR4B48fUD4z+EGtS/Cv6Bx6cYqJbIcey8+ZPJvp4i9mwhAdR933u8SSD3/AljpOyrq2U0M6K/SXL+u3y8sLP/zII2MEEKIArbj+g4m7p6IVtFm1mL6xWBrY30jakzpdvxTpq8/w7rjtwHwdLFnTJuq9GpQFtuCmpX39m3T7mcC0sgIIYQoEMnpyXx06CN+PvczAFWKVmF26GwqFa2kcjLzlpqh5euoy3y67QJP07XYaKB3w7KMbl2VokUKeDSXTzafW8rufiYgjYwQQoh8d+rhKcbtGseVhCsADKg+gLfrvC3Dqv/F1jN3eX/daa4+TAagXrmiTH4hkBqlPdQJFBqqfwbm5k3jh33hr2dkQkMLLJI0MkIIIfKNVqdl0alFfHb0MzKUDEo4l2Ba02mE+IaoHc2sXX7whPfXnmJ77H0ASrg5EtmhGl1q+ao7K6+trX6Idffu+qbl783Mn7nmzSvQ+WSkkRFCCJEvbifdJjI6kkN3DwHQulxrJjaaiKeTp7rBzNiT1Aw+236Br6Muk6bVYW+r4ZWm5RnWsjKujmbyKzsiQj/EOqt5ZObNk3lkhBBCWL6Nlzcyde9UEtMTcbZzZnyD8XSt1NWq1vgxJUVRWHv8NjPWn+FOgn5xx2ZVijOpc3UqFndVOV0WIiKgSxeZ2VcIIYR1SUxLZMb+Gay7tA6A4GLBzAydSVn3sionM19nbicw+bdT7L/8CIAyXs5M6Fid1tVLmnfjZ2tbYEOsn0caGSGEECZx5O4RxkeN59aTW9hobHg9+HVeD34dext7taOZpfjkdOb8Ecv3+66iU8DJ3oa3wirxerMKONnLUPTskkZGCCFEnqTr0vn82Od8feJrdIqO0q6lmRk6k9olaqsdzSxpdQorDl3nw02xPHqiX9yxQ1ApIjtUw69oPizuaOXyaSGGnJs1axYajYYRI0Zk1lJSUhgyZAje3t64urrSrVs37t69q15IIYQQBq4lXGPAxgF8efxLdIqOFyq+wC+df5Em5hmOXIuj62e7Gb/qBI+epFG5hCs/vtaQBX3qShOTS2ZxRebgwYN88cUXBAcHG9RHjhzJ+vXr+fnnn/Hw8GDo0KFERESwe/dulZIKIYQA/cOpqy+sZtaBWTzNeIqbgxsTG02kXfl2akczS/cSU5i9MZaVR/SjfNwc7RgeXpkBjf2xtzWbawoWSfVGJikpiT59+vDVV18xbdq0zHp8fDzffPMNS5cupWXLlgAsWrSIatWqsW/fPho1aqRWZCGEKNQepzxmyt4pbLm2BYB6JesxM3QmpYqUUjmZ+UnX6liy5wofbzlPYqp+ccfudf0Y2y6A4m6OKqezDqo3MkOGDKFjx46Eh4cbNDKHDx8mPT2d8PC/FhULCAigbNmy7N2795mNTGpqKqmpqZmvExIS8i+8EEIUMntv7eW96Pe49/QedjZ2DK01lIGBA2WdpCx0+Ww3x64/znwd7OfB5BcCqVO2qHqhrJCqjczy5cs5cuQIBw8eNNp2584dHBwc8PT0NKiXLFmSO3fuPPOYM2fOZMqUKaaOKoQQhVqqNpWPj3zM96e/B8Df3Z/ZzWZT3bu6ysnMz+qjNxj50zGD2qyIIHrUK4NNQS3uWIio1shcv36d4cOH88cff+Dk5GSy444fP55Ro0Zlvk5ISKBMmTImO74QQhQ2F+IuMDZqLOfizgHQo0oPxtQfg7Ods8rJzMu9hBQazNhqVF83rKl6ayMVAqo1MocPH+bevXvUqVMns6bVatm1axeffvopmzZtIi0tjcePHxtclbl79y6lSj37PqyjoyOOjnLfUQgh8kpRFJaeXcqcQ3NI06Xh5eTFlMZTCCsTpnY0s6IoCrXe/4P4p+kG9cFhFRnbLkClVIWHao1Mq1atOHHihEFt0KBBBAQEMHbsWMqUKYO9vT1bt26lW7duAMTGxnLt2jVCQmSxMSGEyE8Pnj7gvd3vsfumfpRo09JNmdpkKsWci6mczLx8sfMiMzeeNapfmtFBbiMVENUaGTc3N2rUqGFQK1KkCN7e3pn1V199lVGjRuHl5YW7uzvDhg0jJCRERiwJIUQ+2n5tO5P2TCIuNQ5HW0dG1R1Fr4Be5j1dfgG7eD+JVv+306i+650WlPWW+WAKkuqjlp5n7ty52NjY0K1bN1JTU2nbti0LFixQO5YQQlil5PRkPjr0ET+f+xmAqkWrMit0FpWKVlI5mfnQ6hQqRm4wqk95IZABjf0LPpBAoyiKonaI/JSQkICHhwfx8fG4u7urHUcIIczSqYenGLdrHFcSrgAwMHAgw2oPw8HWQd1gZmTyb6dYvOeKQa20pzO7x7VUJ5CVy+7vb7O+IiOEECJ/aXVaFp1axGdHPyNDyaCEcwmmNZ1GiK88i/inI9fiiFiwx6h++L1wvF1lcInapJERQohC6nbSbcZHj+fw3cMAtC7XmomNJuLp5KluMDORkq4lYMLvRvXPetehY7CPColEVqSREUKIQmjDpQ1M2zeNxPREnO2cGd9gPF0rdZUHev/ntSUH2XLmnkEtpII3y16XwSbmRhoZIYQoRBLTEpmxfwbrLq0DILhYMDNDZ1LWvazKyczD1jN3eXXJIaP66ffb4uIgvzLNkfxTEUKIQuLI3SOMjxrPrSe3sNHY8Hrw67we/Dr2NvZqR1NdfHI6Nd/fbFRf/nojGlXwViGRyC5pZIQQwsql69L5/NjnfH3ia3SKjtKupZkVOotaJWqpHc0stJm7k3N3kwxqPer58UH3miolEjkhjYwQQlixqwlXGR81nhMP9DOpv1DxBcY3GI+rg6vKydT308FrjF15wqh+fnp77G1tVEgkckMaGSGEsEKKorD6wmpmHZjF04ynuDm4MbHRRNqVb6d2NNXdevyUxrO2GdU3jWhG1VJuKiQSeSGNjBBCWJnHKY+ZvHcyW6/pV2KuX6o+M5rOoFSRZy+4WxgoikLldzeSoTOcB3ZkeBWGh1dWKZXIK2lkhBDCiuy5tYcJ0RO49/QedjZ2DKs9jAHVB2BrY6t2NFV9vOU8c7ecM6jZ2Wg4P729DDm3cNLICCGEFUjVpvLxkY/5/vT3APi7+zO72Wyqe1dXOZm6Yu8k0nbeLqP67nEtKe3prEIiYWrSyAghhIU7H3eesVFjOR93HoCXq77M6HqjcbYrvL+oM7Q6Kr270ag+KyKIng1kzhxrIo2MEEJYKEVRWHp2KXMOzSFNl4aXkxdTGk8hrEyY2tFUNW7lcZYfvG5Qq1zClT9GNVcpkchP0sgIIYQFup98nwm7J7D71m4AmpZuytQmUynmXEzlZOo5cPkRPb7Ya1SPmdgaTxdZxdtaSSMjhBAWZtu1bUzeM5m41DgcbR0ZXW80Pav2LLQPrSanZVB94iaj+tf96xFevaQKiURBkkZGCCEsRHJ6Mh8d+oifz/0MQNWiVZndbDYVPSuqnEw9fb/eT/SFBwa18Gol+HpAfZUS/Y1WC1FRcPs2+PhAaCjYFu7RY/lBGhkhhLAApx6eYtyucVxJuALAwMCBDKs9DAfbwnnL5PeTt3nzhyNG9bNT2+FkbwbNwqpVMHw43LjxV83PDz7+GCIi1MtlhaSREUIIM6bVaVl0ahGfHf2MDCWDEi4lmN50Oo18GqkdTRWPnqRRZ+ofRvWVgxtTt1xRFRJlYdUq6N4dFMOJ97h5U1//5RdpZkxIoyj//KatS0JCAh4eHsTHx+Pu7q52HCGEyLZdN3YxZOuQzNety7VmUsgkPBw9VEylnqazt3Ej7qlBbUBIOaZ0qaFSoixoteDvb3gl5u80Gv2VmcuXreM2U+IdOPg1NB0FDi4mPXR2f3/LFRkhhDBDQUuCDF6/3/h9ulbqWigf6P1u7xUmrjllVL84owO2Nmb2fURFPbuJAf1VmuvX9fuFhRVYLJN7dAl2fwwxS0GbBq4locF/VIkijYwQQpiRC3EXePG3Fw1qyzsuJ7BYoEqJ1HP9UTKhH2w3qm8d3ZyKxc109e7bt027n7m5cwKi58Kp1aDo9LUyDaFYFdUiSSMjhBBmYtjWYey4scOgtr/3flzsTXvJ3tzpdAoVIjcY1ce2C2BwmJmP0PLxMe1+5uLqXoieA+c3/1WrFK6/pVSusf6WmUqkkRFCCJUlpSURsizEoBZeNpy5LeaqlEg9H/x+lgU7LhrU3J3sODapjWXcVgsN1T8Dc/Om8cO+8NczMqGhBZ8tpxQFzv+hb2Cu/W+iQY0NVO8CTUeCT0118/2PNDJCCKGiH8/8yKwDswxqa7qsoYJnBZUSqePkzXg6fRJtVD8Q2YoS7k4qJMolW1v9EOvu3fVNy9+bmT8bsXnzzPtBX20GnP5Vfwvp7kl9zdYBavaCJsPB27yuikkjI4QQKlAUheDvgo3qJwacUCGNetIydFR5z3hxx7kv1+TF2n4qJDKBiAj9EOus5pGZN898h16np8CxpfqHeOOu6Gv2RaDeIAgZCu7meTtMGhkhhChgMfdi6Lexn0Htw+Yf0s6/nUqJ1LE99h6DFh00qNX082DN0KYqJTKhiAjo0sUyZvZNTYRD38LezyDprr7m7AUN39SPRHLxUjffv5BGRgghClCPtT048+iMQe1I3yPY29qrlKjg3U9M5YPfz/LzYcNhyicmt8HNyYq+B1tb8x5i/eQB7P8cDnwJKfH6mntpaDwM6vQHhyLq5ssmaWSEEKIAPHz6kLAVYQa1nlV78m6jd9UJpIJ0rY7v9l5l3h/nSEzNAKCUuxMf96xFwwreKqcrRB5fh72fwuElkPG/CQa9K0PTERDUA+wsa9kLaWSEECKffXr0U744/oVB7Y/uf1CqSCmVEhW8PRceMOm3U5y/lwRAUGkPJr8QaD7LChQG92Mheh6cWAE6fSOJTy0IHQUBncDGDG97ZYM0MkIIkU+0Oi21vq9lUCvpUpItL21RJ5AKbj5+yvT1p9lw4g4ARV3s+W+7AHrUK2N+s/Jaq5uHIWoOnF0P/G8UVflm+iHUFVqoOgeMKUgjI4QQ+SD6ZjSDtww2qH3R+gsa+zZWKVHBSknX8uWuSyzYcYGUdB02GujXqByjWlfFw8WKnoMxV4oCl3boh1Bf3vlXPaCTvoHxq6daNFOTRkYIIUys+U/NeZTyyKAW0y8GWwu9dJ8TiqLwx+m7TF1/muuP9M9fNCjvxZQXAqnmIwv35judDs6u0zcwt47oaxpbCO4BTUZAiQBV4+UHaWSEEMJEbibdpN1KwyHUb9V6i8E1Bz/jHdbl4v0kpqw9za5z9wH9g7yRHavROdjHMmbltWTadDi+AnbPgwfn9DU7J/3oo8bDwLOsqvHykzQyQghhApP3TGbl+ZUGtV0v76Kok/U/zJqUmsEn287zbfRl0rUK9rYaXgutwNAWlSjiKL9m8lVaMhz5DvZ8Agn/G87u6AENXoOGg8G1uLr5CoD8GyaEEHmQqk2l3g+GzxsEFw/mxw4/qpSo4CiKwpqYW8zYcIZ7iakAtKhanImdAylfzDLmILFYT+PgwNewfyEkP9TXipSAkLeg3qvgVHhu40kjI4SwTFqt6rOmrr+0nnFR4wxqSzssJah4UIHmUMOpW/FM/u0UB6/EAVDO24WJnarTqlpJlZNZucQ7+jlgDi2CNP1QdjzL6ddAqtUH7C1oXSoTkUZGCGF5Vq3Keh2bjz8usHVsgpYYNyvH+x+3+mdBHien8dHmWJbuv4ZOAWd7W4a2rMSrTcvjZG/9DzOr5tEl/RpIMUtBm6avlQjUj0AKfBFsC++v88L7yYUQlmnVKv3Kwn9fVRjg5k19/Zdf8rWZOR93nojfDI//XsP3eDng5Xw7pznQ6hSWHbjGR5tjeZycDkCnYB8iO1TD19NZ5XRW7M4J/QikU6tB0elrZRpC01FQpa3FzwFjChpF+edPA+uSkJCAh4cH8fHxuLsXnnuGQlglrRb8/Q2vxPydRqO/MnP5cr7cZhq6dSg7b+w0qO3vvR8XexeTn8ucHLryiEm/neLUrQQAqpZ0Y9IL1WlcsZjKyazY1b0QPQfOb/6rVqm1fhbecoVjLqLs/v6WKzJCCMsRFfXsJgb0V2muX9fvZ8LF+pLSkghZFmJQa12uNXPC5pjsHOboXkIKszaeZdXRmwC4OdkxqnUV+jUqh52tjcrprJCi6BuXqDlwfZ++prGB6l31t5B8glWNZ66kkRFCWI7bt027Xzb8eOZHZh2YZVBb03UNFTwqmOwc5iYtQ8fiPZeZv/UCSakZaDTQo24Z3mlXlWKujmrHsz7aDDj9q/4W0t2T+pqtA9TspX+I17uiqvHMnTQyQgjL4eNj2v2eQ1EUgr8z/i/gEwNO5PnY5mzXuftMXnuKS/efAFCzjCfvvxBIzTKe6gazRukpcGyp/iHeuCv6moMr1BsEjYaAe97/PS4MpJERQliO0FD9MzA3bxo/7At/PSMTGpqn08Tci6Hfxn4GtY+af0Rb/7Z5Oq45u/4omanrTrP59F0Airk68N92AXSv44eNLO5oWikJcOhb2LcAkvTfN85e0Ggw1H8NXLzUzWdhpJERQlgOW1v9EOvu3fVNy9+bmT9Hb8ybl6cHfXus7cGZR2cMakf6HsHe1joXOnyapmXhzot8sfMiqRk6bG00DAjxZ3h4ZTycrfMzq+bJA9i3EA5+BSnx+pp7af0SAnX6g4NMIpgb0sgIISxLRIR+iHVW88jMm5frodcPnz4kbEWYQa1n1Z682+jd3Gc1Y4qisOnUHaauO8PNx/rFHUMqeDOlSyBVSrqpnM7KPL6uX0LgyHeQof+u8a4MTUdAUA+wc1A1nqWTRkYIYXkiIqBLF5PN7PvJ0U/48viXBrU/uv9BqSKlTJHW7Fy4l8jk304TfeEBAL4eTrzbsTodgkpZ/YR+BWrXR7BtqmHNp5Z+CHVAJygEq6EXBGlkhBCWydY2z0OsM3QZ1P6+tkGtVJFS/NH9jzwd11wlpqTz8ZbzLN5zhQydgoOdDW80q8DgsIq4OMivA5P59S2I+cdaW+Wb6SexqxAmk9iZmPybK4QolHbd2MWQrUMMal+2/pIQ35BnvMNy6XQKq47eZNbGszxI0i/uGF6tJBM7Vaest3VP5ldgFAW+agG3jhpva/gmtJ9d8JkKCWlkhBCFTujyUB6nPjaoxfSLwdacLvWbaFHMEzfimfTbSY5cewxA+WJFmNS5OmFVS5g4cCGVkQazy0F6svG2Fu9C8/8WfKZCRhoZIUShcTPpJu1WtjOoDak1hDdrvqlSomcwwaKYj56k8eGmsyw/eB1FARcHW4a1rMwrTf1xtDOjhs1SPX2sb2CyEvEVBPco0DiFmTQyQohCYfKeyaw8v9KgtuvlXRR1KqpSomfI46KYGVodSw9c46NNsSSkZADQpZYv49tXo5SHU34mLxweX4N5xiufAzBgHZTP2xxGIudk0UghhFVL1aZS74d6BrWaxWvyQ4cfVEr0HHlcFHP/pYdM+u0UZ+8kAlDNx50pLwTSoLxMsJZnt47Cl2FZbxtyAIpXLdA4hYEsGimEKPTWXVrH+KjxBrVlHZdRo1gNlRL9i1wuinknPoUZG87w27FbAHg42zOmTRV6NyyHrczKmzexv8Oyl7PeNvocuJUs2DzCiDQyQgirFLTE+PL/8f7HzXuelBwuipmaoeWb6Mt8uu0CyWlaNBro1aAsY9pUxauITLKWJwe+gg1jst4WeUtm4TUj0sgIIazK+bjzRPxm+AzJhEYT6FHVAh6+zMGimNvP3uP9dae5/EC/uGPdckWZ8kIgNUp75GPAQmDTu7D3U+O6RxkYfkwmsTND0sgIIazGkK1D2HVjl0Ftf+/9uNhbyFwp2VgU82pALd6/7MLW3w8CUNzNkfHtA3ixdmnzvtpk7n7oDheymAixUmvo+0vB5xHZZqPmyRcuXEhwcDDu7u64u7sTEhLCxo0bM7enpKQwZMgQvL29cXV1pVu3bty9e1fFxEIIc5SYlkjQkiCDJqZ1udacGHDCcpoY+GtRTDCa/TXZwYkPQ/vRusv7bI29j52NhtebVWDb6OZE1PGTJiY3dFqYWwMmexg3MY3egsnx0sRYAFVHLa1duxZbW1sqV66MoigsWbKEDz/8kKNHjxIYGMjgwYNZv349ixcvxsPDg6FDh2JjY8Pu3buzfQ4ZtSSEdfvh9A/MPmg4a+qarmuo4FFBpUQm8Ld5ZBRgfUBTpoe/zu0i+tFHoZWLMalzdSqVkMUdcyUtGWY84zZe+w+h4esFm0dkKbu/v81u+LWXlxcffvgh3bt3p3jx4ixdupTu3bsDcPbsWapVq8bevXtp1KhRto4njYwQ1klRFIK/CzaqnxhwQoU0+UCrZfEP25h8Ji2z5FfUmfc6VqdtYEm5ApMbSffgo8pZb+u1HKq2L9g84rnydfj1/fv3KV68eJbbTpw4QVDQMyYLeg6tVsvPP//MkydPCAkJ4fDhw6SnpxMeHp65T0BAAGXLln1uI5Oamkpqamrm64SEhBxnEUKYt8cpjxm6bahB7aPmH9HWv61KiUzr9K0EOsyPMqiNCK/Mm80r4mQvD5vm2P1z8Fn9rLf9ZzuUrlOweYRJ5aqRCQoK4ptvvqFjx44G9Y8++ogJEybw9OnTbB/rxIkThISEkJKSgqurK6tXr6Z69erExMTg4OCAp6enwf4lS5bkzp07zzzezJkzmTJlSo4+jxDCcuy5tYf3ot/j/tP7mbUjfY9gb2uvYirTSMvQUeW9jUb17WPCKF9Mhvvm2JVoWNwx623Dj0PRZywxICxKrhqZUaNG0a1bNwYNGsScOXN49OgR/fv358SJEyxdujRHx6patSoxMTHEx8fzyy+/MGDAAHbu3JmbWACMHz+eUaNGZb5OSEigTJkyuT6eEMI8pGpT+fjIx3x/+nsAKnhUYFboLKp5V1M5mWmM+imGVUdvGtQCfd1Z/7ZMeZ9jx1fAqv9kvW3sVXD2LNA4In/lqpH573//S+vWrenXrx/BwcE8evSIhg0bcvz4cUqVKpWjYzk4OFCpUiUA6taty8GDB/n44495+eWXSUtL4/HjxwZXZe7evfvcczg6OuLo6JibjyWEMFPn484zNmos5+POA/By1ZcZXW80znbOKifLuz0XHtD76/1G9WOT2uDhbPlXmQrUzg9h+zTjur2LvoGxk0kCrVGu55GpVKkSNWrUYOVK/SJsL7/8co6bmKzodDpSU1OpW7cu9vb2bN26lW7dugEQGxvLtWvXCAkJyfN5hBDmT6foWHpmKXMPzyVNl4aXkxdTm0ylmV8ztaPlWVJqBjUmbTKqLxpUnxZVS6iQyIKtfhOOLTOu+9bWPwMjD0ZbtVw1Mrt376Zv3754eXlx/Phxdu/ezbBhw9iwYQOff/45RYtmbzXZ8ePH0759e8qWLUtiYiJLly5lx44dbNq0CQ8PD1599VVGjRqFl5cX7u7uDBs2jJCQkGyPWBJCWK77yfeZsHsCu2/pp1sILR3K+03ep5hzMZWT5d1Ln+/h4JU4g1r7GqVY2LeuSokskKLoF3G8HWO8LbgnRHxR0ImESnLVyLRs2ZKRI0cydepU7O3tqVatGi1atKBv374EBQVx43mLnv3NvXv36N+/P7dv38bDw4Pg4GA2bdpE69atAZg7dy42NjZ069aN1NRU2rZty4IFC3ITWQhhQbZd28bkPZOJS43D0daRMfXG8HLVly1+yPFvx27x9rKjRvXYae1wtJPRSNmSkQazykBGivG2Fu9B83cKPpNQVa7mkdm5cyfNmzc3qut0OqZPn86ECRNMEs4UZB4ZISxHcnoyHx76kF/O6WdTDfAKYHbobCp4WvDkdsD9xFTqT99iVF8zpAk1y3gWfCBL9PQxzH7GKKOIryDYAtbSEjlisRPimZo0MkJYhlMPTjEuahxXEq6gQcPAwIEMrT0UB1vLfUBTURTqT9/Kg6RUg/prTcvzXqfqKqWyMHFX4WPjiQ8BGLge/JsWbB5RYEw+Id78+fN5/fXXcXJyYv78+c/cT6PRMGzYsJylFUIUWlqdlkWnFvHZ0c/IUDIo4VKCGU1n0NCnodrR8uTrqEtMW3/GqH5pRgdsbCz7FlmBuHkEvmqR9bYhB6B41YLNI8xWtq/IlC9fnkOHDuHt7U358uWffUCNhkuXLpksYF7JFRkhzNetpFtERkdy+O5hANqUa8PEkIl4OHqonCz3rjx4QthHO4zqO8aE4S+T2v272I2wrGfW28acB1cZ0VVYmPyKzOXLl7P8uxBC5MaGSxuYtm8aiemJuNi5ENkwkhcqvmCxD/TqdAoVIjcY1d/rWI3XQi37GZ8CceAr2DAm622Rt8BBmkCRtRyPWkpPTycgIIB169ZRrZp1zKgphCg4iWmJTN8/nfWX1gMQXDyYWU1nUcbdcmfgnr7+NF9FGf4HXgk3R/ZHtrLYxqzAbHoX9n5qXPcoC8NjwEZGc4nny3EjY29vT0pKFsPehBDiXxy+e5jIqEhuPbmFrcaWN4Lf4D/B/8HOJtdzc6rq2PXHdPlst1H94LvhFHeTGcaf6+oeWNYLUh4b1iu3hT4rVIkkLFOufnoMGTKE2bNn8/XXX2NnZ5k/gIQQBSddl87CmIV8c/IbdIoOP1c/ZobOpFaJWmpHy5XUDC1V3/vdqD6/V21eqOmrQiILoShwfjNEzYHr+wy3hQyFttPVySUsWq66kIMHD7J161Y2b95MUFAQRYoY3rtctWqVScIJISzf1YSrjNs1jpMPTwLQpWIXxjccTxF7y3zm4a0fD7PhxB2DWn3/ovz8ZmOVElkAbQac/hWi58Jd/b8H2DpArd7Q+G3wrqhqPGHZctXIeHp6Zq5/JIQQWVEUhVXnVzH74GyeZjzF3cGdiSETaevfVu1oubIj9h4DFx00qp+c0hZXR7kynaX0FIj5EfbMh7gr+pqDK9QbBI2GgLuPqvGEdcjR//t0Oh0ffvgh586dIy0tjZYtWzJ58mScnS1/BVohhOnEpcQxec9ktl3fBkCDUg2Y3nQ6pYrkfWHZgpaQkk7w5M1G9aWvNaRxJctf9ylfpCTAoW9h3wJIuquvOXtBo8HQ4D/gnL31+ITIjhw1MtOnT2fy5MmEh4fj7OzM/PnzuX//Pt9++21+5RNCWJg9N/fw3u73uP/0PnY2drxd+20GBA7ARmOjdrQc6zg/ilO3EgxqEbVLM+flWuoEMndPHsC+hXDwK0iJ19fc/aDxMKjTT4ZQi3yRoyUKKleuzJgxY3jjjTcA2LJlCx07duTp06fY2JjnDymZEE+IgpGqTWXe4Xn8cOYHACp4VGBW6CyqeVveNA2/HL7BmJ+PGdXPTWuPg515/qxT1eNrsOdTOPIdZDzV14pVgSYjIOglsLPcZSaEekw+IR7AtWvX6NChQ+br8PBwNBoNt27dws/PL/dphRAW7VzcOcZFjeN83HkAelbtyah6o3C2s6zbzncTUmg4Y6tRff3bTQn0tdzZhvPNvbOwex6c+Bl0Gfqab21oOgoCOoGZ/geusC45amQyMjJwcnIyqNnb25Oenm7SUEIIy6BTdCw9s5S5h+eSpkvDy8mLqU2m0syvmdrRckRRFGpM2sSTNK1BfWiLSoxpK2v6GLlxGKLnwNl1f9XKN4emI6FCGMgkgKIA5aiRURSFgQMH4uj410RPKSkpvPnmmwZDsGX4tRDW737yfSbsnsDuW/oJ4Zr5NWNK4ykUc7asB2AX7LjAB7/HGtVlccd/UBS4tEPfwFze9Vc9oJP+CoxfXdWiicItR43MgAEDjGp9+/Y1WRghhGXYdm0bk/ZM4nHqYxxtHXmn3jv0qNrDoqbjv3AvkfA5u4zqUf9tQRkvFxUSmSmdDs6u1c8Bc+uovmZjB0E9oOkIWYVaqC5HjcyiRYvyK4cQwgIkpyfzwcEPWHl+JQDVvKoxK3QWFTwtZ1HEDK2OSu9uNKpP61qDvo3KqZDITGWkwYkVED0PHuqffcLOGer0h8ZDwbOsqvGE+JPM4iSEyJZTD04xLmocVxKuoEHDwBoDGVZrGPa29mpHy7b3fj3BD/uuGdT8vV3Y8U4LlRKZobQn+tFHez6FhBv6mpMHNHgdGr4JRSzr1qGwftLICCGeS6vT8u3Jb1kQs4AMJYMSLiWY2XQmDXwaqB0t2w5ffUS3hXuN6kcntKZoERkaDMDTODjwlX4emKeP9DXXkhAyBOoOAieZvkKYJ2lkhBDPdCvpFuOjxnPk3hEA2pRrw8SQiXg4WsZQ5JR0LQETjBd3/LxvXdrVsLxZhvNFwm3Y9xkcWgRpSfpaUX9oMhxq9gZ7p+e+XQi1SSMjhMjS+kvrmb5vOonpibjYuRDZMJIXKr5gMQ/0Dlx0gB2x9w1qoZWL8f2rDVVKZGYeXoTdH8OxZaBN09dK1tAPoa7eFWzl14OwDPJvqhDCQGJaItP2TWPD5Q0A1Cxek5lNZ1LGvYzKybJn86k7vP79YaP6mffb4exgq0IiM3P7uH4E0ulfQdHpa2UaQegoqNxG5oARFkcaGSFEpsN3DxMZFcmtJ7ew1djyRvAb/Cf4P9jZmP+PisfJadR6/w+j+s9vhlDf30uFRGbm6h6ImgMX/vYdVW6jnwOmXIh6uYTII/P/6SSEyHfpunQWxizkm5PfoFN0+Ln6MTN0JrVK1FI7Wra0/L8dXLr/xKDWu2FZZrwYpFIiM6EocG6T/grM9X36msYGAl/U30IqVci/H2EVpJERopC7mnCVcbvGcfLhSQC6VOzC+IbjKWJv/isVL91/jcjVJ4zqF6a3x862EK/zo82AU6v1Dcy9U/qarQPU6g2N3wbviurmE8KEpJERopBSFIWV51fywcEPeJrxFHcHdyaFTKKNfxu1o/2rp2la/m9zLF9HXzao/zGyGZVLuqmUygykp0DMj7BnPsRd0dccXKHeK/ph1G4yUktYH2lkhCiE4lLimLxnMtuubwOgYamGTGs6jVJFzPsXnaIobDhxh+nrT3MrPiWzPqZNFYa2rKxiMpWlJMChb2HfAki6q6+5eEPDwdDgNXAuqm4+IfKRNDJCFDJ7bu7hvd3vcf/pfexs7Bheezj9A/tjozHvWzHn7iYyac0p9l56CEBpT2cmdKpG28BSFjMk3OSS7sP+hXDga0iN19fc/aDxMKjTDxzM//agEHkljYwQhUSqNpV5h+fxw5kfAKjgUYFZobOo5l1N5WTPF/80nXlbzvHd3qtodQqOdja82bwibzavWHiHUz++Bns+gSPfQ8ZTfa1YFWgyAoJeAjuZrVgUHtLICFEInIs7x7iocZyP0y/+17NqT0bVG4WznbPKyZ5Np1P45fANPth0lgdJ+gnb2lQvyYRO1Qvv6tT3zsLueXDiZ9Bl6Gu+dfRzwFTtCDbmfVVNiPwgjYwQVkyn6Fh6ZilzD88lTZeGl5MXU5tMpZlfM7WjPVfM9cdM+u0Ux64/BqBC8SJM7hxIsyrF1Q2mlhuHIXoOnF33V618c30DU765TGInCjVpZISwUlE3onhr61uZr5v5NeP9xu/j7eytYqrne5CUyge/n2XFIf2qy0UcbBkeXpmBjcvjYFfIrjYoCizuBFejDesBnfQNTOm66uQSwsxIIyOEFWq8rDGJaYmZr99r+B49qvYw24diM7Q6vt93lTl/nCMxRX/LJKJ2aca1D6CEeyFbtDAjDWb6gTbVsF6zNzQdAcWrqhJLCHMljYwQVuRG4g3ar2pvUFvQagGhfqEqJfp3ey8+ZPJvp4i9q2+8An3dmfJCIPUK27ICTx/D7HJZbxt+HIo+Y5sQhZw0MkJYiYm7J7L6wmqDWnTPaDwcPVRK9Hy3Hj9l+oYzrD9+GwBPF3veaVuVnvXLYmtjnleO8kXcVfg4OOttAzeAf5OCzSOEhZFGRggLl6pNpd4P9QxqdUrUYUn7JSoler6UdC1fR13is+0XeZquxUYDfRqWY3SbKni6FKJhwzePwFctst425CAUr1KweYSwUNLICGHB1l5cS2R0pEFteaflBHoHqpTo+baeucuUtae59igZgPr+RZn8QiCBvuZ51ShfxG6EZT2z3jbmArgW0pFZQuSSNDJCWKigJcYrFx/vf9wsH+i9/OAJ7689xfbY+wCUcHMkskM1utTyNcu8+eLAV7BhTNbbIm+DQyGdG0eIPJJGRggLE/solu5ruxvUJoVMonuV7s94h3qepGbw6fYLfBN1mTStDntbDa80Lc+wlpVxdSwkP35+j4R9nxnXi/rDsCNgU0hnJxbCRArJTxIhrMObW95k983dBrX9vffjYm9e/zWvKAq/HbvFzA1nuZOgX9yxeZXiTOxcnYrFXVVOVwAUBX7sDhe2GG+r3Bb6rCj4TEJYKWlkhLAAiWmJNF7W2KDWzr8dHzb/UKVEz3bmdgKTfjvFgcuPACjj5czEToGEVyth/beRdFqYFwQJN423NR4GbaYVfCYhrJw0MkKYue9OfceHhwwblrVd1+Lv4a9OoGd4nJzGnD/O8cO+q+gUcLK3YUhYJf7TrAJO9lZ++yTtCczwzXpbxzlQ/9WCzSNEISKNjBBmSlEUgr8znF/ETmPH0f5HVUqUNa1O4aeD1/lw01niktMB6BjkQ2THapT2NN9FKU0i6R58VDnrbb1/hiptCjaPEIWQNDJCmKEjd48w4PcBBrW5YXMJLxeuUqKsHb4ax+TfTnHiZjwAVUq6MrlzII0rFVM5WT67dxYWNMx62+s7wbdWgcYRojCTRkYIM9Ptt26ciztnUDvS7wj2NvYqJTJ2LzGF2RtjWXlEv7ijm6MdI1pXoX9IOextrXhxx8tRsKRT1ttGnATPMgWbRwghjYwQ5uLB0we0WGE402vfan0Z22CsSomMpWt1LNlzhXlbzpOUql/c8aW6fvy3XQDF3RxVTpePjv0Eq1/Petu4a+BUiCb0E8LMSCMjhBn4+MjHfH3ia4Palu5bKFmkpEqJjEWff8Dktae4cC8JgJp+Hkx+IZDaZYuqnCwf7fwAtk83rju4wX8vgV0hWlJBCDMljYwQKsrQZVD7+9oGNT9XPzZ226hSImM34pKZtu4Mv5+6A4BXEQfGtqvKS3XLYGOtizuu/A+cyGKul9L14LUtYO3DyIWwINLICKGSndd3MnTbUIPa122+pqHPMx4iLWAp6Vo+33mRhTsukpqhw9ZGQ79G5RgZXgUPF/N5XsdkFAW+aAZ3jhtvq90XumQxO68QQnXSyAihgsbLGpOYlmhQO9b/GDYa9R+UVRSFTafuMm39aW7EPQWgYXkvpnQJJKCUu8rp8kFGGsz0A22q8bZWEyF0dMFnEkJkmzQyQhSg64nX6bCqg0FteJ3hvBb0mkqJDF24l8SUtaeIOv8AAB8PJyI7VKNTsI/1zcr7NA5m+2e9rds3EGR+a1cJIYxJIyNEAZm4eyKrL6w2qEX3jMbDUf0RL4kp6Xyy7QLfRl8mQ6fgYGvDf5qVZ0iLSrg4WNmPibir8HFw1tsGbgD/JgWbRwiRJ1b2E0oI85OSkUL9H+sb1OqWrMvidovVCfQ3iqKw+uhNZm48y/1E/a2VVgElmNCpOv7FiqiczsRuHoavWma9beghKPaMGXqFEGZNGhkh8tHai2uJjI40qC3vtJxA70CVEv3l5M14Jv12isNX4wDw93ZhUudAWgSUUDmZiZ3dAMt7Zb1tzAVwLV6weYQQJiWNjCictFqIioLbt8HHB0JDwda0CxsGLQkyqh3vf7zgnjV5xmeMe5LGh5tjWXbgGooCLg62DG1ZiVeblsfRzooWd9z/BWz8b9bbIm+Dg0vB5hFC5AtpZEThs2oVDB8ON278VfPzg48/hoiIPB8+9lEs3dcaPig6KWQS3asU4MOjWXxGbZkyLB0/n/+778Lj/y3u2LmmL5EdAvDxsKLFHTeOg/0LjetF/WHYEbCxomZNCIGqYz1nzpxJ/fr1cXNzo0SJEnTt2pXY2FiDfVJSUhgyZAje3t64urrSrVs37t69q1JiYfFWrYLu3Q2bGICbN/X1VavydPg3/3jTqInZ33t/wTcx//iMB0tXp3OrMUy4as/j5HQCSrmx/PVGfNKrtnU0MYoC378Ikz2Mm5gq7WFyPAw/Jk2MEFZIoyiKotbJ27VrR8+ePalfvz4ZGRlERkZy8uRJTp8+TZEi+gcNBw8ezPr161m8eDEeHh4MHToUGxsbdu/ena1zJCQk4OHhQXx8PO7uVjgHhsg+rRb8/Y2bmD9pNPorM5cv5/g2U2JaIo2XNTaotfNvx4fNP8xl2Fz6x2e86+rFzLBB/BqoX8PJPSWJ0SfX0WfDt9g5WMGkdjotzAuChJvG2xq/DW2mFnwmIYRJZPf3t6qNzD/dv3+fEiVKsHPnTpo1a0Z8fDzFixdn6dKldO+u/y/as2fPUq1aNfbu3UujRo2MjpGamkpq6l8TWyUkJFCmTBlpZATs2AEtWvzrbmzfDmFh2T7sd6e+48NDhg3L2q5r8ffwz1E8k/jfZ3zs5Eqt4cszyxpFR89jmxmz6zu8nybk+DOaHW0GxPwIa9823tZxDtR/teAzCSFMKruNjFk9IxMfHw+Al5cXAIcPHyY9PZ3w8PDMfQICAihbtuwzG5mZM2cyZcqUggksLMvt2ybdT1EUgr8znI/EzsaOo/2O5jSZ6dy+TavXFnLRu4xBec13owi+c8FgP4uUngIxP8Du+fD4quG23j9DlTbq5BJCqMZsGhmdTseIESNo0qQJNWrUAODOnTs4ODjg6elpsG/JkiW5c+dOlscZP348o0aNynz95xUZIfDxMdl+R+4eYcDvAwxqc8PmEl4u/BnvyH/LDlxj/DF38Db8L5cLH7yAnaIz3Dm734W5SEmAQ9/A3gXw5J6+5uIN1V6AxsPAu6K6+YQQqjGbRmbIkCGcPHmS6OjoPB3H0dERR0dHE6USViU0VP8MzM2b+odD/+nPZ2RCQ597mBfXvMiFxxcMakf6HcHeRp1nTm4+fkqTWduM6pu+GULVB/+4apHNz2g2ku7rH9498DWk6q/Y4lFG37zU7idDqIUQ5tHIDB06lHXr1rFr1y78/Pwy66VKlSItLY3Hjx8bXJW5e/cupUqVUiGpsGi2tvoh1t2763+h/72Z+XNul3nznvmg74OnD2ixwvAZm77V+jK2wdh8Cvx8iqJQMXIDun/0ZCNLZzB8+IvGb8jGZzQbj6/Bnk/gyHeQkaKvFasKTUdA0EtgawUPKgshTELVRkZRFIYNG8bq1avZsWMH5cuXN9het25d7O3t2bp1K926dQMgNjaWa9euERISokZkYekiIuCXX7KeR2bevGfOIzPv8Dy+OfmNQW1L9y2ULFIyH8M+29w/zvHx1vMGNQc7G2KnttNPuFc655/RLNw7A9Hz4MTPoGj1Nd86EDoKqnYEG/VXBxdCmBdVRy299dZbLF26lDVr1lC1atXMuoeHB87O+rktBg8ezIYNG1i8eDHu7u4MGzYMgD179mTrHDL8WmQpmzP7ZugyqP19bYOan6sfG7ttLKikBs7eSaDdvCij+p5xLfH1/Md8MAUwe7HJ3DgEUXMgdv1ftQph0HQklG/+19UkIUShYRHDr581VfuiRYsYOHAgoJ8Qb/To0SxbtozU1FTatm3LggULsn1rSRoZkVs7r+9k6LahBrVv2nxDA58GBZ4lXauj8rvGzdOsiCB6Nihb4HlMQlHg0nZ9A3Plz+ZMA9U66RuY0nVVjSeEUJdFNDIFQRoZkRuNlzYmMT3RoHas/zFsNAV/a+Odn4/x82HDSfyqlHRl88jmBZ7FJHRaOLMWoufC7Rh9zcYOgl+GJiOgeBU10wkhzIRFziMjhNquJ16nw6oOBrXhdYbzWtBrBZ5l36WH9Pxyn1H92MQ2eLhY4MOuGWlw/CfY/TE8/N/zPXbOUHcghAwBT5kmQQiRc9LICPE/E3ZP4NcLvxrUontG4+HoUaA5nqRmEDhpk1H9mwH1aFVNnYeL8yTtCRxeAns//WspAScPaPAGNHwTinirm08IYdGkkRGFXkpGCvV/rG9Qq1eyHovaLSrwLL2+3MfeSw8NauHVSvL1gHoFniXPkh/Bga9g/+fw9JG+5lpKf/Wl3iBwdFM3nxDCKkgjIwq13y7+xrvR7xrUfur0E9W9qxdojvXHbzNk6RGj+tmp7XCyN9ORRs+ScAv2fgaHFkH6E32taHloMhxq9gJ7J3XzCSGsijQyotAKWhJkVDve//gzR9Plh4dJqdSdtsWovuqtxtQpW7TAcpjEw4uwex4cWw7aNH2tZJB+ErvqXcFWftwIIUxPfrKIQif2USzd13Y3qE1pPIWIygU7UVzjmVu5FZ9iUBvY2J/JLwQWaI48u31MPwLp9Br4c02nso31k9hVCpc5YIQQ+UoaGVGovPnHm+y+tdugtr/3flzsC27NnsW7LzN57Wmj+sUZHbC1sZBf+ooCV/dA9By48LcrSpXb6huYssYr0wshRH6QRkYUColpiTRe1tig1r58ez5o9kGBZbj2MJlmH243qm8d3ZyKxV0LLEeeKAqc+11/Beb6fn1NYwOBEfpJ7ErVUDefEKLQkUZGWL0lp5bw0aGPDGpru67F38O/QM6v0ylUiNxgVB/fPoA3mlcskAx5ps2AU6v0Dcy9/11NsnWAWn2gydvgVUHdfEKIQksaGWG1FEUh+Ltgg5q9jT1H+hmPDsovszae5fOdFw1qni72HJ3QukAfKs619BSI+QF2z4fHV/U1Bzeo/wo0egvcZBV6IYS6pJERVunI3SMM+H2AQW1u2FzCy4UXyPlP3oyn0yfRRvUDka0o4W4Bw49T4uHgN7BvITy5p6+5eEOjwVD/NXC2sBFVQgirJY2MsDovrnmRC48vGNSO9DuCvU3+T+ufmqGl6nu/G9XnvVyLrrVL5/v58yzpPuxboG9iUuP1NY8y0HgY1O4HDgX3ULQQQmSHNDLCajx4+oAWK1oY1PpV78d/6/+3QM4/bNlR1h67ZVCrWcaTNUOaFMj58yTuKuz5BI5+Dxn/GxJerKr+Ad6g7mBrgWs7CSEKBWlkhFWYd3ge35z8xqC2pfsWShbJ/7WJos7fp983B4zqJya3wc3JzBuAe2cgeh6c+BkUrb5Wui40HQVVO4BNwa/2LYQQOSGNjLBoGboMan9f26BWxq0MGyKMRwmZWmJKOkGTNxvVv3+1AaGVi+f7+fPk+kH9CKTY9X/VKoTpG5jyzWQSOyGExZBGRlisndd3MnTbUIPaN22+oYFPg3w/d9fPdhNz/bFB7YWavszvVTvrN5gDRYGL2/QNzJWo/xU1UK2T/hZS6bqqxhNCiNyQRkZYpJClISSlJxnUjvU/ho0mf2+F/Hr0JiN+ijGqn5vWHgc7M70No9PCmbX6BuZ2jL5mYwfBL0OTEVC8iprphBAiT6SRERbleuJ1OqzqYFAbXmc4rwW9lq/nvZeQQoMZW43q64Y1pUZpj3w9d649jYM/JsKVaHh0SV+zd4E6A6DxUPDwUzefEEKYgDQywmK8F/0eay6uMahF94zGwzH/GglFUagz9Q/iktMN6m82r8i49gH5dt48ibsCH9c0rDl5QIM3oOGbUMRblVhCCJEfpJERZi8lI4X6P9Y3qNUrWY9F7Rbl63m/3HWRGRvOGtUvzeiAjTku7njjMHzd0rgeGAEvzAdHt4LPJIQQ+UwaGWHW1lxYw3u73zOo/dTpJ6p7V8/bgbVaiIqC27fBxwdCQ8HWFoBL95No+X87jd6y650WlPU2wwnhzqyDn/pkve2di1CkWMHmEUKIAiSNjDBbQUuCjGrH+x/P+xpFq1bB8OFw48ZfNT8/tPM+puJBR6PdJ3euzsAm5fN2zvyw73P4fWzW2969A/bOBZtHCCFUII2MMDuxj2Lpvra7QW1K4ylEVI7I+8FXrYLu3fVDkf9mctUOLP5HE1Pa05nd47K4VaO2De/AgS+N614VYeghmcROCFGoSCMjzMobf7zBnlt7DGoH+hzA2c4EVxe0Wv2VmL81MUd9qvBi/zlGux5+LxxvV+OrM6pRFPiuC1w2vuVF1Y7Qa2nBZxJCCDMgjYwwCwlpCTRZZrgmUfvy7fmg2QemO0lUVObtpBRbewLGrDbaZcGvM+nw+TQwlyZGmwFzAyHpjvG2JiOg9ZQCjySEEOZEGhmhuiWnlvDRoY8MauteXEc593KmPdHt2wD858V3+aNKiMGmxleOsfSndw32U1VqEsx8xmrZnT+GugMLNI4QQpgraWSEahRFIfi7YIOavY09R/odyZfzbbMtzitj1xnVT8/phkt66l8FH598OX+2JN6B/6ua9bY+K6FyeMHmEUIIMyeNjFDF4buHGfj7QIPavBbzaFW2lcnPFZ+cTs33jRd3XL50HI2un/yroNGAn59+KHZBu3cGFjTKetsbUeATnPU2IYQo5KSREQXuxTUvcuHxBYPakX5HsLexN/m52s7dRezdRIPay8c3M/v3TwxHLv05pHvevMz5ZArEpZ3w3QtZbxt5SpYREEKIfyGNjCgwD54+oMWKFga1/tX78079d0x+rp8OXmPsyhNG9fPT22O/JhVOrDKaR4Z58yDCBEO8syNmGfz6Ztbbxl0HJ/eCySGEEBZOGhlRIOYensu3J781qG19aSslXEqY9Dy3Hj+l8axtRvXfR4QSUOp/zUFEBHTp8syZffPV9pmwc5Zx3clDPwuvremvSgkhhDWTRkbkqwxdBrW/r21QK+tWlvUR6016HkVRqDrhd9IydAb1EeGVGRFexfgNtrYQFmbSDM/1yytwcqVxvWwIDNr4160tIYQQOSKNjMg3O67vYNi2YQa1b9t+S/1S9bN+Qy7N33qeOX+cM6jZ22o4N6193pczyAudDr4IhbsnjbfVGaBfyFEIIUSeSCMj8kWjpY14kv7EoHas/zFsNKabPv/c3UTazN1lVN89riWlPVVcZygjFaaVBBTjbeFToOmIgk4khBBWSxoZYVLXE67TYXUHg9rIuiN5pcYrJjtHhlZHpXc3GtVnRQTRs0FZk50nx5IfwQfPWFyy+yKoUUAPEgshRCEijYwwmXej3+W3i78Z1KJ7RuPh6GGyc4xfdYJlB64Z1CqXcOWPUc1Ndo4ce3QZ5tfKetsrm6DsM+aHEUIIkWfSyIg8S8lIof6Phs+9NCjVgG/afmOycxy4/IgeX+w1qh+b2AYPF5VG+tw4DF8/Y3XsoYehWKWCzSOEEIWQNDIiT9ZcWMN7u98zqP3U6Seqe1c3yfGT0zKoPnGTUf3r/vUIr17SJOfIsTNr4ae+WW975yIUKVaweYQQohCTRkbkWtCSIKPa8f7HTTZSqN83+4k6/8Cg1iqgBN8MNO2op2zbuwA2jc9627t3wF7FB4yFEKKQkkZG5Fjso1i6r+1uUJvSeAoRlU3zMOvvJ2/z5g/GC0eendoOJ/sCXD7gTxvegQNfGte9K8OQA2BjupFYQgghckYaGZEjr29+nb23DZ9VOdDnAM52eb8a8ehJGnWm/mFUXzm4MXXLFc3z8XNEUeC7LnB5p/G2gE7Q88eCzSOEECJL0siIbElIS6DJsiYGtQ7lOzC72WyTHD/0g21cf/TUoDYgpBxTutQwyfGzTZsBc6tD0l3jbU1HQvjkgs0jhBDiuaSREf9qyaklfHToI4PauhfXUc69XJ6P/f3eK0xYc8qofnFGB2xtCnBW3tQkmFk6622dP4a6AwsuixBCiGyTRkY8k07RUfO7mgY1BxsHDvc7nOdjX3+UTOgH243qW0Y1p1IJ1zwfP9sS78D/Vc16W5+VUDm84LIIIYTIMWlkRJYO3z3MwN8HGtTmtZhHq7Kt8nRcnU6hQuQGo/rYdgEMDquYp2PnyN3TsDAk621vRkMp4xFZQgghzI80MsLI7AOz+eHMDwa1I/2OYG+Tt4nnPtx0ls+2XzSouTvZcWxSm4Jb3PHidvi+a9bbRp4Gj2fcXhJCCGGWpJERmeJT42m6vKlBrX/1/rxT/508HffUrXg6zo82qu+PbEVJd6c8HTvbjv4Ia97Ketu46+DkXjA5hBBCmJQ0MgKAtRfXEhkdaVDL6zpJaRk6qrxnvLjjnB41iajjl+vj5sj2GbAzi5FVzkVhzHmwVWl5AyGEECYhjUwhp9Vpab+qPbef3M6s9anWh3ENxuXpuCN/imH10ZsGtZp+HqwZ2vQZ7zCxX16BkyuN62VDYNBGKKhbWUIIIfKVNDKF2KkHp+i5vqdB7dcuv1LRM/cP3e6+8IA+X+83qh+f3AZ3p3y++qHTwedN4N5p4211BsAL8/P3/EIIIQqcNDKF1Pio8ay7tC7zdTWvavzU6adcP3SblJpBjUnGizt+90oDmlUpnuuc2ZKeAtNLAYrxttZTocnb+Xt+IYQQqpFGppB58PQBLVa0MKh93OJjWpZtmetjdlu4h8NX4wxqHYN9+Kx3nVwfM1uSH8EH5bPe9tJiCHwxf88vhBBCddLIFCJLzyxl5oGZBrX9vffjYu+Sq+OtibnJ8OUxRvXYae1wtMvHxR0fXYb5tbLe9spmKNsw/84thBDCrEgjUwika9NptLQRabq0zNpbNd9icK3BuTre/cRU6k/fYlRfO7QpQX65H+X0r24cgq+fMSHfsCPgXYAT6gkhhDAL0shYuYN3DvLKplcMahsjNuLn9i/Dn7VaiIqC27fBxwdCQ1FsbKg/fQsPktIMdn2jeQXGt69m6uh/ObMWfuqb9bZ3LkER7/w7txBCCLNmo+bJd+3aRefOnfH19UWj0fDrr78abFcUhYkTJ+Lj44OzszPh4eGcP39enbAWRlEU3tzypkET09i3Mcf7H//3JmbVKvD3hxYtoHdvaNGCr9u9SvnxG4yamEszOuRfE7N3AUz2yLqJefcOTI6XJkYIIQo5Va/IPHnyhJo1a/LKK68QERFhtP2DDz5g/vz5LFmyhPLlyzNhwgTatm3L6dOncXIqoBlhLdDNpJu0W9nOoPZNm29o4NPg39+8ahV07w6KfgTQ5aK+tHj9S6Pddr4TRjnvIibJa2T9aDj4tXG9WBV4az/YqNp/CyGEMCMaRVGyGLNa8DQaDatXr6Zr166A/oqCr68vo0ePZsyYMQDEx8dTsmRJFi9eTM+ePZ9ztL8kJCTg4eFBfHw87u7WPw3958c+57OYzzJfO9o6sqfXHhxsHf79zVqt/krMjRtoNTZU/O9vRrtMOrSCQZu+BVsTP8yrKLCkM1yJMt4W0Al6/mja8wkhhDBr2f39bbbPyFy+fJk7d+4QHh6eWfPw8KBhw4bs3bv3mY1Mamoqqampma8TEhLyPas5SE5PpuFSw9E64xqMo0+1Ptk/SFQU3LjBLzVaMqbjKINNPgn32btw0P/2GwRhYXlM/D/aDJgTAE/uG29rOgrCJ5nmPEIIIayS2TYyd+7cAaBkyZIG9ZIlS2Zuy8rMmTOZMmVKvmYzN9uvbeft7YaTvm3vsZ1izsVydJwrV+4QNnadUf3QJ30olhz/V+H2baN9ciw1CWY+Y6XpzvOh7oC8n0MIIYTVM9tGJrfGjx/PqFF/XU1ISEigTJkyKibKP4qi8PK6lznz6ExmrWOFjswKnZWj46Rrdby4YDcnb7oZ1H/+4b/Uv5nFdP8+PrnKC0DCbf0VmKz0XQmVwrPeJoQQQmTBbBuZUqVKAXD37l18/vaL8+7du9SqVeuZ73N0dMTR0TG/46nu4uOLdF3T1aC2rOMyahSrkaPjfLXrEtM3nDGoDd+9lJHRS4131mjAzw9CQ3MaF+6egoWNs972ZjSUCsr5MYUQQhR6ZtvIlC9fnlKlSrF169bMxiUhIYH9+/czeHDuJnKzFrMPzOaHMz9kvi7pUpJN3TZha5P9B3BP3oyn0yfRBjV/bxd+Lx+H0wfL9E3L358D/3MNpnnzcvag78Xt8H3XrLeNPA0ez7i9JIQQQmSDqo1MUlISFy5cyHx9+fJlYmJi8PLyomzZsowYMYJp06ZRuXLlzOHXvr6+mSObCpv41HiaLm9qUJvRdAadK3bO9jGS0zJo/uEO7iemGtQ3j2xGlZL/u7X0yy8wfDjcuPHXDn5++iYmi2HyWTr6I6x5K+tt466Dk/WPIBNCCJH/VB1+vWPHDlq0aGFUHzBgAIsXL0ZRFCZNmsSXX37J48ePadq0KQsWLKBKlSrZPoe1DL9ee3EtkdGRBrXontF4OGZ/SYAZG87w5a5LBrWpXQLpF+JvvHMWM/tm60rMtmmw60PjurMXjDkHtvbZziuEEKLwyu7vb7OZRya/WHojo9VpabeqHXee/DVSq2+1voxtMDbbx9h78SG9vtpnUGtQ3otl/2mErY3GNEF/HginVhvXyzaGQRv+ujUlhBBCZIPFzyMj4NSDU/Rcbzhfzq9dfqWiZ/YWR3ycnEat9/8wqkePbYFf0dyteG1Ap9M/wHv/jPG2ugOh88d5P4cQQgjxHNLImKnxUeNZd+mvOV2qeVXjp04/ocnGlQ1FURi14hirj940qH/auzadgn3zHi49BaaXzHpb66nQ5O2stwkhhBAmJo2MmXnw9AEtVhg+NzS/xXxalDV+ligrv5+8zZs/HDGodQr24ZNetbPVBD1X8iP4oHzW215aDIEv5u34QgghRA5JI2NGlp5ZyswDMw1q+3vvx8X+328D3Y5/SsjMbUb1IxNa41UkG+ssPc+jSzC/dtbbXtkMZRtmvU0IIYTIZ9LImIE0bRqNljYiXZeeWXur1lsMrvnv8+VodQr9vtnPnosPDeo/vNqQppVztkSBkesH4ZtnzLQ77Ah4Z+9ZHSGEECK/SCOjsgO3D/Dq5lcNahsjNuLn5vev711+4BrjVp0wqA1q4s+kzoF5C3XjEHzdKutt71yCIt55O74QQghhItLIqERRFAZvGczuW7sza01KN2Fhq4X/+izLhXtJhM/ZaVAr6mJP1NiWuDrm4R9p7O+w7OWst717F+ydcn9sIYQQIh9II6OCm0k3abeynUHtmzbf0MCnwXPfl5qhpdP8aM7fSzKorxnShJplPHMf6PASWJvFSKPyzaHfr2Bjk/tjCyGEEPlIGpkCtvDYQhbELMh87WjryJ5ee3Cwff4DuZ9uO89Hm88Z1N5pW5UhLSrlLoiiwM7ZsGOm8TYZQi2EEMJCSCNTQJLTk2m41HB0z7gG4+hTrc9z3xdz/TFdP9ttUKta0o21w5riYJeLKyU6LawdDke/N94W8TUEv5TzYwohhBAqkUamAGy/tp23txte4djeYzvFnJ89qigpNYPGM7eSkJJhUN86ujkVi7vmPET6U1jeGy4aD9Gm/xqoEJbzYwohhBAqk0YmHymKQo91PTj76GxmrVOFTswMzeJ2zt9MWnOSJXuvGtRmRQTRs0HZnIdIfgSL2sP9s8bb3oyGUkE5P6YQQghhJqSRyScXH1+k65quBrVlHZdRo1iNZ74n6vx9+n1zwKAWWrkYSwY1wCanizs+vq5fByk1wbDu4Apv7QXPXDRFQgghhJmRRiYfzDowix/P/Jj5ulSRUvwe8Tu2NrZZ7v8wKZW607YY1feNb0UpjxwOeb5zEj5vYlwvVhVe+R1cvHJ2PCGEEMKMSSNjQvGp8TRd3tSgNqPpDDpX7Jzl/oqiMGTpETacuGNQ/6JfXdoGlsrZyS/thO9eMK5XaAG9loG9c86OJ4QQQlgAaWRMZO3FtURGRxrUontG4+HokeX+vx27xdvLjhrUIuqU5v9eqpmzxR1P/AIrXzWu1+4LnefDM64CCSGEENZAGpk80uq0tF3ZlrvJdzNrfav1ZWyDsVnufyMumaaztxvUbDT6xR09XXKwuOPez2BTpHG9+VgIGw95XelaCCGEsADSyOTByQcn6bW+l0FtTZc1VPCsYLRvhlZHr6/2cfBKnEF9+euNaFQhm2sXKYq+edm3wHhb54+h7sDsRhdCCCGsgjQyuXTs/jH6buib+bqaVzV+6vRTlreFvtt7hYlrThnU3mhegfHtq2XvZBlpsOo1OL3GeFuv5VC1fY6yCyGEENZCGplc2n97f+bfP2n5CWFlwoz2ib2TSNt5uwxqPh5ObBsdhrNDNp5dSU2E71+EGweNt736B5R5/tpMQgghhLWTRiaXBtUYRL2S9ajmXQ1nO8MRQSnpWtrM3cW1R8kG9fVvNyXQN+uHfw0k3oWvWkDCTeNtQw9Bscp5iS6EEEJYDWlkcsnexp46JesY1edsjmX+tgsGtfc6VuO1UOPnZow8uACf1jWuu/nC6zvArWQu0wohhBDWSRoZEzl05RHdP99rUAv282Dl4MbY2/7L4o7XD8I34cZ1v/rQbzU4upkwqRBCCGE9pJHJo4SUdBpM30JKus6gvvOdMMp5F3n+m2M3wrKexvXqXfQrUdvlYDi2EEIIUQhJI5NLiqIQufokyw5cM6jP6VGTiDp+z3/zoUWwboRxvdFb0GY62PzLFRwhhBBCANLI5NqKQ9cNmpjwaiX4sl+9Zy/uqCiwYybsnG28rfVUaPJ2PiUVQgghrJc0MrnkVcQx8+8H3m1FCbdnLO6o08Lat+HoD8bbun0DQd3zKaEQQghh/TSKoihqh8hPCQkJeHh4EB8fj7u7e8GdOP0pLO8NF7cZb+u/BiqEFVwWIYQQwsJk9/e3XJExteRHsKg93D9rvO3NaCgVVPCZhBBCCCsljYypPL4GC0IgLcmw7ugOg3eDZ1l1cgkhhBBWTBqZvLpzAj5valwvHgCDNoKLV8FnEkIIIQoJaWRyQ6uF7ZsgupfxtootoedSsHc23iaEEEIIk5JGJqdWrYLhw6HCPWjxt5FKRUNh2BqwycZikEIIIYQwCWlkcmLVKujeXT8nTJIGStrCfR3sTAM2QJk1EBGhdkohhBCi0JDh19ml1YK/P9y4kfV2jQb8/ODyZbCVqzJCCCFEXmT397fMhZ9dUVHPbmJAf5Xm+nX9fkIIIYQoENLIZNft26bdTwghhBB5Jo1Mdvn4mHY/IYQQQuSZNDLZFRqqfwZG84xFITUaKFNGv58QQgghCoQ0Mtllawsff6z/+z+bmT9fz5snD/oKIYQQBUgamZyIiIBffoHSpQ3rfn76ugy9FkIIIQqUzCOTUxER0KWLfnTS7dv6Z2JCQ+VKjBBCCKECaWRyw9YWwsLUTiGEEEIUenJrSQghhBAWSxoZIYQQQlgsaWSEEEIIYbGkkRFCCCGExZJGRgghhBAWSxoZIYQQQlgsaWSEEEIIYbGkkRFCCCGExZJGRgghhBAWy+pn9lUUBYCEhASVkwghhBAiu/78vf3n7/FnsfpGJjExEYAyZcqonEQIIYQQOZWYmIiHh8czt2uUf2t1LJxOp+PWrVu4ubmh0WhMdtyEhATKlCnD9evXcXd3N9lxzYm1f0Zr/3xg/Z9RPp/ls/bPKJ8v9xRFITExEV9fX2xsnv0kjNVfkbGxscHPzy/fju/u7m6V/3L+nbV/Rmv/fGD9n1E+n+Wz9s8ony93nncl5k/ysK8QQgghLJY0MkIIIYSwWNLI5JKjoyOTJk3C0dFR7Sj5xto/o7V/PrD+zyifz/JZ+2eUz5f/rP5hXyGEEEJYL7kiI4QQQgiLJY2MEEIIISyWNDJCCCGEsFjSyAghhBDCYkkjkwu7du2ic+fO+Pr6otFo+PXXX9WOZDIzZ86kfv36uLm5UaJECbp27UpsbKzasUxq4cKFBAcHZ07gFBISwsaNG9WOlW9mzZqFRqNhxIgRakcxmcmTJ6PRaAz+BAQEqB3LpG7evEnfvn3x9vbG2dmZoKAgDh06pHYsk/D39zf656fRaBgyZIja0UxGq9UyYcIEypcvj7OzMxUrVmTq1Kn/um6QJUlMTGTEiBGUK1cOZ2dnGjduzMGDBws8h9XP7Jsfnjx5Qs2aNXnllVeIiIhQO45J7dy5kyFDhlC/fn0yMjKIjIykTZs2nD59miJFiqgdzyT8/PyYNWsWlStXRlEUlixZQpcuXTh69CiBgYFqxzOpgwcP8sUXXxAcHKx2FJMLDAxky5Ytma/t7Kznx1lcXBxNmjShRYsWbNy4keLFi3P+/HmKFi2qdjSTOHjwIFqtNvP1yZMnad26NS+99JKKqUxr9uzZLFy4kCVLlhAYGMihQ4cYNGgQHh4evP3222rHM4nXXnuNkydP8v333+Pr68sPP/xAeHg4p0+fpnTp0gUXRBF5AiirV69WO0a+uXfvngIoO3fuVDtKvipatKjy9ddfqx3DpBITE5XKlSsrf/zxh9K8eXNl+PDhakcymUmTJik1a9ZUO0a+GTt2rNK0aVO1YxSY4cOHKxUrVlR0Op3aUUymY8eOyiuvvGJQi4iIUPr06aNSItNKTk5WbG1tlXXr1hnU69Spo7z77rsFmkVuLYnnio+PB8DLy0vlJPlDq9WyfPlynjx5QkhIiNpxTGrIkCF07NiR8PBwtaPki/Pnz+Pr60uFChXo06cP165dUzuSyfz222/Uq1ePl156iRIlSlC7dm2++uortWPli7S0NH744QdeeeUVky7sq7bGjRuzdetWzp07B8CxY8eIjo6mffv2KiczjYyMDLRaLU5OTgZ1Z2dnoqOjCzSL9VyLFSan0+kYMWIETZo0oUaNGmrHMakTJ04QEhJCSkoKrq6urF69murVq6sdy2SWL1/OkSNHVLlfXRAaNmzI4sWLqVq1Krdv32bKlCmEhoZy8uRJ3Nzc1I6XZ5cuXWLhwoWMGjWKyMhIDh48yNtvv42DgwMDBgxQO55J/frrrzx+/JiBAweqHcWkxo0bR0JCAgEBAdja2qLVapk+fTp9+vRRO5pJuLm5ERISwtSpU6lWrRolS5Zk2bJl7N27l0qVKhVsmAK9/mOFsOJbS2+++aZSrlw55fr162pHMbnU1FTl/PnzyqFDh5Rx48YpxYoVU06dOqV2LJO4du2aUqJECeXYsWOZNWu7tfRPcXFxiru7u9XcHrS3t1dCQkIMasOGDVMaNWqkUqL806ZNG6VTp05qxzC5ZcuWKX5+fsqyZcuU48ePK999953i5eWlLF68WO1oJnPhwgWlWbNmCqDY2toq9evXV/r06aMEBAQUaA5pZPLIWhuZIUOGKH5+fsqlS5fUjlIgWrVqpbz++utqxzCJ1atXZ/5g+fMPoGg0GsXW1lbJyMhQO2K+qFevnjJu3Di1Y5hE2bJllVdffdWgtmDBAsXX11elRPnjypUrio2NjfLrr7+qHcXk/Pz8lE8//dSgNnXqVKVq1aoqJco/SUlJyq1btxRFUZQePXooHTp0KNDzyzMywoCiKAwdOpTVq1ezbds2ypcvr3akAqHT6UhNTVU7hkm0atWKEydOEBMTk/mnXr169OnTh5iYGGxtbdWOaHJJSUlcvHgRHx8ftaOYRJMmTYymPTh37hzlypVTKVH+WLRoESVKlKBjx45qRzG55ORkbGwMf8Xa2tqi0+lUSpR/ihQpgo+PD3FxcWzatIkuXboU6PnlGZlcSEpK4sKFC5mvL1++TExMDF5eXpQtW1bFZHk3ZMgQli5dypo1a3Bzc+POnTsAeHh44OzsrHI60xg/fjzt27enbNmyJCYmsnTpUnbs2MGmTZvUjmYSbm5uRs80FSlSBG9vb6t51mnMmDF07tyZcuXKcevWLSZNmoStrS29evVSO5pJjBw5ksaNGzNjxgx69OjBgQMH+PLLL/nyyy/VjmYyOp2ORYsWMWDAAKsaOv+nzp07M336dMqWLUtgYCBHjx5lzpw5vPLKK2pHM5lNmzahKApVq1blwoULvPPOOwQEBDBo0KCCDVKg13+sxPbt2xXA6M+AAQPUjpZnWX0uQFm0aJHa0UzmlVdeUcqVK6c4ODgoxYsXV1q1aqVs3rxZ7Vj5ytqekXn55ZcVHx8fxcHBQSldurTy8ssvKxcuXFA7lkmtXbtWqVGjhuLo6KgEBAQoX375pdqRTGrTpk0KoMTGxqodJV8kJCQow4cPV8qWLas4OTkpFSpUUN59910lNTVV7Wgm89NPPykVKlRQHBwclFKlSilDhgxRHj9+XOA5NIpiRdMMCiGEEKJQkWdkhBBCCGGxpJERQgghhMWSRkYIIYQQFksaGSGEEEJYLGlkhBBCCGGxpJERQgghhMWSRkYIIYQQFksaGSGEEEJYLGlkhBAALF68GE9PT9XOf+XKFTQaDTExMfl2jrCwMEaMGJFvx38ef39/5s2bp8q5hbBm0sgIYSYGDhyIRqNh1qxZBvVff/0VjUajUiohhDBv0sgIYUacnJyYPXs2cXFxakfJlrS0NLUjWLX09HS1Iwhh9qSREcKMhIeHU6pUKWbOnPnc/VauXElgYCCOjo74+/vzf//3fwbb/f39mTZtGv3798fV1ZVy5crx22+/cf/+fbp06YKrqyvBwcEcOnTI6Ni//vorlStXxsnJibZt23L9+vXMbZMnT6ZWrVp8/fXXlC9fHicnJwAeP37Ma6+9RvHixXF3d6dly5YcO3bsuZ/hwIED1K5dGycnJ+rVq8fRo0eN9jl58iTt27fH1dWVkiVL0q9fPx48ePDc4+7evZuwsDBcXFwoWrQobdu2NWgMdTod//3vf/Hy8qJUqVJMnjzZ4P1z5swhKCiIIkWKUKZMGd566y2SkpIyt/95C27dunVUrVoVFxcXunfvTnJyMkuWLMHf35+iRYvy9ttvo9VqDY6dmJhIr169KFKkCKVLl+azzz4z2K7RaFi4cCEvvPACRYoUYfr06QCsWbOGOnXq4OTkRIUKFZgyZQoZGRmZ7/u37//YsWO0aNECNzc33N3dqVu3bpb/7IWwSAW+TKUQIksDBgxQunTpoqxatUpxcnJSrl+/riiKoqxevVr5+/9VDx06pNjY2Cjvv/++EhsbqyxatEhxdnY2WKG8XLlyipeXl/L5558r586dUwYPHqy4u7sr7dq1U1asWKHExsYqXbt2VapVq6bodDpFURRl0aJFir29vVKvXj1lz549yqFDh5QGDRoojRs3zjzupEmTlCJFiijt2rVTjhw5ohw7dkxRFEUJDw9XOnfurBw8eFA5d+6cMnr0aMXb21t5+PBhlp81MTFRKV68uNK7d2/l5MmTytq1a5UKFSoogHL06FFFURQlLi5OKV68uDJ+/HjlzJkzypEjR5TWrVsrLVq0eOZ3ePToUcXR0VEZPHiwEhMTo5w8eVL55JNPlPv37yuKol8F3N3dXZk8ebJy7tw5ZcmSJYpGozFY/Xzu3LnKtm3blMuXLytbt25VqlatqgwePDhz+5/fU+vWrZUjR44oO3fuVLy9vZU2bdooPXr0UE6dOqWsXbtWcXBwUJYvX27wz8TNzU2ZOXOmEhsbq8yfP1+xtbU1ODeglChRQvn222+VixcvKlevXlV27dqluLu7K4sXL1YuXryobN68WfH391cmT56c+b5/+/4DAwOVvn37KmfOnFHOnTunrFixQomJiXnm9yiEJZFGRggz8WcjoyiK0qhRI+WVV15RFMW4kendu7fSunVrg/e+8847SvXq1TNflytXTunbt2/m69u3byuAMmHChMza3r17FUC5ffu2oij6X9CAsm/fvsx9zpw5owDK/v37FUXRNzL29vbKvXv3MveJiopS3N3dlZSUFINMFStWVL744ossP+sXX3yheHt7K0+fPs2sLVy40KCRmTp1qtKmTRuD912/fl0BlNjY2CyP26tXL6VJkyZZblMUfSPTtGlTg1r9+vWVsWPHPvM9P//8s+Lt7Z35+s/v6cKFC5m1N954Q3FxcVESExMza23btlXeeOONzNflypVT2rVrZ3Dsl19+WWnfvn3ma0AZMWKEwT6tWrVSZsyYYVD7/vvvFR8fH0VRsvf9u7m5KYsXL37mZxTCksmtJSHM0OzZs1myZAlnzpwx2nbmzBmaNGliUGvSpAnnz583uJURHByc+feSJUsCEBQUZFS7d+9eZs3Ozo769etnvg4ICMDT09MgR7ly5ShevHjm62PHjpGUlIS3tzeurq6Zfy5fvszFixez/HxnzpwhODg489YUQEhIiME+x44dY/v27QbHDAgIAHjmcWNiYmjVqlWW2/709+8FwMfHx+A72LJlC61ataJ06dK4ubnRr18/Hj58SHJycuY+Li4uVKxYMfN1yZIl8ff3x9XV1aD29+Nm9RlDQkKM/hnXq1fP4PWxY8d4//33Db6H//znP9y+fZvk5ORsff+jRo3itddeIzw8nFmzZj3z+xPCEtmpHUAIYaxZs2a0bduW8ePHM3DgwFwdw97ePvPvf456yqqm0+lydNwiRYoYvE5KSsLHx4cdO3YY7ZuX4dxJSUl07tyZ2bNnG23z8fHJ8j3Ozs7/ety/fweg/x7+/A6uXLlCp06dGDx4MNOnT8fLy4vo6GheffVV0tLScHFxeeYxnnfcnMjq+50yZQoRERFG+zo5OWXr+588eTK9e/dm/fr1bNy4kUmTJrF8+XJefPHFHOcTwtxIIyOEmZo1axa1atWiatWqBvVq1aqxe/dug9ru3bupUqUKtra2eTpnRkYGhw4dokGDBgDExsby+PFjqlWr9sz31KlThzt37mBnZ4e/v3+2zlOtWjW+//57UlJSMq/K7Nu3z+i4K1euxN/fHzu77P2oCg4OZuvWrUyZMiVb+//T4cOH0el0/N///R82NvoL1itWrMjVsbLyz8+4b9++5363oP8eYmNjqVSp0jO3Z+f7r1KlClWqVGHkyJH06tWLRYsWSSMjrILcWhLCTAUFBdGnTx/mz59vUB89ejRbt25l6tSpnDt3jiVLlvDpp58yZsyYPJ/T3t6eYcOGsX//fg4fPszAgQNp1KhRZmOTlfDwcEJCQujatSubN2/mypUr7Nmzh3ffffeZI2N69+6NRqPhP//5D6dPn2bDhg189NFHBvsMGTKER48e0atXLw4ePMjFixfZtGkTgwYNMhoN9Kfx48dz8OBB3nrrLY4fP87Zs2dZuHDhv450+lOlSpVIT0/nk08+4dKlS3z//fd8/vnn2XpvduzevZsPPviAc+fO8dlnn/Hzzz8zfPjw575n4sSJfPfdd0yZMoVTp05x5swZli9fznvvvQf8+/f/9OlThg4dyo4dO7h69Sq7d+/m4MGD/9pACWEppJERwoy9//77Rrcn6tSpw4oVK1i+fDk1atRg4sSJvP/++7m+BfV3Li4ujB07lt69e9OkSRNcXV356aefnvsejUbDhg0baNasGYMGDaJKlSr07NmTq1evZj6H80+urq6sXbuWEydOULt2bd59912jW0i+vr7s3r0brVZLmzZtCAoKYsSIEXh6emZeLfmnKlWqsHnzZo4dO0aDBg0ICQlhzZo12b6iU7NmTebMmcPs2bOpUaMGP/74478Ohc+J0aNHc+jQIWrXrs20adOYM2cObdu2fe572rZty7p169i8eTP169enUaNGzJ07l3LlygH//v3b2try8OFD+vfvT5UqVejRowft27fP9VUrIcyNRlEURe0QQgghhBC5IVdkhBBCCGGxpJERQgghhMWSRkYIIYQQFksaGSGEEEJYLGlkhBBCCGGxpJERQgghhMWSRkYIIYQQFksaGSGEEEJYLGlkhBBCCGGxpJERQgghhMWSRkYIIYQQFuv/AcPt59iL33GRAAAAAElFTkSuQmCC\n" + }, + "metadata": {} + } + ], + "source": [ + "plt.scatter(data[\"n_chambres\"], data['prix'], c=\"r\")\n", + "plt.plot(data[\"n_chambres\"], data['n_chambres'] * 5, label='w=5')\n", + "plt.plot(data[\"n_chambres\"], data['n_chambres'] * 4, label='w=4')\n", + "plt.plot(data[\"n_chambres\"], data['n_chambres'] * 6, label='w=6')\n", + "plt.xlabel('Nombre de chambrees')\n", + "plt.ylabel('Prix')\n", + "plt.legend()\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 54, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "590yFe48HrW-", + "outputId": "c9658669-667e-4aab-e4fc-d92cf0fbded1" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "np.float64(425.25)" + ] + }, + "metadata": {}, + "execution_count": 54 + } + ], + "source": [ + "erreur(x=n_chambres, w=6, y=prix)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "WOJLxYz4HxP3", + "outputId": "43904cec-ad0c-4d52-89f0-c3f8acfd9117" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "np.float64(366.2899999999999)" + ] + }, + "metadata": {}, + "execution_count": 30 + } + ], + "source": [ + "erreur(x=n_chambres, w=4.9, y=prix)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 68, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "PgmUxzuZIBgN", + "outputId": "6546bec8-b18e-4f01-836e-4a818df9f7d5" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "('w = 5 : 324.0900000000001', 'w = 5.1 : 342.25')" + ] + }, + "metadata": {}, + "execution_count": 68 + } + ], + "source": [ + "f\"w = 5 : {erreur(x=n_chambres, w=5.1, y=prix)}\", f\"w = 5.1 : {erreur(x=n_chambres, w=5, y=prix)}\"\n" + ] + }, + { + "cell_type": "code", + "execution_count": 73, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 449 + }, + "id": "cCgRHJgHIIGo", + "outputId": "d27b54ea-cae9-417c-8af3-f39258d5a6c1" + }, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjIAAAGwCAYAAACzXI8XAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAXTFJREFUeJzt3XlYVeX6xvHvZp5BcAAEwQk051lUBI+mdcos7TSPDk1Uatqg/sqhQZvUtDI1005lnepopXWOHi3HspzTShAnVMApmUTm9/cHSW5RQwU2G+7PdXHletbai2dTsW/ftd53WYwxBhERERE75GDrBkREREQul4KMiIiI2C0FGREREbFbCjIiIiJitxRkRERExG4pyIiIiIjdUpARERERu+Vk6wYqWlFREcnJyXh7e2OxWGzdjoiIiJSBMYbMzEyCg4NxcLjwuEu1DzLJycmEhobaug0RERG5DAcPHiQkJOSC+6t9kPH29gaKfxA+Pj427kZERETKIiMjg9DQ0JLP8Qup9kHmzOUkHx8fBRkRERE781e3hehmXxEREbFbCjIiIiJitxRkRERExG5V+3tkyqqwsJD8/Hxbt1EjODs74+joaOs2RESkGqjxQcYYQ2pqKmlpabZupUbx8/MjMDBQa/uIiMgVqfFB5kyIqVu3Lh4eHvpgrWDGGLKzszl69CgAQUFBNu5IRETsWY0OMoWFhSUhJiAgwNbt1Bju7u4AHD16lLp16+oyk4iIXLYafbPvmXtiPDw8bNxJzXPmZ677kkRE5ErU6CBzhi4nVT79zEVEpDzU6EtLIiJiQ4WFsHYtpKRAUBBER4MuNcslsumIzIQJE7BYLFZfzZo1K9mfk5NDXFwcAQEBeHl5MWjQII4cOWLDjkVEpFwsWgTh4dCrF9xxR/E/w8OL6yKXwOaXllq0aEFKSkrJ17p160r2jRw5kiVLlvDZZ5+xevVqkpOTGThwoA27FRGRK7ZoEdx8Mxw6ZF0/fLi4rjAjl8DmQcbJyYnAwMCSr9q1awOQnp7OvHnzmDp1Kn/729/o0KED8+fP5/vvv2fDhg027rr6+qtRMhGRK1JYCMOHgzGl952pjRhRfJxIGdg8yOzevZvg4GAaNWrEnXfeSVJSEgCbN28mPz+fPn36lBzbrFkzGjRowA8//HDB8+Xm5pKRkWH1JZfmYqNkIiJXZO3a0iMxZzMGDh4sPk6kDGwaZLp06cKCBQv473//y6xZs9i3bx/R0dFkZmaSmpqKi4sLfn5+Vq+pV68eqampFzzn5MmT8fX1LfkKDQ0tcz/GGE4VFtrky5zvbycXsHTpUvz8/Cj8428s27Ztw2Kx8Mwzz5QcM3ToUO66664yn/NsFxolExG5Yikp5Xuc1Hg2nbV07bXXlvy5devWdOnShbCwMD799NOSRdMu1ZgxY3jiiSdKtjMyMsocZrKLivCy0d8CsqKj8Szj3fpnwt7WrVvp2LEjq1evpnbt2qxatarkmNWrV/P000+TlJTEVVddddHzjR07lrFjx5Zsnxklc3NzIyoqismTJ9OgQYPLel8iIlbKupq3Vv2WMqpS06/9/PyIiIggMTGRq6++mry8PNLS0qxGZY4cOUJgYOAFz+Hq6oqrq2sldGs7vr6+tG3bllWrVtGxY0dWrVrFyJEjmThxIllZWaSnp5OYmEhMTAzBwcFs27btoufz9/cv+fOZUbLIyEhSUlKYOHEi0dHR7Ny5E29v7wp+ZyJS7UVHQ0hI8Y295xuJtliK90dHV35vYpeqVJDJyspiz5493H333XTo0AFnZ2dWrlzJoEGDAIiPjycpKYmoqKgK+f4eDg5k2eh/Hg+HS7vKFxMTw6pVqxg1ahRr165l8uTJfPrpp6xbt47ff/+d4OBgmjZtCkCTJk3KfN6LjZINGTLkknoUESnF0RHeeKN4dpLFYh1mziyUOX261pORMrNpkBk9ejT9+/cnLCyM5ORkxo8fj6OjI7fffju+vr4MGTKEJ554An9/f3x8fHjssceIioqia9euFdKPxWIp8+UdW4uNjeW9995j+/btODs706xZM2JjY1m1ahUnT54kJiYG4LIuLZ3t7FEyEZFyMXAgfP558eyls2/8DQkpDjFaZkMugU2DzKFDh7j99ts5ceIEderUoUePHmzYsIE6deoAMG3aNBwcHBg0aBC5ubn069ePt99+25YtVxln7pOZNm1aSWiJjY1lypQpnDx5klGjRgFc8qWlc509SiYiUm4GDoQBA7Syr1wxi7mU6TJ2KCMjA19fX9LT0/Hx8bHal5OTw759+2jYsCFubm426vDytWvXjh07dvDmm2/y0EMP8fvvvxMYGEh+fj67du0iMjLyks95vlGybdu28euvv5YEzPJg7z97ERGpWBf7/D6bzdeRkcsXExNDYWEhsbGxQPHIylVXXUVgYOBlhRj4c5QsMjKSW265hYCAAKtRMhERkapEIzIaFbAJ/exFRORiNCIjIiIi1Z6CjIiIiNgtBRkRERGxWwoyIiIiYrcUZERERMRuKciIiIiI3VKQEREREbulICMiIiJ2S0FGRERE7JaCjFiZMGECFovF6qtZs2YXfc0vv/zCoEGDCA8Px2KxMH369MppVkREajybPv1aqqYWLVqwYsWKkm0np4v/Z5KdnU2jRo34xz/+wciRIyu6PRERkRIakbFDS5cuxc/Pj8LCQgC2bduGxWLhmWeeKTlm6NCh3HXXXZd1ficnJwIDA0u+ateufdHjO3XqxKuvvsptt92Gq6vrZX1PERGRy6ERmbMYY8jOz7bJ9/Zw9sBisZTp2OjoaDIzM9m6dSsdO3Zk9erV1K5dm1WrVpUcs3r1ap5++mmSkpK46qqrLnq+sWPHMnbs2JLt3bt3ExwcjJubG1FRUUyePJkGDRpc1vsSERGpSAoyZ8nOz8ZrspdNvnfWmCw8XTzLdKyvry9t27Zl1apVdOzYkVWrVjFy5EgmTpxIVlYW6enpJCYmEhMTQ3BwMNu2bbvo+fz9/Uv+3KVLFxYsWEBkZCQpKSlMnDiR6Ohodu7cibe395W8RRERkXKnIGOnYmJiWLVqFaNGjWLt2rVMnjyZTz/9lHXr1vH7778THBxM06ZNAWjSpEmZz3vttdeW/Ll169Z06dKFsLAwPv30U4YMGVLu70NERORKKMicxcPZg6wxWTb73pciNjaW9957j+3bt+Ps7EyzZs2IjY1l1apVnDx5kpiYGIDLurR0Nj8/PyIiIkhMTLyk/kRERCqDgsxZLBZLmS/v2NqZ+2SmTZtWElpiY2OZMmUKJ0+eZNSoUQCXfGnpXFlZWezZs4e777673HoXEREpLwoydqpWrVq0bt2ajz76iDfffBOAnj17csstt5Cfn18SbpycnC7p0tLo0aPp378/YWFhJCcnM378eBwdHbn99ttLjrnnnnuoX78+kydPBiAvL49ff/215M+HDx9m27ZteHl5XdL3FhERuVQKMnYsJiaGbdu2ERsbCxSPrFx11VUcOXKEyMjIyzrnoUOHuP322zlx4gR16tShR48ebNiwgTp16pQck5SUhIPDnzP3k5OTadeuXcn2a6+9xmuvvVZyH4+IiEhFsRhjjK2bqEgZGRn4+vqSnp6Oj4+P1b6cnBz27dtHw4YNcXNzs1GHNZN+9iIi9u+Xo78wYfUE5g+Yj5dL+c76vdjn99k0IiMiIiKXJL8wn5fXv8yk1ZPIL8onzDeM1/q+ZpNeFGRERESkzLakbGHwl4PZfmQ7ANdHXM+IriNs1o+CjIiIiPylnIIcJq2exCvrX6HQFBLgHsAb17zBHa3uKPPK9BVBQUZEREQu6vuD3zPkqyHsOr4LgFta3MLMa2dS17OujTtTkAGKn7EklUs/cxGRqu9U3inGrhzLzJ9mYjAEegXy9t/f5qbmN9m6tRI1Osg4OzsDkJ2djbu7u427qVmys4sfznnm34GIiFQtK/euZNiSYexL2wfAfW3vY2rfqdRyr2V13C+nTtHC03aLydboIOPo6Iifnx9Hjx4FwMOj7E+glstjjCE7O5ujR4/i5+eHo6OjrVsSEZGzpOek8+T/nmTulrkAhPqEMqf/HK5pco3Vccfz8hiRmMhHR4+yqm1bYvz8bNBtDQ8yAIGBgQAlYUYqh5+fX8nPXkREqoalCUt5aOlDHM48DMDDHR9mSp8p+Lj+uY6LMYaFR48yIjGR4/n5OAAbMzIUZGzFYrEQFBRE3bp1yc/Pt3U7NYKzs7NGYkREqpDj2ccZ8d8RfLTjIwCa+Dfh3f7vEhMeY3XcgZwcHkpI4L+//w5AK09P3o2MpPNFFqyraDU+yJzh6OioD1cREalRjDF8/uvnxH0Tx7HsYzhYHBjZdSSTek3Cw9mj5LhCY3jz8GHG7d3LqaIiXC0WngsP58nQUJzPemSNLSjIiIiI1EApmSnEfRPH4l2LAWhRpwXvDXiPzvU7Wx23IyuLofHx/JSZCUC0ry9zIyOJ9PAodU5bUJARERGpQYwx/HP7PxmxbARpOWk4OTgxpscYxkWPw9XJteS4nMJCXkxKYkpSEgXG4OPoyCuNGzMsKAiHKjQxRkFGRESkhkhKT+LBpQ/y38T/AtA+qD3v3fAebQLbWB23Ni2NYfHxxJ8+DcCAgADeioigvqtrqXPamoKMiIhINVdkipi9aTZPrXiKrLwsXB1dmRA7gdHdRuPk8GcUSC8o4Jm9e3knORmAQBcX3mzalIG1a1fZ5UkUZERERKqxxN8TGfLVENYcWANAt9BuzLthHs1qN7M67qvjx3kkIYHDeXkADA0K4pVGjahVxRcuVZARERGphgqLCpm+YTrPfvcspwtO4+HsweTek4nrFIejw5+zdFNzc3k8MZHPjh0DoIm7O3MiIuhVq9aFTl2lKMiIiIhUM78c/YXBXw3mp8M/AfC3hn9jbv+5NKrVqOQYYwzzU1MZtWcPaQUFOAJPNmjAc2FhuNvRciQKMiIiItVEfmE+U9ZN4fk1z5NflI+Pqw+v932dIe2GWN3jkpidzYMJCXyblgZAey8v5kVG0tbb20adXz4FGRERkWpgS8oWBn85mO1HtgNwfcT1zLpuFiE+ISXHFBQVMfXQIcbv309OURHuDg5MCg9nREgITjZe2O5yKciIiIjYsZyCHCaumsir379KoSkkwD2AGdfO4PaWt1uNwmzJzGRofDxbs7IA6O3nx+zISBq7u9uq9XKhICMiImKnvj/4PYO/HEz8iXgAbmlxCzOvnUldz7olx2QXFjJh/36mHjxIIVDLyYmpjRtzb2BglZ1SfSkUZEREROzMqbxTjF05lpk/zcRgCPQK5O2/v81NzW+yOu7bkyd5ID6ePTk5ANxapw5vNG1KPRcXW7RdIRRkRERE7MjKvSsZtmQY+9L2AXBf2/uY2ncqtdz/nC59Mj+f0Xv28F5qKgAhrq683bQp/WvXtknPFUlBRkRExA6k56Tz5P+eZO6WuQCE+oQyt/9c+jXpV3KMMYbPjx3jsd27OZKfD0BccDAvNWqEj1P1/Mivnu9KRESkGlmasJSHlj7E4czDADzS8RGm9JmCt+uf06UP5eQQt3s3X504AUBzDw/mRkbS3de3YpoqLIS1ayElBYKCIDoabLD+jIKMiIhIFXU8+zgj/juCj3Z8BEAT/ya82/9dYsJjSo4pMobZyck8vXcvmYWFOFssjGnQgLFhYbhW1JTqRYtg+HA4dOjPWkgIvPEGDBxYMd/zAhRkREREqhhjDJ/9+hmPfvMox7KP4WBxYGTXkUzqNQkPZ4+S43adOsXQ+HjWZ2QA0MXbm3cjI2np5VVxzS1aBDffDMZY1w8fLq5//nmlhhmLMed2Ur1kZGTg6+tLeno6Pj4+tm5HRETkolIyU4j7Jo7FuxYD0KJOC94b8B6d63cuOSavqIhXkpJ4/sAB8ozB08GByY0a8Uj9+jhW5JTqwkIID7ceiTmbxVI8MrNv3xVfZirr57dGZERERKoAYwzvb3+fkctGkpaThpODE2N7jGVs9FhcnVxLjvsxI4Oh8fHsPHUKgGv9/XknIoIGbm4V3+TatRcOMVA8SnPwYPFxsbEV3w8KMiIiIjaXlJ7EA0seYNmeZQC0D2rPeze8R5vANiXHZBUU8H/79jHj8GEMUNvZmRlNmnBb3bqVt7BdSkr5HlcOFGRERERspMgUMXvTbJ5a8RRZeVm4OroyIXYCo7uNxsnhz4/o/544wYMJCSTl5gJwT716vN64MbUre2G7oKDyPa4cKMiIiIjYQOLviQz5aghrDqwBoFtoN+bdMI9mtZuVHHMsL4+RiYl8dPQoAGGursyOjKSfv79NeiY6uvgemMOHS9/sC3/eIxMdXWktKciIiIhUosKiQqZvmM6z3z3L6YLTeDh7MLn3ZOI6xeHoUHyDrDGGj44cYURiIicKCnAAhoeEMCk8HC9bLmzn6Fg8xfrmm4tDy9lh5szlrenTK3U9GQUZERGRSvLL0V8Y/NVgfjr8EwC9G/ZmTv85NKrVqOSY/adP81BCAstOngSglacn70ZG0rmqzLwdOLB4ivX51pGZPl3ryIiIiFQ3+YX5TFk3hefXPE9+UT4+rj683vd1hrQbUnKjbqExzDx0iHH79pFdVISrxcJz4eE8GRqKc0UtbHe5Bg6EAQO0sq+IiEh1tzl5M4O/GszPR34G4PqI65l13SxCfEJKjtmRlcXQ+Hh+yswEoKevL3MiI4n08DjvOasER8dKm2J9MQoyIiIiFSA1K5Wg1/+cvRPgHsCMa2dwe8vbS0ZhcgoLeTEpiSlJSRQYg4+jI682bszQoCAcKmtKtZ1TkBERESlnN/3rJr7Y9UXJ9i0tbmHmtTOp61m3pLY2LY1h8fHEnz4NwI21a/Nm06bUd3U993RyEQoyIiIi5WTvyb00ntHYqtaiTgv+dfO/SrbTCwp4Zu9e3klOBiDQxYW3mjZlYJ06ldprdaEgIyIiUg66vtuVHw//aFXbNGwTHYI7lGx/efw4cQkJHM7LA2BoUBCvNGpELWfnSu21Oqkyt0FPmTIFi8XCiBEjSmo5OTnExcUREBCAl5cXgwYN4siRI7ZrUkRE5Bw7juzAMtFiFWJa1GmBGW9KQkxqbi7/+OUXbty5k8N5eTRxd+fbNm2YGxmpEHOFqsSIzMaNG5k9ezatW7e2qo8cOZKvv/6azz77DF9fXx599FEGDhzI+vXrbdSpiIjIn0KmhnA487BVbVfcLiJrRwLFC9vNT01l1J49pBUU4Ag82aABz4WF4W6DqcrVkc2DTFZWFnfeeSdz587lhRdeKKmnp6czb948Fi5cyN/+9jcA5s+fT/PmzdmwYQNdu3Y97/lyc3PJ/eNZFFD8GHAREZHytD5pPT3m97CqXd3oapbfvbxk+63Dh3l09+6S7Q5eXrwbGUlbb+9K67MmsPmlpbi4OK677jr69OljVd+8eTP5+flW9WbNmtGgQQN++OGHC55v8uTJ+Pr6lnyFhoZWWO8iIlKzGGOwTLSUCjEHRx4sCTFZBQVYVq2yCjGvNmrEhvbtFWIqgE2DzCeffMKWLVuYPHlyqX2pqam4uLjg5+dnVa9Xrx6pqakXPOeYMWNIT08v+Tp48GB5ty0iIjXQN7u/wWGS9cfm3a3vxow3JYvbPZKQgPe6dVbHzImIYHSDBjhVtdV5qwmbXVo6ePAgw4cP53//+x9ubm7ldl5XV1dcNQdfRETKSZEpwnFS6ftZjj95nACPAAAO5uTQYMOGUscUxsRoYbsKZrN4uHnzZo4ePUr79u1xcnLCycmJ1atXM2PGDJycnKhXrx55eXmkpaVZve7IkSMEBgbapmkREalRFu5YWCrEjI4ajRlvSkJM182bS4WYFW3aYGJjFWIqgc1GZHr37s2OHTusavfffz/NmjXj6aefJjQ0FGdnZ1auXMmgQYMAiI+PJykpiaioKFu0LCIiNUR+YT4uL7iUqmeOycTLxQuAjRkZdN6yxWp/sIsLh7t1q5QepZjNgoy3tzctW7a0qnl6ehIQEFBSHzJkCE888QT+/v74+Pjw2GOPERUVdcEZSyIiIldq5o8zefy/j1vVXunzCk92fxIovuHXYfXqUq/7rVMnmnl6VkqP8iebT7++mGnTpuHg4MCgQYPIzc2lX79+vP3227ZuS0REqqHT+afxeKn006ZzxuXg6lR87+W/jx3j5l9+sdp/Y+3aLD7nL+ZSeSzGGGPrJipSRkYGvr6+pKen4+PjY+t2RESkChr/3XgmrZlkVZt3wzwGtxsMQH5RES5r1pR63bFu3ajtUvoSlFy5sn5+V+kRGRERkYqUlpNGrZdrlaoXPFuAo0PxTb6TDxxg7L59VvvHh4UxoWHDSulRLk5BRkREaqSHlz7MO5vfsaotvnUxNza7EYCT+fn4n+eRODk9e+KqNWGqDAUZERGpUVKzUgl6PahUvei5Iix/TJe+49df+fjoUav9HzVvzh316lVKj1J2CjIiIlJj3PSvm/hi1xdWtW/v+ZZeDXsBkJidTdOffir1uqKYmJKQI1WLgoyIiFR7e0/upfGMxlY1X1df0p5JK9mO/PFHEk6ftjpmfbt2dPP1rYwW5TIpyIiISLXW5d0u/HTYepRl07BNdAjuAMCatDRitm2z2t/K05OfO3WqrBblCijIiIhItbTjyA5av9Paqtaybkt2PFy8qvyFFrbb26ULDd3dK6VHuXIKMiIiUu3Un1qf5Mxkq9quuF1E1o4E4P3UVO7btctq/32Bgcxv1qzSepTyoSAjIiLVxvqk9fSY38OqdnWjq1l+93IAcgoLcV+7ttTr0nr0wNdJH4n2SP/WRETE7hljcJhUem2XgyMPEuITAsCYvXuZkpRktf+1xo0ZFRpaKT1KxVCQERERu/bN7m+4buF1VrV72tzD+ze+D8DRvDzqff99qdfl9+yJkxa2s3sKMiIiYpeKTBGOkxxL1Y8/eZwAjwAA/v7zz/zn99+t9n/ZsiU31K5dKT1KxVMUFRERu/PRzx+VCjGjo0ZjxhsCPALYmZWFZdUqqxDj7uCAiY1ViKlmNCIjIiJ2I78wH5cXSj9tOnNMJl4uXgDUXreOEwUFVvu3duhAW2/vSulRKpdGZERExC7M/HFmqRDzSp9XMOMNXi5e/PfECSyrVlmFmJ6+vpjYWIWYakwjMiIiUqWdzj+Nx0sepeq5/5eLi6MLhcbgdJ6F7Q5HRRHs6loZLYoNaURGRESqrPHfjS8VYubdMA8z3uDi6MKbhw6VCjEjQkIwsbG2DzGFhbBqFXz8cfE/Cwtt2081pREZERGpctJy0qj1cq1S9YJnC3B0cCSroADvdetK7c+KjsbTsfRMpkq3aBEMHw6HDv1ZCwmBN96AgQNt11c1pBEZERGpUh5a+lCpELP41sWY8QZHB0ceSUgoFWJmR0RgYmOrToi5+WbrEANw+HBxfdEi2/RVTVmMMcbWTVSkjIwMfH19SU9Px8fHx9btiIjIBaRmpRL0elCpetFzRVgsFg7m5NBgw4ZS+wtjYnCwWCqjxb9WWAjh4aVDzBkWS/HIzL59UBVCVxVW1s9vjciIiIjN3fjJjaVCzHf3focZb7BYLHTdvLlUiFnRpg0mNrbqhBiAtWsvHGIAjIGDB4uPk3Khe2RERMRm9p7cS+MZja1qfm5+nHz6JAAbMzLovGWL1f4QV1cORkVVWo+XJCWlfI+Tv6QgIyIiNvHB9g+454t7rGqbhm2iQ3CH4odAnmdK9W+dOtHM07OyWrx0QaUvjV3RcfKXdGlJREQqVXpOOsO+GmYVYlrWbYkZb+gQ3IF/HztWKsTcWLs2Jja2aocYgOjo4ntgLnS5y2KB0NDi46RcaERGREQqzZL4JTz09UMkZyYDEN0gmo8HfUx9n/rkFRXhumZNqdcc69aN2i6lH0tQJTk6Fk+xvvnm4tBy9nyaM+Fm+nTd6FuONCIjIiIV7nj2ce5cdCc3fHIDyZnJNPFvwur7VrPm/jXU96nP5AMHSoWY8WFhmNhY+wkxZwwcCJ9/DvXrW9dDQorrWkemXGlERkREKowxhs9+/YxHv3mUY9nHcLA4MCpqFBNjJ+Lu7M7J/Hz8168v9bqcnj1xdbDjv2sPHAgDBhTPTkpJKb4nJjpaIzEVQEFGREQqREpmCo988whf7PoCgBZ1WvDegPfoXL8zAEuPH6f/zp1Wr1nYvDm316tX2a1WDEdHiI21dRfVnoKMiIiUK2MM729/n5HLRpKWk4aTgxNje4xlbPRYXJ1cySooYNy+fcw4fNjqdUUxMViq0powYhcUZEREpNwcSDvAg0sfZNmeZQB0COrAvBvm0SawDQD/OXGChxISSMrNBaChmxtftGxJay8vm/Us9k1BRkRErliRKeKdTe/w9IqnycrLwtXRlYmxExnVbRRODk4cy8tjZGIiHx09CkC4mxuzIyLo6+9v487F3inIiIjIFdl9YjdDlwxlzYHiWUfdQ7sz74Z5RNaOxBjDh6mpjEhM5ERBAQ7AiJAQJjVsWDUe8Ch2T0FGREQuS2FRIdM2TOPZ754lpyAHD2cPpvSeQlznOBwsDuw/fZqHEhJYdrL4cQOtPT15NzKSTnqAr5QjBRkREblkO4/uZPCXg9mYvBGA3g17M7f/XBrWakihMUw/eJBx+/aRXVSEq8XCc+HhPBkairM9T6mWKklBRkREyiyvMI8p66bwwpoXyC/Kx9fVl9f7vs7gdoOxWCz8nJXF0Ph4NmZmAtDT15c5kZFEenjYuHOprhRkRESkTDYnb2bwV4P5+cjPAPSP6M+s62ZR36c+OYWFvHDgAC8fPEiBMfg4OvJq48YMDQrCQVOqpQIpyIiIyEXlFOQwYdUEXvv+NQpNIQHuAcy8dia3tbwNi8XCmrQ0hsXHk3D6NAA31a7Nm02bEuzqauPOpSZQkBERkQtan7SeIV8NIf5EPAC3triVGdfOoK5nXdILCnhm717eSS5+AGSgiwtvNW3KwDp1bNmy1DAKMiJinwoL9RybCpSVl8W4leOY+dNMDIZAr0BmXTeLG5vdCMCXx4/zSEICyXl5AAwLCuKVRo3wc3a2YddSEynIiIj9WbQIhg+HQ4f+rIWEwBtv6MnC5WDF3hUMWzKM/Wn7Abi/7f283vd1arnXIjU3l8cSE/n82DEAmrq7MycigthatWzYsdRkCjIiYl8WLYKbbwZjrOuHDxfXP/9cYeYypeekM3r5aN7d+i4ADXwbMOf6OfRr0g9jDPNSUhi9Zw9pBQU4Ak81aMCzYWG4ayRMbMhizLm/DaqXjIwMfH19SU9Px0eLMInYt8JCCA+3Hok5m8VSPDKzb58uM12iJfFLeOjrh0jOLL7fJa5THJN7T8bb1ZvE7GweSEjgu7Q0ADp4efFuZCRtvb1t2LFUd2X9/NaIjIjYj7VrLxxioHiU5uDB4uNiYyutLXt2PPs4w/87nIU7FgLQxL8J826YR8+wnhQUFfFyUhIT9u8np6gIdwcHnm/YkOH16+Okhe2kilCQERH7kZJSvsfVYMYYPvv1Mx795lGOZR/DweLAqKhRTIydiLuzO1syMxkaH8/WrCwA+tSqxeyICBq5u9u4cxFrCjIiYj+Cgsr3uBoqJTOFR755hC92fQFAizoteG/Ae3Su35nswkKe3LOHqQcPUgTUcnJiWpMm3FOvHhYtbCdVkIKMiNiP6Ojie2AOHy59sy/8eY9MdHTl92YHjDG8v/19Ri4bSVpOGk4OToztMZax0WNxdXJl5cmTPBAfz96cHABuq1uX6U2aUM/Fxcadi1yYgoyI2A9Hx+Ip1jffXBxazg4zZ0YLpk/Xjb7ncSDtAA8ufZBle5YB0CGoA+8NeI/W9Vrze34+D+/axfzUVABCXF2Z1bQp19eubcuWRcpEd2uJiH0ZOLB4inX9+tb1kBBNvT6PIlPE2xvfpuWslizbswxXR1em9J7ChqEbaFW3FZ8ePUrzn35ifmoqFuDR+vX5pVMnhRixGxqRERH7M3AgDBiglX3/wu4Tuxm6ZChrDqwBoHtod+bdMI/I2pEcysnhkd2/seTECQCae3jwbmQk3Xx9bdmyyCVTkBER++ToqCnWF1BYVMi0DdN49rtnySnIwdPZk8m9JxPXOQ6w8Pbhwzyzdy+ZhYU4WyyMbdCAMWFhuGpKtdghBRkRkWpk59GdDP5yMBuTNwLQu2Fv5vafS8NaDfnt1CmGxcezPiMDgK4+PrwbGUkLT09btixyRRRkRESqgbzCPKasm8ILa14gvygfX1dfXu/7OoPbDSbfGJ7fv58XDhwgzxi8HB2Z3LAhD9evj6OmVIudU5AREamKLuHp3puTNzP4q8H8fORnAPpH9GfWdbOo71OfDenpDI2P55fsbAD+7u/PrIgIGri5VdpbEalICjIiIlVNGZ/ufTr/NBNXT+S171+j0BQS4B7AzGtnclvL2zhVWMjw3buZefgwBqjj7MyMJk24tW5dLWwn1YqCjIhIVVLGp3uvT1rP4K8Gk3AiAYBbW9zKjGtnUNezLv85cYKHEhJIys0F4J569ZjapAkBzs6V/W5EKpyCjIhIVVFYWDwSc75Vi40Bi4Ws0Y8z1u073tz4FgZDoFcgs66bxY3NbuRYXh53/vorC48eBSDczY3ZERH09fev5DciUnkUZEREqoq/eLr3ioaGYf0Ps3/jmwDc3/Z+Xu/7On5ufnyQmsrIxEROFBTgAIwICWFSw4Z4am0dqeYUZEREqooLPLU7zQ1G94V57Yu3GzjVZu5tH9G3cV/2nz7NbT//zPKTJwFo7enJu5GRdPLxqayuRWxKQUZEpKo4z1O7l0TAQ9dD8h+5JO4nmDzyfTwaXc30gwcZt28f2UVFuFosjA8PZ3RoKM5a2E5qEAUZEZGq4qyne68PMfQY8ueuJidg3lfQsyiUnzv3YOiWLWzMzASgp68vcyMjifDwsFHjIrajICMiUlU4OmKmT8dh581W5Zt+g48WgcXiwv99MZuXt26lwBh8HR15tXFjhgQF4aAp1VJD2XT8cdasWbRu3RofHx98fHyIioriP//5T8n+nJwc4uLiCAgIwMvLi0GDBnHkyBEbdiwiUnG+Tvi6VIi5byss+hdsjOlDm2++4UV3dwqM4abatfm1c2eGBQcrxEiNZjHmfPP8KseSJUtwdHSkadOmGGN4//33efXVV9m6dSstWrTg4Ycf5uuvv2bBggX4+vry6KOP4uDgwPr168v8PTIyMvD19SU9PR0f3fwmIlVQkSnCcVLp2UXHu32B04nTPB0YyOw/aoEuLrzVtCkD69Sp3CZFKllZP79tGmTOx9/fn1dffZWbb76ZOnXqsHDhQm6+ufhvKLt27aJ58+b88MMPdO3a9byvz83NJfePRaCg+AcRGhqqICMiVdKHP3/I3Yvvtqo91e0pXr76ZUJ/+IFDZ/0+GxYUxCuNGuGnhe2kBihrkKky98gUFhby2WefcerUKaKioti8eTP5+fn06dOn5JhmzZrRoEGDiwaZyZMnM3HixMpqW0TksuQX5uPygkupeuaYTNZm5mJZtcqq/l2bNsTWqlVJ3YnYD5vP0duxYwdeXl64urry0EMPsXjxYq666ipSU1NxcXHBz8/P6vh69eqRmpp6wfONGTOG9PT0kq+DBw9W8DsQEbk0M36cUSrEvHr1qxQ8V4T395v4+44dVvtORUcrxIhcgM1HZCIjI9m2bRvp6el8/vnn3Hvvvaxevfqyz+fq6oqrq2s5digiUj6y87PxfMmzVD33/3KZk3IUp3N+9z0REsLrTZpUVnsidsnmQcbFxYUmf/yP2qFDBzZu3Mgbb7zBrbfeSl5eHmlpaVajMkeOHCEwMNBG3YqIXJ5nv32WF9a+YFV774b3uLnV3biuXVfq+FPR0Xjo8QIif8nml5bOVVRURG5uLh06dMDZ2ZmVK1eW7IuPjycpKYmoqCgbdigiUnZpOWlYJlpKhZiCZwv40aMbPuusQ8zciAhMbKxCjEgZ2XREZsyYMVx77bU0aNCAzMxMFi5cyKpVq1i2bBm+vr4MGTKEJ554An9/f3x8fHjssceIioq64I2+IiJVyYNLHmTOljlWtcW3LqZD+DU4rVlb6vjCmBitCSNyiWwaZI4ePco999xDSkoKvr6+tG7dmmXLlnH11VcDMG3aNBwcHBg0aBC5ubn069ePt99+25Yti4j8pZTMFIKnBpeqFz1XRNctW/hpwwar+oo2beitm3lFLkuVW0emvGlBPBGpTAM+GcBX8V9Z1b679zs8/dvTecsWq3qIqysHdalc5Lzsbh0ZERF7tuf3PTSZaT3DqJZbLU48dQKH1athv3WI2dW5M5F6yKPIFVOQERG5Qp3ndmZj8kar2uYHNrPXMaQ4xJxlYO3a/Ltly8psT6RaU5AREblMPx/5mTbvtLGqtarbik0PbsN1zRrgV6t9x7t3J0CPFxApVwoyIiKXIfj1YFKyUqxq8Y/G81mW6x8h5k/jw8KY0LBhZbYnUmMoyIiIXIJ1SeuInh9tVevXuB8f37oE//XrSx2f07Mnrg5VbskukWpDQUZEpAyMMThMKh1IDo08xOhD6aVCzMfNm3NbvXqV1Z5IjaW/JoiI/IWvE74uFWLua3sfCU+eImTLbj45etRqX1FMjEKMSCW5rBGZY8eOUadOnfPu27FjB61atbqipkREqoIiU4TjpNKPCjj+5HG67kgk4qefrOrft2tHlK9vZbUnIlzmiEyrVq34+uuvS9Vfe+01OnfufMVNiYjY2oc/f1gqxDzV7SlWDT9J7Z92kHj6dEm9rZcXJjZWIUbEBi5rROaJJ55g0KBB3H///UydOpXff/+de+65hx07drBw4cLy7lFEpNLkF+bj8oJLqXrGM5n4/LCJV7Zts6rv69KFcHf3SupORM51WSMyTz31FD/88ANr166ldevWtG7dGldXV37++Wduuumm8u5RRKRSzPhxRqkQ8+rVrzL/gWR8fthkVR8SGIiJjVWIEbGxy5611KRJE1q2bMm///1vAG699VYCAwPLrTERkcqSnZ+N50uepeppY7Lx+/5HiI+3qqf36IGPkyZ9ilQFlzUis379elq3bs3u3bv5+eefmTVrFo899hi33norJ0+eLO8eRUQqzLPfPlsqxMwfMJ+n70osDjFneb1xY0xsrEKMSBVyWU+/dnV1ZeTIkTz//PM4/7Hc9p49e7jrrrs4ePAghw4dKvdGL5eefi0i55OWk0atl2uVqh9+Opv6G34sVc/v2RMnLWwnUmkq9OnXy5cvJyYmxqrWuHFj1q9fz4svvng5pxQRqTQPLnmQOVvmWNUW37qYd3IblgoxX7VsSf/atSuzPRG5BJc1ImNPNCIjImekZKYQPDW4VH37Exm02bzZqubh4MCpnj0rqzUROUe5j8jMmDGDBx54ADc3N2bMmHHB4ywWC4899tildSsiUsFu+PgGliQssap9d+933HjQsVSI2daxI228vCqzPRG5TGUekWnYsCGbNm0iICCAhhd5iqvFYmHv3r3l1uCV0oiMSM225/c9NJnZxKpWy60WHw7dzXU7dljVe/n58W3btpXYnYhcSFk/v3VpSUSqrY5zOrI5xXq05adhm+ickFnq2OSoKIJcXSurNRH5C2X9/L7kW/Dz8/Np3Lgxv/322xU1KCJSUX4+8jOWiRarENO6XmtmDDlYKsQ8ERKCiY1ViBGxU5c8a8nZ2ZmcnJyK6EVE5IoFvx5MSlaKVW3Lw7/S/tcjPJ6YaFU/FR2Nh2Pph0KKiP24rEUR4uLiePnllykoKCjvfkRELsu6pHVYJlqsQky/xv148LZdtP/1iNWxcyMiMLGxCjEi1cBlrSOzceNGVq5cyfLly2nVqhWentarYi5atKhcmhMR+SvGGBwmlf472Y+PJNLll4OQYj06UxgTg4PFUlntiUgFu6wg4+fnx6BBg8q7FxGRS/J1wtdc//H1VrX72t7HLyGPFoeYs6xo04betUqv5Csi9u2SgkxRURGvvvoqCQkJ5OXl8be//Y0JEybgrqe/ikglMsYwa9Ms4r6Js6ovf3gffX/dD5l/3tAb6upKUlRUJXcoIpXlku6RefHFFxk7dixeXl7Ur1+fGTNmEBcX99cvFBEpJwfSDnDNR9dYhZgnuz0JMd8Vh5iz7OrcWSFGpJq7pHVkmjZtyujRo3nwwQcBWLFiBddddx2nT5/GoYo+TE3ryIhUD0WmiFkbZ/HMymfIysvC1dGVSb0mEdb4Lm7blWB17KDatfm8ZUsbdSoi5aFCHhqZlJTE3//+95LtPn36YLFYSE5OJiQk5PK7FRG5iIQTCQz9aihrk9YC0D20O3P7v8tVv6TCOSHmePfuBDg726JNEbGBSxpGKSgowM3Nzarm7OxMfn5+uTYlIgJQUFTAq+tfpc07bVibtBZPZ09mXjuT2bf8h9v3Wy9sNyE8HBMbqxAjUsNc0oiMMYb77rsP17NWwMzJyeGhhx6ymoKt6dcicqV2Ht3J4C8HszF5IwB9GvXhretm80mGA+03byHvrKviuT174lJFL2+LSMW6pCBz7733lqrddddd5daMiEheYR5T1k3hhTUvkF+Uj6+rL6/3fZ3mjQYxMCGBX7KzAfi7vz+zIiJocM4osYjULJcUZObPn19RfYiIsCl5E4O/HMyOo8VPpe4f0Z/XrnmTN4/nMmzbNgxQx9mZGU2acGvduli0sJ1IjXdZC+KJiJSn0/mnmbh6Iq9+/ypFpojaHrWZcc0MfIKu5updu0nKzQXg3nr1eL1JE90HIyIlFGRExKbWJa1jyFdDSDhRPPvotpa38Vzv13g+OZ2Pd+4EoKGbG7MjIrja39+WrYpIFaQgIyI2kZWXxdiVY3nzpzcxGIK8gnj7urfJ9OtK9M5EThQU4ACMDAlhYsOGeOoBjyJyHgoyIlLpVuxdwbAlw9ifth+AwW0H81jP53k66RjLd+0CoLWnJ/MiI+mohSxF5CIUZESk0qTlpDF6+WjmbZ0HQJhvGLOun80u16voviOR7KIiXC0WxoeHMzo0FGdNqRaRv6AgIyKVYkn8Eh76+iGSM5MBiOsUx51dxzF8XzIbM/cAEOPry5zISCI8PGzZqojYEQUZEalQx04dY/h/h/Pxzo8BaOrflLevm80qwui5I4ECY/B1dOTVxo0ZEhSEg6ZUi8glUJARkQphjOHTXz7l0f88yvHs4zhYHBgVNYqr240kbk8SCaeTABhYuzYzmzYl+KwVw0VEykpBRkTKXXJmMo98/Qhfxn8JQMu6LZlx3Rz+ddqfvjvjAQhyceHNpk0ZWKeOLVsVETunICMi5cYYw4JtCxi5bCTpuek4OTgxLnocLZoN4869B0jJSwHggaAgXm7UCD8tbCciV0hBRkTKxYG0Azyw9AGW71kOQIegDrx87TvMSndj4q7dADR1d2duZCQxfn427FREqhMFGRG5IkWmiFkbZ/HMymfIysvC1dGVibET8Qu/nUH7DpBemIUj8FSDBjwbFoa7FrYTkXKkICMily3hRAJDvxrK2qS1AHQP7c6zfd9kynFYlbgXgI7e3rwbGUkbLy9btioi1ZSCjIhcsoKiAqb9MI3nVj1HTkEOns6evNh7MqfqXc+New+SU1SEu4MDLzRsyOP16+Okhe1EpIIoyIjIJdl5dCeDvxzMxuSNAPRp1IfHe03judQctu0/AMDVtWrxTkQEjdzdbdmqiNQACjIiUiZ5hXlMWTeFF9a8QH5RPr6uvkzu8yp7/HpxY+IhigB/JyemNWnC3fXqYdHCdiJSCRRkROQvbUrexOAvB7Pj6A4A+kf0547ukxmXnMneQ4cAuL1uXaY3aUJdFxdbtioiNYyCjIhc0On800xYNYHXfniNIlNEbY/avHT1VNa7duT2vUcACHV1ZVZEBNcFBNi4WxGpiRRkROS81iWtY8hXQ0g4kQDAbS1u42+dnuX/Dp3kaNoRLEBc/fq81LAh3k76VSIitqHfPiJiJSsvizErxvDWxrcwGIK8gni+7xt8STMe2HcUgOYeHrwbGUk3X18bdysiNZ2CjIiUWLF3BcOWDGN/2n4A7m97P1e1GsXIw7+TWXgCZ4uFcWFhPNOgAa6aUi0iVYCCjIiQlpPG6OWjmbd1HgBhvmGMu3oGC3JDmJ90DIAoHx/ejYzkKk9PW7YqImJFQUakhvsq/ise/vphkjOTAXio4yP4RzzMo8knyDMZeDk6MqVRIx4ODsZBU6pFpIpRkBGpoY6dOsbw/w7n450fA9DUvykje7/BW1kB/HL4OADX+fszKyKCUDc3W7YqInJBCjIiNYwxhk9/+ZRH//Mox7OP42Bx4LEuI8lrcC9xR05gyKaOszMzmjTh1rp1tbCdiFRpCjIiNUhyZjKPfP0IX8Z/CUDLui0ZEjOVqeleHDxyAoB769Xj9SZNCHB2tmWrIiJloiAjUgMYY1iwbQEjl40kPTcdJwcnRnR7hqR6gxh5NA3IpaGbG7MjIrja39/W7YqIlJmCjEg1dyDtAA8sfYDle5YD0CGoAzd1f4VpJ104cTwNB2BkSAgTGzbE09HRts2KiFwiBRmpmQoLYe1aSEmBoCCIjoZq9iGen5fDk/+8i3eTl3LK5OLq6MqIHs+y2fca/u9YJlBAG09P3o2MpKOPj63bFRG5LDZd0Wry5Ml06tQJb29v6taty4033kh8fLzVMTk5OcTFxREQEICXlxeDBg3iyJEjNupYqoVFiyA8HHr1gjvuKP5neHhxvZqYPmcwLpPdeePwvzllcumWBCMP92em6caK9ExcLRYmN2zIxg4dFGJExK7ZNMisXr2auLg4NmzYwP/+9z/y8/Pp27cvp06dKjlm5MiRLFmyhM8++4zVq1eTnJzMwIEDbdi12LVFi+Dmm+GPJzaXOHy4uG7nYSY7PxvLRAsjU+aX1Poc8CSvw5tMuTWObIuFmPx8fu7UiWfCwnDW6rwiYucsxhhj6ybOOHbsGHXr1mX16tX07NmT9PR06tSpw8KFC7n55psB2LVrF82bN+eHH36ga9euf3nOjIwMfH19SU9Px0d/86zZCguLR17ODTFnWCwQEgL79tnlZaZxK8fx0rqXrGqNvO5ib4chAPhmZfHq7NkM+flnHPbutcv3KCI1R1k/v6vUPTLp6ekA+P8xa2Lz5s3k5+fTp0+fkmOaNWtGgwYNLhhkcnNzyc3NLdnOyMio4K7Fbqxde+EQA2AMHDxYfFxsbKW1daVOnj6J/yvnmWnUcwV7LcVhZeCaNcycMYPgE8VTrO3tPYqIXEiVGVcuKipixIgRdO/enZYtWwKQmpqKi4sLfn5+VsfWq1eP1NTU855n8uTJ+Pr6lnyFhoZWdOtiL1JSyve4KuCBJQ+UDjEtXoCY7+CPEPPsP//Jv8eP/zPEgF29RxGRi6kyIzJxcXHs3LmTdevWXdF5xowZwxNPPFGynZGRoTAjxYKCyvc4G0rJTCF4anDpHT2/Lb5E9odtQ4fSZs+e0sfZwXsUESmLKhFkHn30UZYuXcqaNWsICQkpqQcGBpKXl0daWprVqMyRI0cIDAw877lcXV1xdXWt6JbFHkVHF98Dc/hw8WWkc525RyY6uvJ7uwQ3fHwDSxKWWBfbTAO/tiWbvTdvZsXo0aVfbCfvUUSkrGx6ackYw6OPPsrixYv59ttvadiwodX+Dh064OzszMqVK0tq8fHxJCUlERUVVdntir1zdIQ33ij+87nPDzqzPX16lb0JNvH3RCwTLdYhxsmn+DLSWSEm+eRJVjz5pF2+RxGRS2XTIBMXF8eHH37IwoUL8fb2JjU1ldTUVE6fPg2Ar68vQ4YM4YknnuC7775j8+bN3H///URFRZVpxpJIKQMHwuefQ/361vWQkOJ6FZ3a33FOR5rObGpdbD8Hun9ZsjkqJAQTG0vQTTfZ5XsUEbkcNp1+faGn6s6fP5/77rsPKF4Qb9SoUXz88cfk5ubSr18/3n777QteWjqXpl/LednJyr7bU7fTdnZb66JnY+j4rlXpVHQ0Huf2byfvUUTkfMr6+V2l1pGpCAoyYq8CXwvkyKlzVrHu9AF4/Hkf2dyICIYGn+emXxERO2eX68iICKw9sJaeC3paF/27QKspVqXCmBgcLjCqKSJSUyjIiFQRxhgcJp3ntrWun4JrnZLNb9u0oVetWpXYmYhI1VVlFsQTqcmWJiwtHWICrymekfRHiAlzdcXExirEiIicRSMyIjZUZIpwnHSeG3C7fQnOf14Tju/cmQgPj0rsTETEPmhERsRGPtj+QekQE3pH8SjMHyHm5jp1MLGxCjEiIhegERmRSpZfmI/LCy6ld/T4BhzdSzaPd+9OgLNzJXYmImJ/NCIjUommb5heOsQ0erh4FOaPEDMxPBwTG6sQIyJSBhqREakE2fnZeL7kWXpH9HJw+DOw5PbsiYuD/n4hIlJW+o0pUsHGrRxXOsREPl08CvNHiPnkqqswsbEKMSIil0gjMiIV5OTpk/i/4l96R8+VYPkzsBTFxFzwcR0iInJxCjIiFeCBJQ8wd8tc62KLF6B295LNDe3b00WPzRARuSIKMiLlKCUzheCp53n2Uc9v4Y9Rl3ZeXmzp2LGSOxMRqZ4UZETKyfULr+fr3V9bF9tMA7+2JZv7u3YlzM2tchsTEanGFGRErlDi74k0ndnUuujkA92/LNkcGhTE3MjISu5MRKT6U5ARuQId5nRgS8oW62L7OeD9Z7BJ79EDHyf9ryYiUhH021XkMmxL3Ua72e2si56NoeO7JZvTGjdmRGhoJXcmIlKzKMiIXKJ6r9Xj6Kmj1sVOH4BHSMlmfs+eOGlNGBGRCqfftCJltPbAWiwTLdYhxr9L8cJ2f4SYpa1aYWJjFWJERCqJRmRE/oIxBodJ5wkmXT8D19oAeDs6khEdXcmdiYiI/toochFLE5aWDjGB1xSPwvwRYrZ17KgQIyJiIxqRETmPIlOE4yTH0ju6fQXO3gD09vNjRdu2lduYiIhYUZAROccH2z/gni/usS6G3gGNhpVspkRFEejqWsmdiYjIuRRkRP6QX5iPywsupXf0+AYc3QEYFRLCa02aVHJnIiJyIQoyIsD0DdMZuWykdbHRwxB6S8nmqehoPBzPc7lJRERsRkFGaqbCQli7luzD+/FMvL/0/ujl4OAMwLzISAYHBVVygyIiUhYKMlLzLFoEw4czLuIQL/U8Z1/k08Wzkv5QGBODwx9PrRYRkapHQUZqlkWLOHnXIPyfPs++nivBUjzV+ts2behVq1bl9iYiIpdM68hIzVFYyNDP7y4dYlq8ULwujMWBsGPHMNHRCjEiInZCIzJSI6RkphA8NRgiz9nR81v449JR/N13E3HoEHz3HcTGVnqPIiJy6TQiI9Xe9QuvLw4xZ2sz/Y9RGAv/WLUK06tXcYgBSEmp9B5FROTyaERGqq3E3xNpOrOpddHZD7otLtk8PmAAARkZ1sdohpKIiN1QkJFqqcOcDmxJ2XJOcS54FS9mN+m993j2gw+s91ssEBICem6SiIjdUJCRamVb6jbazW5nXfRsDB3fLdnM7dsXl4IC62POTLGePh206J2IiN3QPTJSbdR7rV7pENP5w5IQ88lVV2FiY3H55BOoX9/6uJAQ+PxzGDiwkroVEZHyoBEZsXtrD6yl54JzVrbz7wKtppRsFsXEYDkz6jJwIAwYAGvXFt/YGxRUfDlJIzEiInZHQUbsljEGh0nnGVTs+hm41gZgQ/v2dPHxKX2Mo6OmWIuIVAO6tCR2aUn8ktIhJvCa4inVrrVp7+WFiY09f4gREZFqQyMyYleKTBGOk85zCajbV+DsDcD+rl0Jc3Or5M5ERMQWNCIjduOf2/9ZOsSE3lE8CuPszdCgIExsrEKMiEgNohEZqfLyC/NxecGl9I4e34CjOwDpPXrg46T/nEVEahqNyEiVNu2HaaVDTKOHi0dhHN2Z3qQJJjZWIUZEpIbSb3+pkrLzs/F8ybP0jujl4OAMQH7Pnjg5KIuLiNRk+hSQKmfcynGlQ0zk08WjMA7OLG3VChMbqxAjIiIakZGq4+Tpk/i/4l96R8+VYHHA29GRDD0HSUREzqIgI1XC0K+GMm/rPOtiixehdjcAtnfsSGsvLxt0JiIiVZmCjNhUSmYKwVODS+/o+S1YLPSpVYv/tWlT+Y2JiIhdUJARm7l+4fV8vftr62Kb6eBXHFxSoqIIdHWt/MZERMRuKMhIpUv8PZGmM5taF539oNtiAEaHhvJq48aV35iIiNgdBRmpVO1nt2dr6lbrYoe54NUEgOzoaNz1FGoRESkjBRmpFNtSt9Fudjvromdj6PguAPMiIxkcFGSDzkRExJ4pyEiFq/tqXY5lH7Mudv4Q3OsDUBgTg4PFYoPORETE3mlFMakwaw6swTLRYh1i/LsUL2znXp9v27TBxMYqxIiIyGXTiIyUO2MMDpPOk5G7fgautQl3c2Nf166V35iIiFQ7GpGRcrUkfknpEBN4bfEojGtt4jt3VogREZFyoxEZKRdFpgjHSeeZbdTtK3D25h916vBpixaV35iIiFRrCjJyxf65/Z/c+8W91sXQO6DRMABOdO+Ov7OzDToTEZHqTkFGLlt+YT4uL7iU3tHjG3B05/nwcP4vPLzS+xIRkZpDQUYuy7QfpvHE8iesi40fgZB/AJDbsycuDroFS0REKpaCjFyS7PxsPF/yLL0jejk4OPPpVVfxj7p1K78xERGpkRRkpMzGrRzHS+tesi5GPgOB/QAoionBojVhRESkEinIyPkVFsLatZCSwsnaXvh/f0PpY3quBIsDG9q3p4uPT+X3KCIiNZ5Nb2JYs2YN/fv3Jzg4GIvFwhdffGG13xjDc889R1BQEO7u7vTp04fdu3fbptmaZNEiCA+HXr0Y+skdpUNMixch5js6ePtgYmMVYkRExGZsGmROnTpFmzZteOutt867/5VXXmHGjBm88847/Pjjj3h6etKvXz9ycnIqudMaZNEiuPlmktMPYZkA89qfs7/nt1C7G/u7dmVTx4626FBERKSExRhjbN0EgMViYfHixdx4441A8WhMcHAwo0aNYvTo0QCkp6dTr149FixYwG233Vam82ZkZODr60t6ejo+Gjm4uMJCCA9nSvghxvQ5Z1+b6eDXhmHffcec554Dx/MsficiIlJOyvr5XWXvkdm3bx+pqan06fPnJ6qvry9dunThhx9+uGCQyc3NJTc3t2Q7IyOjwnutLlJXfknQ0EPWRWc/6LYYgIy//x3v06ehVy+Ija30/kRERM5VZRf6SE1NBaBevXpW9Xr16pXsO5/Jkyfj6+tb8hUaGlqhfVYXT/3vKYJ+GGRd7PIxdFvM9DffxPTqVRxiAFJSKr9BERGR86iyIzKXa8yYMTzxxJ8LtWVkZCjMXMT+tP00fKOhdTH0Nmj0IN6nTnGyd28ci4qs9wcFVV6DIiIiF1Flg0xgYCAAR44cIeisD84jR47Qtm3bC77O1dUVV1fXim6vWhj61VDmbZ1nXYz6N7j4s/mBB2h/7gwxiwVCQiA6uvKaFBERuYgqe2mpYcOGBAYGsnLlypJaRkYGP/74I1FRUTbszP79duw3LBMt1iGm4VCI+Y57jCfmb3+jfWKi9YvOLHQ3fbpu9BURkSrDpiMyWVlZJJ71gblv3z62bduGv78/DRo0YMSIEbzwwgs0bdqUhg0b8uyzzxIcHFwys0kujTGGm/51E1/Gf2m9o9tX4OzN/q5dCXNzg88/h+HD4dBZN/6GhBSHmIEDK7VnERGRi7Hp9OtVq1bRq1evUvV7772XBQsWYIxh/PjxzJkzh7S0NHr06MHbb79NREREmb+Hpl8X25S8iU5zO1kXm46A4AFMCg/n2XOfUn3Wyr4EBRVfTtJIjIiIVJKyfn5XmXVkKkpNDzJFpoiYBTGsS1p3VtUBeiwFR3dOdu+On7OzzfoTERE5H7tfR0au3Or9q4l9P9a62Gwc1OvDP5s14+4/bqgWERGxVwoy1VBBUQGtZrVi1/Fdfxad/aDrvwh19yaxSxdcHKrsfd4iIiJlpiBTzXyd8DXXf3y9dbHlSxAQxbdt2tCrVi3bNCYiIlIBFGSqidyCXEKmhXA8+/ifRY8w6DiPq/1rs6x1ayxnplCLiIhUEwoy1cDHOz7mjkV3WBfbTAO/tuzs1IkWnp62aUxERKSCKcjYsay8LLwne1sXfVtDm2nE1Q/hzUuYpi4iImKPFGTs1Dub3uHhrx+2LrZ/B7wjSY6KIkiPaRARkRpAQcbOnDx9Ev9X/K2LtaPhqom83qQJT+gBmSIiUoMoyNiRyWsnM/bbsdbFjgtw9AwjrUcPvJz0r1NERGoWffLZgdSsVIJeD7IuBv4dIp/k8xYtGFSnjm0aExERsTEFmSruqf89xavfv2pd7PIxLfwbsa1jR5y0sJ2IiNRgCjJV1P60/TR8o6F1MfQ2aPQg37drR5Svr20aExERqUIUZKqgIV8O4b1t71kXo/7NwOAIPm/RQgvbiYiI/EFBpgr57dhvXPX2VdbFhsOgwR3s7tyZJh4etmlMRESkilKQqQKMMdz0r5v4Mv5L6x3dvuLpRlcxpXFj2zQmIiJSxSnI2Nim5E10mtvJuth0JATfwNFu3ajj4mKbxkREROyAgoyNFJkiYhbEsC5p3VlVB+ixlNnN2/BAcLDNehMREbEXCjI2sHr/amLfj7UuNhtHrfrXcDgqCndHR1u0JSIiYncUZCpRQVEBrWa1YtfxXX8Wnf2g67/4pk0Hrg0IsFlvIiIi9khBppIsTVhK/4/7WxdbvkTXhv1Y364dDppSLSIicskUZCpYbkEu9afW58TpE38WPcKg4zw2d+xMe29v2zUnIiJi57S+fQVauGMhbi+6WYeYNtO45/r/YHr1VogRERG5QhqRqQBZeVl4Tz4npPi2hjbT2B/VjTA3N9s0JiIiUs1oRKaczdo4q3SIaf8Oz9/4JabX3xRiREREypFGZMrJ76d/J+CVc2Yd1Y6GqyZyskcP/JydbdOYiIhINaYRmXIwee3k0iGm4wI+GPQpplcvhRgREZEKohGZK5CalUrQ60HWxcC/06D1/7G7SxdcHJQTRUREKpKCzGXacWQHrd9pbV3s8jHfdulHr1q1bNOUiIhIDaMgc5le3Pzhnxuht3F1h2dY1ro1Fi1sJyIiUmkUZC5TbKsH+dcpT/Btyc7u/Wjh6WnrlkRERGocizHG2LqJipSRkYGvry/p6en4+PiU67mzCwvx0AMeRUREyl1ZP791N+oVUIgRERGxLQUZERERsVsKMiIiImK3FGRERETEbmnW0uUoLIS1ayElBYKCIDoadL+MiIhIpVOQuVSLFsHw4XDo0J+1kBB44w0YONB2fYmIiNRAurR0KRYtgptvtg4xAIcPF9cXLbJNXyIiIjWUgkxZFRYWj8Scb9mdM7URI4qPExERkUqhIFNWa9eWHok5mzFw8GDxcSIiIlIpFGTKKiWlfI8TERGRK6YgU1ZBQeV7nIiIiFwxBZmyio4unp10oadbWywQGlp8nIiIiFQKBZmycnQsnmINpcPMme3p07WejIiISCVSkLkUAwfC559D/frW9ZCQ4rrWkREREalUWhDvUg0cCAMGaGVfERGRKkBB5nI4OkJsrK27EBERqfF0aUlERETsloKMiIiI2C0FGREREbFbCjIiIiJitxRkRERExG4pyIiIiIjdUpARERERu6UgIyIiInZLQUZERETsVrVf2dcYA0BGRoaNOxEREZGyOvO5feZz/EKqfZDJzMwEIDQ01MadiIiIyKXKzMzE19f3gvst5q+ijp0rKioiOTkZb29vLBZLuZ03IyOD0NBQDh48iI+PT7mdtyqp7u+xur8/qP7vUe/P/lX396j3d/mMMWRmZhIcHIyDw4XvhKn2IzIODg6EhIRU2Pl9fHyq5X+cZ6vu77G6vz+o/u9R78/+Vff3qPd3eS42EnOGbvYVERERu6UgIyIiInZLQeYyubq6Mn78eFxdXW3dSoWp7u+xur8/qP7vUe/P/lX396j3V/Gq/c2+IiIiUn1pREZERETsloKMiIiI2C0FGREREbFbCjIiIiJitxRkLsOaNWvo378/wcHBWCwWvvjiC1u3VG4mT55Mp06d8Pb2pm7dutx4443Ex8fbuq1yNWvWLFq3bl2ygFNUVBT/+c9/bN1WhZkyZQoWi4URI0bYupVyM2HCBCwWi9VXs2bNbN1WuTp8+DB33XUXAQEBuLu706pVKzZt2mTrtspFeHh4qX9/FouFuLg4W7dWbgoLC3n22Wdp2LAh7u7uNG7cmOeff/4vnxtkTzIzMxkxYgRhYWG4u7vTrVs3Nm7cWOl9VPuVfSvCqVOnaNOmDYMHD2bgwIG2bqdcrV69mri4ODp16kRBQQFjx46lb9++/Prrr3h6etq6vXIREhLClClTaNq0KcYY3n//fQYMGMDWrVtp0aKFrdsrVxs3bmT27Nm0bt3a1q2UuxYtWrBixYqSbSen6vPr7OTJk3Tv3p1evXrxn//8hzp16rB7925q1apl69bKxcaNGyksLCzZ3rlzJ1dffTX/+Mc/bNhV+Xr55ZeZNWsW77//Pi1atGDTpk3cf//9+Pr68vjjj9u6vXIxdOhQdu7cyQcffEBwcDAffvghffr04ddff6V+/fqV14iRKwKYxYsX27qNCnP06FEDmNWrV9u6lQpVq1Yt8+6779q6jXKVmZlpmjZtav73v/+ZmJgYM3z4cFu3VG7Gjx9v2rRpY+s2KszTTz9tevToYes2Ks3w4cNN48aNTVFRka1bKTfXXXedGTx4sFVt4MCB5s4777RRR+UrOzvbODo6mqVLl1rV27dvb8aNG1epvejSklxUeno6AP7+/jbupGIUFhbyySefcOrUKaKiomzdTrmKi4vjuuuuo0+fPrZupULs3r2b4OBgGjVqxJ133klSUpKtWyo3X331FR07duQf//gHdevWpV27dsydO9fWbVWIvLw8PvzwQwYPHlyuD/a1tW7durFy5UoSEhIA2L59O+vWrePaa6+1cWflo6CggMLCQtzc3Kzq7u7urFu3rlJ7qT5jsVLuioqKGDFiBN27d6dly5a2bqdc7dixg6ioKHJycvDy8mLx4sVcddVVtm6r3HzyySds2bLFJterK0OXLl1YsGABkZGRpKSkMHHiRKKjo9m5cyfe3t62bu+K7d27l1mzZvHEE08wduxYNm7cyOOPP46Liwv33nuvrdsrV1988QVpaWncd999tm6lXD3zzDNkZGTQrFkzHB0dKSws5MUXX+TOO++0dWvlwtvbm6ioKJ5//nmaN29OvXr1+Pjjj/nhhx9o0qRJ5TZTqeM/1RDV+NLSQw89ZMLCwszBgwdt3Uq5y83NNbt37zabNm0yzzzzjKldu7b55ZdfbN1WuUhKSjJ169Y127dvL6lVt0tL5zp58qTx8fGpNpcHnZ2dTVRUlFXtscceM127drVRRxWnb9++5vrrr7d1G+Xu448/NiEhIebjjz82P//8s/nnP/9p/P39zYIFC2zdWrlJTEw0PXv2NIBxdHQ0nTp1Mnfeeadp1qxZpfahIHOFqmuQiYuLMyEhIWbv3r22bqVS9O7d2zzwwAO2bqNcLF68uOQXy5kvwFgsFuPo6GgKCgps3WKF6Nixo3nmmWds3Ua5aNCggRkyZIhV7e233zbBwcE26qhi7N+/3zg4OJgvvvjC1q2Uu5CQEPPmm29a1Z5//nkTGRlpo44qTlZWlklOTjbGGHPLLbeYv//975X6/XWPjFgxxvDoo4+yePFivv32Wxo2bGjrlipFUVERubm5tm6jXPTu3ZsdO3awbdu2kq+OHTty5513sm3bNhwdHW3dYrnLyspiz549BAUF2bqVctG9e/dSyx4kJCQQFhZmo44qxvz586lbty7XXXedrVspd9nZ2Tg4WH/EOjo6UlRUZKOOKo6npydBQUGcPHmSZcuWMWDAgEr9/rpH5jJkZWWRmJhYsr1v3z62bduGv78/DRo0sGFnVy4uLo6FCxfy5Zdf4u3tTWpqKgC+vr64u7vbuLvyMWbMGK699loaNGhAZmYmCxcuZNWqVSxbtszWrZULb2/vUvc0eXp6EhAQUG3udRo9ejT9+/cnLCyM5ORkxo8fj6OjI7fffrutWysXI0eOpFu3brz00kvccsst/PTTT8yZM4c5c+bYurVyU1RUxPz587n33nur1dT5M/r378+LL75IgwYNaNGiBVu3bmXq1KkMHjzY1q2Vm2XLlmGMITIyksTERJ588kmaNWvG/fffX7mNVOr4TzXx3XffGaDU17333mvr1q7Y+d4XYObPn2/r1srN4MGDTVhYmHFxcTF16tQxvXv3NsuXL7d1WxWqut0jc+utt5qgoCDj4uJi6tevb2699VaTmJho67bK1ZIlS0zLli2Nq6uradasmZkzZ46tWypXy5YtM4CJj4+3dSsVIiMjwwwfPtw0aNDAuLm5mUaNGplx48aZ3NxcW7dWbv71r3+ZRo0aGRcXFxMYGGji4uJMWlpapfdhMaYaLTMoIiIiNYrukRERERG7pSAjIiIidktBRkREROyWgoyIiIjYLQUZERERsVsKMiIiImK3FGRERETEbinIiIiIiN1SkBGR81qwYAF+fn42+/779+/HYrGwbdu2CvsesbGxjBgxosLOfzHh4eFMnz7dJt9bpDpRkBGpou677z4sFgtTpkyxqn/xxRdYLBYbdSUiUrUoyIhUYW5ubrz88sucPHnS1q2USV5enq1bqNby8/Nt3YJIlaMgI1KF9enTh8DAQCZPnnzR4/7973/TokULXF1dCQ8P5/XXX7faHx4ezgsvvMA999yDl5cXYWFhfPXVVxw7dowBAwbg5eVF69at2bRpU6lzf/HFFzRt2hQ3Nzf69evHwYMHS/ZNmDCBtm3b8u6779KwYUPc3NwASEtLY+jQodSpUwcfHx/+9re/sX379ou+h59++ol27drh5uZGx44d2bp1a6ljdu7cybXXXouXlxf16tXj7rvv5vjx4xc97/r164mNjcXDw4NatWrRr18/q2BYVFTEU089hb+/P4GBgUyYMMHq9VOnTqVVq1Z4enoSGhrKI488QlZWVsn+M5fgli5dSmRkJB4eHtx8881kZ2fz/vvvEx4eTq1atXj88ccpLCy0OndmZia33347np6e1K9fn7feestqv8ViYdasWdxwww14enry4osvAvDll1/Svn173NzcaNSoERMnTqSgoAAAYwwTJkygQYMGuLq6EhwczOOPP37Rn5GIXav0x1SKSJnce++9ZsCAAWbRokXGzc3NHDx40BhjzOLFi83Z/+tu2rTJODg4mEmTJpn4+Hgzf/584+7ubvXE8rCwMOPv72/eeecdk5CQYB5++GHj4+NjrrnmGvPpp5+a+Ph4c+ONN5rmzZuboqIiY4wx8+fPN87OzqZjx47m+++/N5s2bTKdO3c23bp1Kznv+PHjjaenp7nmmmvMli1bzPbt240xxvTp08f079/fbNy40SQkJJhRo0aZgIAAc+LEifO+18zMTFOnTh1zxx13mJ07d5olS5aYRo0aGcBs3brVGGPMyZMnTZ06dcyYMWPMb7/9ZrZs2WKuvvpq06tXrwv+DLdu3WpcXV3Nww8/bLZt22Z27txpZs6caY4dO2aMKX4quI+Pj5kwYYJJSEgw77//vrFYLFZPQ582bZr59ttvzb59+8zKlStNZGSkefjhh0v2n/k5XX311WbLli1m9erVJiAgwPTt29fccsst5pdffjFLliwxLi4u5pNPPrH6d+Lt7W0mT55s4uPjzYwZM4yjo6PV9wZM3bp1zXvvvWf27NljDhw4YNasWWN8fHzMggULzJ49e8zy5ctNeHi4mTBhgjHGmM8++8z4+PiYb775xhw4cMD8+OOP1e7J2SJnU5ARqaLOBBljjOnatasZPHiwMaZ0kLnjjjvM1VdfbfXaJ5980lx11VUl22FhYeauu+4q2U5JSTGAefbZZ0tqP/zwgwFMSkqKMab4AxowGzZsKDnmt99+M4D58ccfjTHFQcbZ2dkcPXq05Ji1a9caHx8fk5OTY9VT48aNzezZs8/7XmfPnm0CAgLM6dOnS2qzZs2yCjLPP/+86du3r9XrDh48aAATHx9/3vPefvvtpnv37ufdZ0xxkOnRo4dVrVOnTubpp5++4Gs+++wzExAQULJ95ueUmJhYUnvwwQeNh4eHyczMLKn169fPPPjggyXbYWFh5pprrrE696233mquvfbakm3AjBgxwuqY3r17m5deesmq9sEHH5igoCBjjDGvv/66iYiIMHl5eRd8DyLViS4tidiBl19+mffff5/ffvut1L7ffvuN7t27W9W6d+/O7t27rS5ltG7duuTP9erVA6BVq1alakePHi2pOTk50alTp5LtZs2a4efnZ9VHWFgYderUKdnevn07WVlZBAQE4OXlVfK1b98+9uzZc97399tvv9G6deuSS1MAUVFRVsds376d7777zuqczZo1A7jgebdt20bv3r3Pu++Ms38uAEFBQVY/gxUrVtC7d2/q16+Pt7c3d999NydOnCA7O7vkGA8PDxo3blyyXa9ePcLDw/Hy8rKqnX3e873HqKioUv+OO3bsaLW9fft2Jk2aZPVzGDZsGCkpKWRnZ/OPf/yD06dP06hRI4YNG8bixYtLLjuJVEdOtm5ARP5az5496devH2PGjOG+++67rHM4OzuX/PnMrKfz1YqKii7pvJ6enlbbWVlZBAUFsWrVqlLHXsl07qysLPr378/LL79cal9QUNB5X+Pu7v6X5z37ZwDFP4czP4P9+/dz/fXX8/DDD/Piiy/i7+/PunXrGDJkCHl5eXh4eFzwHBc776U438934sSJDBw4sNSxbm5uhIaGEh8fz4oVK/jf//7HI488wquvvsrq1atL9SRSHSjIiNiJKVOm0LZtWyIjI63qzZs3Z/369Va19evXExERgaOj4xV9z4KCAjZt2kTnzp0BiI+PJy0tjebNm1/wNe3btyc1NRUnJyfCw8PL9H2aN2/OBx98QE5OTsmozIYNG0qd99///jfh4eE4OZXtV1fr1q1ZuXIlEydOLNPx59q8eTNFRUW8/vrrODgUD2B/+umnl3Wu8zn3PW7YsOGiP1so/jnEx8fTpEmTCx7j7u5O//796d+/P3FxcTRr1owdO3bQvn37culbpCrRpSURO9GqVSvuvPNOZsyYYVUfNWoUK1eu5PnnnychIYH333+fN998k9GjR1/x93R2duaxxx7jxx9/ZPPmzdx333107dq1JNicT58+fYiKiuLGG29k+fLl7N+/n++//55x48add1YUwB133IHFYmHYsGH8+uuvfPPNN7z22mtWx8TFxfH7779z++23s3HjRvbs2cOyZcu4//77S80GOmPMmDFs3LiRRx55hJ9//pldu3Yxa9asv5zpdEaTJk3Iz89n5syZ7N27lw8++IB33nmnTK8ti/Xr1/PKK6+QkJDAW2+9xWeffcbw4cMv+prnnnuOf/7zn0ycOJFffvmF3377jU8++YT/+7//A4pnUc2bN4+dO3eyd+9ePvzwQ9zd3QkLCyu3vkWqEgUZETsyadKkUpcn2rdvz6effsonn3xCy5Ytee6555g0adJlX4I6m4eHB08//TR33HEH3bt3x8vLi3/9618XfY3FYuGbb76hZ8+e3H///URERHDbbbdx4MCBkvtwzuXl5cWSJUvYsWMH7dq1Y9y4caUuIQUHB7N+/XoKCwvp27cvrVq1YsSIEfj5+ZWMlpwrIiKC5cuXs337djp37kxUVBRffvllmUd02rRpw9SpU3n55Zdp2bIlH3300V9Ohb8Uo0aNYtOmTbRr144XXniBqVOn0q9fv4u+pl+/fixdupTly5fTqVMnunbtyrRp00qCip+fH3PnzqV79+60bt2aFStWsGTJEgICAsqtb5GqxGKMMbZuQkRERORyaERGRERE7JaCjIiIiNgtBRkRERGxWwoyIiIiYrcUZERERMRuKciIiIiI3VKQEREREbulICMiIiJ2S0FGRERE7JaCjIiIiNgtBRkRERGxW/8PkusebE3fyyQAAAAASUVORK5CYII=\n" + }, + "metadata": {} + } + ], + "source": [ + "plt.scatter(data[\"n_chambres\"], data['prix'], c=\"r\")\n", + "plt.plot(data[\"n_chambres\"], data['n_chambres'] * 5, c='c', label=\"w=5\")\n", + "plt.plot(data[\"n_chambres\"], data['n_chambres'] * 5.1, c='g', label=\"w=5.1\")\n", + "plt.xlabel('Nombre de chambres')\n", + "plt.ylabel('Prix')\n", + "plt.legend()\n", + "plt.show()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 74, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "gNIsfFrOIOVm", + "outputId": "f6b8594d-59b1-47b1-90c1-92f8e20ae5d7" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "np.float64(311.81000000000006)" + ] + }, + "metadata": {}, + "execution_count": 74 + } + ], + "source": [ + "erreur(x=n_chambres, w=5.2, y=prix) #y=5.2 x\n" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "6zA-LgepIUPw", + "outputId": "e1138a26-9adc-4b92-81b2-78f5ddbcf1da" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "np.float64(305.4099999999999)" + ] + }, + "metadata": {}, + "execution_count": 36 + } + ], + "source": [ + "erreur(x=n_chambres, w=5.3, y=prix)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 75, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "0DM4Vtu2Ias_", + "outputId": "ca4c2c72-9f41-4453-d15e-62e4641a332e" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "np.float64(304.88999999999993)" + ] + }, + "metadata": {}, + "execution_count": 75 + } + ], + "source": [ + "erreur(x=n_chambres, w=5.4, y=prix) #y = 5.4x\n" + ] + }, + { + "cell_type": "code", + "execution_count": 76, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "VikNvs9dId67", + "outputId": "112206ea-1981-4c39-b451-c2e7236f9fc1" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "np.float64(310.25)" + ] + }, + "metadata": {}, + "execution_count": 76 + } + ], + "source": [ + "erreur(x=n_chambres, w=5.5, y=prix)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 77, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "g5nd9B0UIgJF", + "outputId": "8950f6bb-71f9-45c0-a67c-f25e28f7199a" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "np.float64(321.49)" + ] + }, + "metadata": {}, + "execution_count": 77 + } + ], + "source": [ + "erreur(x=n_chambres, w=5.6, y=prix)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 79, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 449 + }, + "id": "QMr85EyQIisz", + "outputId": "17cece05-63ab-455f-fdc9-bf141f220e1f" + }, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": {} + } + ], + "source": [ + "plt.scatter(data[\"n_chambres\"], data['prix'], c=\"r\")\n", + "plt.plot(data[\"n_chambres\"], data['n_chambres'] * 5, label='w=5')\n", + "plt.plot(data[\"n_chambres\"], data['n_chambres'] * 5.4, label='w=5.4')\n", + "\n", + "plt.xlabel('Nombre de chambres')\n", + "plt.ylabel('Prix')\n", + "plt.legend()\n", + "plt.show()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "metadata": { + "id": "OBRE_A4jInWS" + }, + "outputs": [], + "source": [ + "possible_w = np.arange(-20, 20, 0.001)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 80, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "-Oqcg6YGI6uX", + "outputId": "3ea3ce09-1438-4a44-f7ca-2d89a71319ab" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([-20. , -19.999, -19.998, ..., 19.997, 19.998, 19.999])" + ] + }, + "metadata": {}, + "execution_count": 80 + } + ], + "source": [ + "possible_w\n" + ] + }, + { + "cell_type": "code", + "execution_count": 81, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "p2DM9qBLJNIt", + "outputId": "70caa4fe-5d08-4f71-cbe7-e4ee9e1ea1a7" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "40000" + ] + }, + "metadata": {}, + "execution_count": 81 + } + ], + "source": [ + "possible_w.size\n" + ] + }, + { + "cell_type": "code", + "execution_count": 82, + "metadata": { + "id": "Dr4_0PwlI7yX" + }, + "outputs": [], + "source": [ + "errors = []\n", + "\n", + "for d in possible_w:\n", + " e = erreur(x=n_chambres, w=d, y=prix)\n", + " errors.append(e)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 83, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 449 + }, + "id": "qMjUPaioJLRv", + "outputId": "08df87f0-d02a-4cf2-e2dd-eedc96546e7c" + }, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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Eu+9954QQoh//etfIjAwUOh0Ov2YVatWCUdHR6HVakVcXJwAIFJTU+/af15engAg9u3bV+XPX7hwoQgODtY/Hjt2rHBzczPI+9lnn+l/lhAP/3oSUc3xTBURmawzZ85Aq9WiZcuW+uuJHB0dsX//fiQnJwMAXnvtNbz77rvo0aMHFi5ciNOnT99zfzKZDL1798a+ffuQn5+P8+fPY/LkySgtLUVCQgL279+Prl27wt7e/r65wsLC9H+2trZGly5dcOHCBQDAhQsXEBYWZnB2qUePHigsLMTVq1cRHByM/v37IygoCM8++yy+/PJL3Lx5EwDg5uaGF198ERERERgyZAg+/vhjZGZm3jdLcHCwQd6wsDAUFhYiPT29Rq8nEdUcSxURmazCwkJYWVkhLi4O8fHx+uXChQv4+OOPAQAvvfQSLl++jDFjxuDMmTPo0qULVq5cec999u3bF/v27cMff/yBjh07wtnZWV+09u/fjz59+tTqMVlZWSEyMhK//vor2rRpg5UrVyIwMBApKSkAgLVr1yImJgbdu3fH5s2b0bJlSxw5csQoP7s6rycR1RxLFRGZrI4dO0Kr1SInJwfNmzc3WLy9vfXj/Pz88Morr+DHH3/EG2+8gS+//PKe+7x9XdXWrVv110717dsXe/fuxaFDhx54PRUAg5JTUVGBuLg4tG7dGgDQunVrxMTEQAihH3Po0CE4OTmhUaNGACrPmPXo0QNvv/02Tp48CYVCgW3bthkc97x583D48GG0a9cO33///T2znDp1CsXFxQbZHB0d4efnd9fY6r6eRFQzLFVEZLJatmyJUaNG4YUXXsCPP/6IlJQUHD16FEuWLMHOnTsBANOnT8eePXuQkpKCEydOIDo6Wl9wqtK+fXu4urri+++/NyhV27dvR2lpKXr06PHAXKtWrcK2bduQkJCAKVOm4ObNmxg/fjwAYPLkyUhPT8e0adOQkJCAn376CQsXLsTMmTMhl8sRGxuLxYsX4/jx40hLS8OPP/6I3NxctG7dGikpKZg3bx5iYmJw5coV/Pbbb0hKSrrv8ZSVlWHChAk4f/48du3ahYULF2Lq1KmQy+/+5706rycR1RznqSIik7Z27Vq8++67eOONN3Dt2jV4eHigW7duePzxxwEAWq0WU6ZMwdWrV+Hs7IyBAwfio48+uuf+ZDIZevXqhZ07d6Jnz54AKouWs7MzAgMD4eDg8MBMS5cuxdKlSxEfH4/mzZvj559/hoeHBwCgYcOG2LVrF2bPno3g4GC4ublhwoQJ+mkanJ2dceDAAaxYsQIajQb+/v744IMPMGjQIGRnZyMhIQHr169HXl4efHx8MGXKFEyaNOmeWfr3748WLVqgd+/eKC0txciRI7Fo0aIav55EVHMycec5aiIiuqfU1FQEBATg5MmTVc4XRUT1Gz/+IyIiIjIClioiIiIiI+DHf0RERERGwDNVREREREbAUkVERERkBCxVREREREbAUkVERERkBCxVREREREbAUkVERERkBCxVREREREbAUkVERERkBP8PHe40DzSWw4gAAAAASUVORK5CYII=\n" + }, + "metadata": {} + } + ], + "source": [ + "plt.plot(possible_w, errors)\n", + "plt.xlabel('les w possible')\n", + "plt.ylabel('erreur')\n", + "plt.show()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 46, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "f-ihZ7BQJZZ3", + "outputId": "003a46be-e9c9-4b4c-af16-2809a45a247f" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "np.float64(304.3920140000027)" + ] + }, + "metadata": {}, + "execution_count": 46 + } + ], + "source": [ + "np.array(errors).min()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 85, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "46-XtlqNJloQ", + "outputId": "61823d60-1a8f-4628-df7b-3ab855cb0dee" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "np.int64(25359)" + ] + }, + "metadata": {}, + "execution_count": 85 + } + ], + "source": [ + "np.argmin(errors)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 86, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "gocKNF2bJwZP", + "outputId": "a7e6b35a-561c-4665-8844-682f5ce466f2" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "np.float64(5.359000000030992)" + ] + }, + "metadata": {}, + "execution_count": 86 + } + ], + "source": [ + "possible_w[25359]\n" + ] + }, + { + "cell_type": "code", + "execution_count": 87, + "metadata": { + "id": "3Qtuk97TJz9c", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "ef539bc7-2059-4ea4-f26e-550a67a2483d" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "np.float64(5.359000000030992)" + ] + }, + "metadata": {}, + "execution_count": 87 + } + ], + "source": [ + "possible_w[np.argmin(errors)]" + ] + }, + { + "cell_type": "code", + "source": [ + "plt.scatter(data[\"n_chambres\"], data['prix'], c=\"r\")\n", + "plt.plot(data[\"n_chambres\"], data['n_chambres'] * 5.359, label='w=5.359 (Le meilleur)')\n", + "\n", + "plt.xlabel('Nombre de chambres')\n", + "plt.ylabel('Prix')\n", + "plt.legend()\n", + "plt.show()" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 449 + }, + "id": "YuxhgLoc5xmT", + "outputId": "400bc025-173a-4765-827a-342c6309a4a5" + }, + "execution_count": 90, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": {} + } + ] + } + ], + "metadata": { + "colab": { + "provenance": [], + "include_colab_link": true + }, + "kernelspec": { + "display_name": "Python 3", + "name": "python3" + }, + "language_info": { + "name": "python", + "version": "3.13.5" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} \ No newline at end of file diff --git a/02-01-Recreer Tensorflow.ipynb b/02-01-Recreer Tensorflow.ipynb index 0951545..694f33e 100644 --- a/02-01-Recreer Tensorflow.ipynb +++ b/02-01-Recreer Tensorflow.ipynb @@ -1 +1,2973 @@ -{"nbformat":4,"nbformat_minor":0,"metadata":{"colab":{"provenance":[],"authorship_tag":"ABX9TyOl/sW8a9+bUAxFqg+HL1YI"},"kernelspec":{"name":"python3","display_name":"Python 3"},"language_info":{"name":"python"}},"cells":[{"cell_type":"code","execution_count":230,"metadata":{"id":"UT74bNWZakgN","executionInfo":{"status":"ok","timestamp":1687387972531,"user_tz":-60,"elapsed":467,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}}},"outputs":[],"source":["import numpy as np"]},{"cell_type":"code","source":[],"metadata":{"id":"3_UF7yxRpVQ4"},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":["# La boite générique"],"metadata":{"id":"L1c696dgpV6F"}},{"cell_type":"code","source":["class Boite():\n","\n"," def __init__(self):\n"," pass\n","\n"," def forward(self, inputs):\n"," self.inputs = inputs\n"," self.output = self.operation()\n"," return self.output\n","\n"," def backward(self, derivee_output):\n"," assert derivee_output.shape == self.output.shape, f\"La derivee_output reçue a un shape {derivee_output.shape} et different du shape de output : {self.output.shape}\"\n","\n"," self.derivee_inputs = self.gradient(derivee_output)\n"," assert self.derivee_inputs.shape == self.inputs.shape, f\"La derivee_input calculée a un shape {self.derivee_inputs.shape } et different du shape de inputs : {self.inputs.shape}\"\n","\n"," return self.derivee_inputs\n","\n","\n"," def operation(self):\n"," pass\n","\n"," def gradient(self, derivee_output):\n"," pass\n"],"metadata":{"id":"TZFzM_1BfRxH","executionInfo":{"status":"ok","timestamp":1687392395222,"user_tz":-60,"elapsed":481,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}}},"execution_count":414,"outputs":[]},{"cell_type":"code","source":[],"metadata":{"id":"bivQj03vpanD"},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":["# La boite paramètrée"],"metadata":{"id":"B1fYIrJgpbUz"}},{"cell_type":"code","source":["class BoiteParam():\n","\n"," def __init__(self, param):\n"," self.param = param\n","\n"," def forward(self, inputs):\n"," self.inputs = inputs\n"," self.output = self.operation()\n"," return self.output\n","\n"," def backward(self, derivee_output):\n"," assert derivee_output.shape == self.output.shape, f\"La derivee_output reçue a un shape {derivee_output.shape} et different du shape de output : {self.output}\"\n","\n"," self.derivee_inputs = self.gradient(derivee_output)\n"," assert self.derivee_inputs.shape == self.inputs.shape, f\"La derivee_input calculée a un shape {self.derivee_inputs.shape } et different du shape de inputs : {self.inputs.shape}\"\n","\n"," self.derivee_param = self.gradient_param(derivee_output)\n"," assert self.derivee_param.shape == self.param.shape, f\"La derivee de param a un shape {self.derivee_param.shape} et different du shape de param : {self.param.shape}\"\n","\n"," return self.derivee_inputs\n","\n","\n"," def operation(self):\n"," pass\n","\n"," def gradient(self, derivee_output):\n"," pass\n","\n","\n"," def gradient_param(self, derivee_output):\n"," pass"],"metadata":{"id":"MkjaXZU6gNs_","executionInfo":{"status":"ok","timestamp":1687388825470,"user_tz":-60,"elapsed":3,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}}},"execution_count":301,"outputs":[]},{"cell_type":"markdown","source":["# La classe Dot"],"metadata":{"id":"y8Rt0F5Wifmp"}},{"cell_type":"code","source":["class Dot(BoiteParam):\n","\n"," def __init__(self, weights):\n"," super().__init__(weights)\n","\n"," def operation(self):\n"," return np.dot(self.inputs, self.param)\n","\n"," def gradient(self, derivee_output):\n"," return np.dot( derivee_output, self.param.T)\n","\n"," def gradient_param(self, derivee_output):\n"," return np.dot(self.inputs.T, derivee_output)\n","\n"," def __repr__(self):\n"," return \"DotProduct\""],"metadata":{"id":"eK4i0lrqiHJh","executionInfo":{"status":"ok","timestamp":1687388827304,"user_tz":-60,"elapsed":440,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}}},"execution_count":302,"outputs":[]},{"cell_type":"code","source":["X = np.array([[ 2, 3, -2],\n"," [ 4, 5, -1],\n"," [-5, 2, 3],\n"," [ 0, 5, 4]])"],"metadata":{"id":"usc5umRWjnBS","executionInfo":{"status":"ok","timestamp":1687388829277,"user_tz":-60,"elapsed":398,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}}},"execution_count":303,"outputs":[]},{"cell_type":"code","source":["X.shape"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"Oj1075Umjr7Q","executionInfo":{"status":"ok","timestamp":1687388830942,"user_tz":-60,"elapsed":5,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"4253c2e3-454c-4f9e-9d85-5475c0c40c95"},"execution_count":304,"outputs":[{"output_type":"execute_result","data":{"text/plain":["(4, 3)"]},"metadata":{},"execution_count":304}]},{"cell_type":"code","source":["W = np.array([[ 0.49671415],\n"," [-0.1382643 ],\n"," [ 0.64768854]])\n","W.shape"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"arp83t_djtWK","executionInfo":{"status":"ok","timestamp":1687388831513,"user_tz":-60,"elapsed":4,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"d5e28430-6430-4853-8763-f1f4979706a1"},"execution_count":305,"outputs":[{"output_type":"execute_result","data":{"text/plain":["(3, 1)"]},"metadata":{},"execution_count":305}]},{"cell_type":"code","source":["np.dot(X, W)"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"W6bkTgYWjyGG","executionInfo":{"status":"ok","timestamp":1687361118701,"user_tz":-60,"elapsed":393,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"bb3b807e-0888-4625-d804-cab678fabe56"},"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"text/plain":["array([[-0.71674168],\n"," [ 0.64784656],\n"," [-0.81703373],\n"," [ 1.89943266]])"]},"metadata":{},"execution_count":11}]},{"cell_type":"code","source":["M = Dot(weights=W)\n","out = M.forward(X)\n","out"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"-v0D4QMIj1zH","executionInfo":{"status":"ok","timestamp":1687387986260,"user_tz":-60,"elapsed":4,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"03245972-e16e-4cd8-e5ea-14eb36aac935"},"execution_count":236,"outputs":[{"output_type":"execute_result","data":{"text/plain":["array([[-0.71674168],\n"," [ 0.64784656],\n"," [-0.81703373],\n"," [ 1.89943266]])"]},"metadata":{},"execution_count":236}]},{"cell_type":"code","source":["M"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"z8ocMfPXkEgy","executionInfo":{"status":"ok","timestamp":1687387987145,"user_tz":-60,"elapsed":2,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"380a1668-49d6-4205-97e3-0c10299069d5"},"execution_count":237,"outputs":[{"output_type":"execute_result","data":{"text/plain":["DotProduct"]},"metadata":{},"execution_count":237}]},{"cell_type":"code","source":["d_out = np.random.randn(4, 1)\n","d_out"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"nW3vfrDGkHee","executionInfo":{"status":"ok","timestamp":1687387987724,"user_tz":-60,"elapsed":3,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"a28f2605-9319-41c1-c4a8-d2ad3d2a33a4"},"execution_count":238,"outputs":[{"output_type":"execute_result","data":{"text/plain":["array([[ 1.52302986],\n"," [-0.23415337],\n"," [-0.23413696],\n"," [ 1.57921282]])"]},"metadata":{},"execution_count":238}]},{"cell_type":"code","source":["M.backward(d_out)"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"M_NNDC2ikahu","executionInfo":{"status":"ok","timestamp":1687387989009,"user_tz":-60,"elapsed":3,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"781685e6-6f7c-413d-bd10-c3b1caa4f4a6"},"execution_count":239,"outputs":[{"output_type":"execute_result","data":{"text/plain":["array([[ 0.75651048, -0.21058066, 0.98644898],\n"," [-0.11630729, 0.03237505, -0.15165846],\n"," [-0.11629914, 0.03237278, -0.15164782],\n"," [ 0.78441735, -0.21834875, 1.02283804]])"]},"metadata":{},"execution_count":239}]},{"cell_type":"markdown","source":["# La classe ADD"],"metadata":{"id":"hCdAVoDwlY3Y"}},{"cell_type":"code","source":["class Add(BoiteParam):\n","\n"," def __init__(self, biais):\n"," super().__init__(biais)\n","\n"," def operation(self):\n"," return self.inputs + self.param\n","\n"," def gradient(self, derivee_output):\n"," return np.ones_like(self.inputs) * derivee_output\n","\n"," def gradient_param(self, derivee_output):\n"," r = np.ones_like(self.param) * derivee_output\n"," return r.sum(axis=0).reshape(1, self.param.shape[1])\n","\n"," def __repr__(self):\n"," return \"AddBiais\""],"metadata":{"id":"CCIbOH5XkdsV","executionInfo":{"status":"ok","timestamp":1687388836047,"user_tz":-60,"elapsed":913,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}}},"execution_count":306,"outputs":[]},{"cell_type":"code","source":["\n","B = np.random.rand(1, 1)\n","B"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"Fbl0R6csmBKP","executionInfo":{"status":"ok","timestamp":1687388837998,"user_tz":-60,"elapsed":4,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"1dc2f267-00a0-4de6-f1ef-e4b5bcce7337"},"execution_count":307,"outputs":[{"output_type":"execute_result","data":{"text/plain":["array([[0.15601864]])"]},"metadata":{},"execution_count":307}]},{"cell_type":"code","source":["b = Add(biais=B)\n","b"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"8LJMlXg3mZ0i","executionInfo":{"status":"ok","timestamp":1687387993785,"user_tz":-60,"elapsed":3,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"f41b2c71-cfb0-4494-943f-2e1f0ca58422"},"execution_count":242,"outputs":[{"output_type":"execute_result","data":{"text/plain":["AddBiais"]},"metadata":{},"execution_count":242}]},{"cell_type":"code","source":["out_b = b.forward(out)\n","out_b"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"EDL9Js2tmgL9","executionInfo":{"status":"ok","timestamp":1687387994348,"user_tz":-60,"elapsed":5,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"cf149898-c7c4-4c3d-c780-d02dccc70f14"},"execution_count":243,"outputs":[{"output_type":"execute_result","data":{"text/plain":["array([[-0.69615719],\n"," [ 0.66843105],\n"," [-0.79644924],\n"," [ 1.92001715]])"]},"metadata":{},"execution_count":243}]},{"cell_type":"code","source":["d_out"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"K0YiOGLhmmAU","executionInfo":{"status":"ok","timestamp":1687387995396,"user_tz":-60,"elapsed":3,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"6df860f0-89b6-49f7-bb28-593b3939478a"},"execution_count":244,"outputs":[{"output_type":"execute_result","data":{"text/plain":["array([[ 1.52302986],\n"," [-0.23415337],\n"," [-0.23413696],\n"," [ 1.57921282]])"]},"metadata":{},"execution_count":244}]},{"cell_type":"code","source":["b.backward(d_out)"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"GRWbVaOdmvnD","executionInfo":{"status":"ok","timestamp":1687387996299,"user_tz":-60,"elapsed":3,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"0244eb73-c7c3-4e29-aa25-664aedbc6302"},"execution_count":245,"outputs":[{"output_type":"execute_result","data":{"text/plain":["array([[ 1.52302986],\n"," [-0.23415337],\n"," [-0.23413696],\n"," [ 1.57921282]])"]},"metadata":{},"execution_count":245}]},{"cell_type":"markdown","source":["# La classe Sigmoid"],"metadata":{"id":"4O_Gztx2nexA"}},{"cell_type":"code","source":["class Sigmoid(Boite):\n","\n"," def __init__(self):\n"," super().__init__()\n","\n"," def operation(self):\n"," return 1 / (1 + np.exp(-1 * self.inputs))\n","\n"," def gradient(self, derivee_output):\n"," return self.output * (1 - self.output) * derivee_output\n","\n"," def __repr__(self):\n"," return \"sigmoid\""],"metadata":{"id":"x2v8AHH1mzXx","executionInfo":{"status":"ok","timestamp":1687392444134,"user_tz":-60,"elapsed":464,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}}},"execution_count":422,"outputs":[]},{"cell_type":"code","source":["sig = Sigmoid()"],"metadata":{"id":"_q-CdGHzoRyr","executionInfo":{"status":"ok","timestamp":1687387998941,"user_tz":-60,"elapsed":2,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}}},"execution_count":247,"outputs":[]},{"cell_type":"code","source":["sig_out = sig.forward(out_b)\n","sig_out"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"xiLYgEBroeX-","executionInfo":{"status":"ok","timestamp":1687387999461,"user_tz":-60,"elapsed":3,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"bbb95eab-61e5-44e4-9ce7-9ae555ca0369"},"execution_count":248,"outputs":[{"output_type":"execute_result","data":{"text/plain":["array([[0.33266478],\n"," [0.66115176],\n"," [0.31078557],\n"," [0.87214035]])"]},"metadata":{},"execution_count":248}]},{"cell_type":"code","source":["sig.backward(d_out)"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"zDmURwKyoiwE","executionInfo":{"status":"ok","timestamp":1687388001611,"user_tz":-60,"elapsed":3,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"1899ccdb-4675-43dd-c8b7-10e86f606e3e"},"execution_count":249,"outputs":[{"output_type":"execute_result","data":{"text/plain":["array([[ 0.33811099],\n"," [-0.05245741],\n"," [-0.05015164],\n"," [ 0.17610049]])"]},"metadata":{},"execution_count":249}]},{"cell_type":"markdown","source":["# La classe Loss"],"metadata":{"id":"7t-HDIwHpD7L"}},{"cell_type":"code","source":["class Loss():\n","\n"," def __init__(self):\n"," pass\n","\n"," def forward(self, prediction, target):\n"," assert prediction.shape == target.shape, f\"Prediction shape {prediction.shape} Target shape {target.shape}\"\n"," self.prediction = prediction\n"," self.target = target\n"," loss = np.mean((self.target - self.prediction) ** 2)\n"," return loss\n","\n"," def backward(self):\n","\n"," self.loss_derivee = -2 * (self.target - self.prediction)\n"," assert self.loss_derivee.shape == self.prediction.shape, f\"La derivee du loss un shape {self.loss_derivee.shape } et different du shape de Prediction : {self.prediction.shape}\"\n","\n"," return self.loss_derivee\n","\n","\n","\n","\n"],"metadata":{"id":"76THFCNOo2hf","executionInfo":{"status":"ok","timestamp":1687388843968,"user_tz":-60,"elapsed":834,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}}},"execution_count":309,"outputs":[]},{"cell_type":"code","source":["X"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"tMlcLYJuqu1W","executionInfo":{"status":"ok","timestamp":1687388007238,"user_tz":-60,"elapsed":513,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"861ab6fd-e306-4d55-8915-ec1c60237a73"},"execution_count":251,"outputs":[{"output_type":"execute_result","data":{"text/plain":["array([[ 2, 3, -2],\n"," [ 4, 5, -1],\n"," [-5, 2, 3],\n"," [ 0, 5, 4]])"]},"metadata":{},"execution_count":251}]},{"cell_type":"code","source":["Y = np.random.randn(4, 1)\n","Y"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"XLU5_s3FqqAi","executionInfo":{"status":"ok","timestamp":1687388849267,"user_tz":-60,"elapsed":392,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"5ba865dc-20a1-4ece-e9dc-2710bd4526b9"},"execution_count":310,"outputs":[{"output_type":"execute_result","data":{"text/plain":["array([[ 1.52302986],\n"," [ 0.27904129],\n"," [ 1.01051528],\n"," [-0.58087813]])"]},"metadata":{},"execution_count":310}]},{"cell_type":"code","source":["P = sig_out"],"metadata":{"id":"wPNTTwgwqzwZ","executionInfo":{"status":"ok","timestamp":1687388851449,"user_tz":-60,"elapsed":2,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}}},"execution_count":311,"outputs":[]},{"cell_type":"code","source":["mse = Loss()"],"metadata":{"id":"ffvXTFltq4xw","executionInfo":{"status":"ok","timestamp":1687388851968,"user_tz":-60,"elapsed":7,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}}},"execution_count":312,"outputs":[]},{"cell_type":"code","source":["mse.forward(P, Y)"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"VkdX8tkPq640","executionInfo":{"status":"ok","timestamp":1687388851969,"user_tz":-60,"elapsed":7,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"ff95a943-3d52-412a-ff40-6e3a35bc9ca8"},"execution_count":313,"outputs":[{"output_type":"execute_result","data":{"text/plain":["1.0409654495073746"]},"metadata":{},"execution_count":313}]},{"cell_type":"code","source":["mse.backward()"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"rtPshNcMq-VU","executionInfo":{"status":"ok","timestamp":1687388855114,"user_tz":-60,"elapsed":522,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"3ed84c94-68ab-4b7e-d106-4a83df8f0520"},"execution_count":314,"outputs":[{"output_type":"execute_result","data":{"text/plain":["array([[-2.38073015],\n"," [ 0.76422093],\n"," [-1.39945942],\n"," [ 2.90603696]])"]},"metadata":{},"execution_count":314}]},{"cell_type":"markdown","source":["# La Classe Dense"],"metadata":{"id":"tyW04IkDts4V"}},{"cell_type":"code","source":["class Dense():\n","\n"," def __init__(self, neurons, activation=None):\n"," self.neurons = neurons\n"," self.activation = activation\n"," self.params = []\n"," self.suite = []\n"," self.initialisation = True\n","\n","\n"," def build(self, inputs):\n"," # weights initialization\n"," np.random.seed(42)\n","\n"," self.weights = np.random.randn(inputs.shape[1], self.neurons)\n"," self.biais = np.random.randn(1, self.neurons)\n","\n"," self.params.append(self.weights)\n"," self.params.append(self.biais)\n","\n"," # construction de la suite d'opération\n"," self.suite = [Dot(weights=self.params[0]), Add(biais=self.params[1])]\n"," if self.activation:\n"," self.suite.append(self.activation)\n","\n","\n","\n"," def forward(self, inputs):\n"," if self.initialisation:\n"," self.build(inputs)\n"," self.initialisation = False\n","\n"," for boite in self.suite:\n"," inputs = boite.forward(inputs)\n","\n"," self.output = inputs\n","\n"," return self.output\n","\n","\n"," def backward(self, derivee_output):\n"," assert derivee_output.shape == self.output.shape\n","\n"," for boite in reversed(self.suite):\n"," derivee_output = boite.backward(derivee_output)\n","\n"," derivee_inputs = derivee_output\n","\n"," self.get_layer_gradients()\n","\n"," return derivee_inputs\n","\n"," def get_layer_gradients(self):\n","\n"," self.derivee_params = []\n","\n"," for boite in self.suite:\n"," if issubclass(boite.__class__, BoiteParam):\n"," self.derivee_params.append(boite.derivee_param)\n","\n","\n","\n"," def __repr__(self):\n"," r = f\"DenseLayer(neurons={self.neurons})\"\n"," if self.activation:\n"," r += \" avec Sigmoid\"\n","\n"," return r\n","\n","\n"],"metadata":{"id":"RAVfMX1SrBbG","executionInfo":{"status":"ok","timestamp":1687392440527,"user_tz":-60,"elapsed":448,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}}},"execution_count":421,"outputs":[]},{"cell_type":"code","source":["sigmoid = Sigmoid()"],"metadata":{"id":"AmyOHtSs0L5c","executionInfo":{"status":"ok","timestamp":1687388866983,"user_tz":-60,"elapsed":412,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}}},"execution_count":316,"outputs":[]},{"cell_type":"code","source":["couche = Dense(neurons=2, activation=sigmoid)"],"metadata":{"id":"Khx1pGgC0Ddt","executionInfo":{"status":"ok","timestamp":1687388867694,"user_tz":-60,"elapsed":2,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}}},"execution_count":317,"outputs":[]},{"cell_type":"code","source":["couche"],"metadata":{"id":"TRACwiapuBS-","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1687388868296,"user_tz":-60,"elapsed":6,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"7d3ca868-bac0-4a9b-e941-12672bf3ae1a"},"execution_count":318,"outputs":[{"output_type":"execute_result","data":{"text/plain":["DenseLayer(neurons=2) avec Sigmoid"]},"metadata":{},"execution_count":318}]},{"cell_type":"code","source":["X"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"xNsEoApYy6Wt","executionInfo":{"status":"ok","timestamp":1687388869506,"user_tz":-60,"elapsed":2,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"3e87e243-f091-4045-9c12-2aea2c20a147"},"execution_count":319,"outputs":[{"output_type":"execute_result","data":{"text/plain":["array([[ 2, 3, -2],\n"," [ 4, 5, -1],\n"," [-5, 2, 3],\n"," [ 0, 5, 4]])"]},"metadata":{},"execution_count":319}]},{"cell_type":"code","source":["couche.forward(X)"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"YFhSB16p0XIM","executionInfo":{"status":"ok","timestamp":1687388873818,"user_tz":-60,"elapsed":1223,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"7a2252b8-b6f4-4f2f-84b9-0e76dd871e2f"},"execution_count":320,"outputs":[{"output_type":"execute_result","data":{"text/plain":["array([[0.99320003, 0.99604286],\n"," [0.99912347, 0.99968533],\n"," [0.42276305, 0.97817014],\n"," [0.97978765, 0.99941659]])"]},"metadata":{},"execution_count":320}]},{"cell_type":"code","source":["couche.params"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"glLf10UP0rCJ","executionInfo":{"status":"ok","timestamp":1687388877018,"user_tz":-60,"elapsed":4,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"cfc4f8ca-78bf-4f9f-e2dd-72ddb87004e2"},"execution_count":321,"outputs":[{"output_type":"execute_result","data":{"text/plain":["[array([[ 0.49671415, -0.1382643 ],\n"," [ 0.64768854, 1.52302986],\n"," [-0.23415337, -0.23413696]]),\n"," array([[1.57921282, 0.76743473]])]"]},"metadata":{},"execution_count":321}]},{"cell_type":"code","source":["d_out = np.random.randn(4, 2)\n","d_out"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"ZJTw4mSO0ugc","executionInfo":{"status":"ok","timestamp":1687388022345,"user_tz":-60,"elapsed":3,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"72b35b0f-88a6-46d1-ff96-b5a3c4f71299"},"execution_count":264,"outputs":[{"output_type":"execute_result","data":{"text/plain":["array([[-0.46947439, 0.54256004],\n"," [-0.46341769, -0.46572975],\n"," [ 0.24196227, -1.91328024],\n"," [-1.72491783, -0.56228753]])"]},"metadata":{},"execution_count":264}]},{"cell_type":"code","source":["couche.backward(d_out)"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"bbOZbASt1BSI","executionInfo":{"status":"ok","timestamp":1687388024543,"user_tz":-60,"elapsed":3,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"10e90b06-b088-4c2e-a10c-28213504e588"},"execution_count":265,"outputs":[{"output_type":"execute_result","data":{"text/plain":["array([[-0.00187061, 0.00120335, 0.00024173],\n"," [-0.00018133, -0.00048599, 0.00012933],\n"," [ 0.03497832, -0.02397904, -0.00426045],\n"," [-0.0169224 , -0.02262434, 0.00807543]])"]},"metadata":{},"execution_count":265}]},{"cell_type":"code","source":["couche.suite"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"ZiUtTJyP1H78","executionInfo":{"status":"ok","timestamp":1687388026878,"user_tz":-60,"elapsed":928,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"3dbf3677-d3b5-4cb8-df74-2fac9cc0f15f"},"execution_count":266,"outputs":[{"output_type":"execute_result","data":{"text/plain":["[DotProduct, AddBiais, sigmoid]"]},"metadata":{},"execution_count":266}]},{"cell_type":"markdown","source":["# La classe Model"],"metadata":{"id":"RnBMDZSF2qco"}},{"cell_type":"code","source":["from copy import deepcopy"],"metadata":{"id":"wIeY_EiRerby","executionInfo":{"status":"ok","timestamp":1687393350529,"user_tz":-60,"elapsed":414,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}}},"execution_count":451,"outputs":[]},{"cell_type":"code","source":["class Model():\n","\n"," def __init__(self, layers):\n"," self.layers = layers\n"," self.compiled = False\n","\n","\n"," def forward(self, inputs):\n","\n","\n"," for layer in self.layers:\n","\n"," inputs = layer.forward(inputs)\n"," self.output = inputs\n"," return self.output\n","\n","\n"," def backward(self, loss_derivee):\n","\n"," assert loss_derivee.shape == self.output.shape\n","\n"," for layer in reversed(self.layers):\n"," loss_derivee = layer.backward(loss_derivee)\n","\n"," return None\n","\n"," def get_params(self):\n"," for layer in self.layers:\n"," yield from layer.params\n","\n","\n"," def get_derivee_params(self):\n"," for layer in self.layers:\n"," yield from layer.derivee_params\n","\n","\n"," def update(self):\n","\n"," for (param, derivee_param) in zip(self.get_params(), self.get_derivee_params()):\n"," assert param.shape == derivee_param.shape\n"," param -= self.learning_rate * derivee_param\n","\n","\n"," def compile(self, loss, learning_rate):\n"," self.loss = loss\n"," self.learning_rate = learning_rate\n"," self.compiled = True\n","\n","\n"," def fit(self, X, Y, epochs, validation_data=None):\n","\n"," if validation_data:\n"," assert len(validation_data) == 2\n"," assert validation_data[0].shape[1] == X.shape[1]\n"," assert validation_data[1].shape[1] == Y.shape[1]\n","\n"," self.history = {\"loss\":[]}\n"," if validation_data:\n"," self.history['val_loss'] = []\n","\n","\n"," if not self.compiled:\n"," raise NotImplementedError(\"Pas de loss et de learning_rate: Compilez\")\n","\n"," for epoch in range(epochs):\n"," # forward pass\n"," predictions = model.forward(X)\n"," loss = self.loss.forward(predictions, Y)\n"," self.history['loss'].append(loss)\n","\n","\n"," # val loss\n"," if validation_data:\n"," val_preds = model.forward(validation_data[0])\n"," val_loss = self.loss.forward(val_preds, validation_data[1])\n"," self.history['val_loss'].append(val_loss)\n","\n"," log = f'Epoch {epoch+1} .............. loss : {loss}'\n"," if validation_data:\n"," log += f\" ....val_loss : {val_loss}\"\n"," print(log)\n","\n","\n","\n"," # backward pass\n"," loss_derivee = self.loss.backward()\n"," self.backward(loss_derivee)\n","\n"," # update\n"," self.update()\n","\n"," return self.history\n","\n"," def save_model(self, file):\n"," model_save = deepcopy(self)\n","\n"," import pickle\n"," with open(file, \"wb\") as f:\n"," pickle.dump(model_save, f)\n","\n","\n"," def __repr__(self):\n","\n"," r = \"Layers .................\"\n"," for layer in self.layers:\n"," r += f\" \\n {str(layer)}\"\n","\n"," return r\n","\n","\n"],"metadata":{"id":"9AlQAwxh1LHm","executionInfo":{"status":"ok","timestamp":1687393497452,"user_tz":-60,"elapsed":380,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}}},"execution_count":454,"outputs":[]},{"cell_type":"code","source":["model = Model(layers = [ Dense(neurons=3, activation=sigmoid),\n"," Dense(neurons=1)])"],"metadata":{"id":"MRAtYdS23VB1","executionInfo":{"status":"ok","timestamp":1687388953156,"user_tz":-60,"elapsed":556,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}}},"execution_count":326,"outputs":[]},{"cell_type":"code","source":["model"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"FMA6qXMQ4Zzg","executionInfo":{"status":"ok","timestamp":1687388954057,"user_tz":-60,"elapsed":3,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"43bcc3cd-9331-4e09-86a4-9aa993eb7fdd"},"execution_count":327,"outputs":[{"output_type":"execute_result","data":{"text/plain":["Layers ................. \n"," DenseLayer(neurons=3) avec Sigmoid \n"," DenseLayer(neurons=1)"]},"metadata":{},"execution_count":327}]},{"cell_type":"code","source":["X"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"DtXdTjHX4avb","executionInfo":{"status":"ok","timestamp":1687388955119,"user_tz":-60,"elapsed":5,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"a44658d1-0387-45a8-c434-193d4f5ba612"},"execution_count":328,"outputs":[{"output_type":"execute_result","data":{"text/plain":["array([[ 2, 3, -2],\n"," [ 4, 5, -1],\n"," [-5, 2, 3],\n"," [ 0, 5, 4]])"]},"metadata":{},"execution_count":328}]},{"cell_type":"code","source":["Y"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"JPgUWnTO4hhO","executionInfo":{"status":"ok","timestamp":1687388955970,"user_tz":-60,"elapsed":3,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"0ff50d0e-419d-4bfb-9a8d-5ef738fa55c4"},"execution_count":329,"outputs":[{"output_type":"execute_result","data":{"text/plain":["array([[ 1.52302986],\n"," [ 0.27904129],\n"," [ 1.01051528],\n"," [-0.58087813]])"]},"metadata":{},"execution_count":329}]},{"cell_type":"code","source":["model.forward(X)"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"clMMuqNT4jpg","executionInfo":{"status":"ok","timestamp":1687388956528,"user_tz":-60,"elapsed":3,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"8e7f58f6-ba93-4c6b-ae9a-9104fe7e5c4c"},"execution_count":330,"outputs":[{"output_type":"execute_result","data":{"text/plain":["array([[2.47005633],\n"," [2.53479834],\n"," [1.89807891],\n"," [1.92678186]])"]},"metadata":{},"execution_count":330}]},{"cell_type":"code","source":["loss_derivee = np.random.randn(4, 1)\n","loss_derivee"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"inVYjF6R4mgG","executionInfo":{"status":"ok","timestamp":1687388959934,"user_tz":-60,"elapsed":784,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"bffef576-e2d7-44f2-b0ee-9a87ac7bdb32"},"execution_count":331,"outputs":[{"output_type":"execute_result","data":{"text/plain":["array([[-0.23415337],\n"," [-0.23413696],\n"," [ 1.57921282],\n"," [ 0.76743473]])"]},"metadata":{},"execution_count":331}]},{"cell_type":"code","source":["model.backward(loss_derivee)"],"metadata":{"id":"Ir1dYOj84vP1","executionInfo":{"status":"ok","timestamp":1687388961289,"user_tz":-60,"elapsed":1,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}}},"execution_count":332,"outputs":[]},{"cell_type":"code","source":["model.get_params()"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"dijAWVTA-Q0a","executionInfo":{"status":"ok","timestamp":1687388962786,"user_tz":-60,"elapsed":6,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"52bcd33d-b2dd-4786-f2d4-4071489bcc92"},"execution_count":333,"outputs":[{"output_type":"execute_result","data":{"text/plain":[""]},"metadata":{},"execution_count":333}]},{"cell_type":"code","source":["model.get_derivee_params()"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"AFcqd1YC-RKl","executionInfo":{"status":"ok","timestamp":1687388964319,"user_tz":-60,"elapsed":4,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"92d90cd8-aa7d-480e-f4da-27cb51d954c2"},"execution_count":334,"outputs":[{"output_type":"execute_result","data":{"text/plain":[""]},"metadata":{},"execution_count":334}]},{"cell_type":"markdown","source":["# Update des paramètres"],"metadata":{"id":"AxUR5XBm6CKi"}},{"cell_type":"code","source":["M"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"6Fw7biGb6Xl9","executionInfo":{"status":"ok","timestamp":1687388967627,"user_tz":-60,"elapsed":469,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"ced7e56a-1c11-4f9d-b49a-f85231af7173"},"execution_count":335,"outputs":[{"output_type":"execute_result","data":{"text/plain":["DotProduct"]},"metadata":{},"execution_count":335}]},{"cell_type":"code","source":["issubclass(M.__class__, BoiteParam)"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"owmo8Idu7zMu","executionInfo":{"status":"ok","timestamp":1687388967628,"user_tz":-60,"elapsed":6,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"4f54918d-0353-42c5-bfe2-85da9af5a3e3"},"execution_count":336,"outputs":[{"output_type":"execute_result","data":{"text/plain":["False"]},"metadata":{},"execution_count":336}]},{"cell_type":"code","source":["M.__class__"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"k72CYUW17vBv","executionInfo":{"status":"ok","timestamp":1687388968111,"user_tz":-60,"elapsed":3,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"1a84f3c0-0954-4815-d663-39b79d934633"},"execution_count":337,"outputs":[{"output_type":"execute_result","data":{"text/plain":["__main__.Dot"]},"metadata":{},"execution_count":337}]},{"cell_type":"code","source":["M.param"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"DnCnHh4H6Z75","executionInfo":{"status":"ok","timestamp":1687388968505,"user_tz":-60,"elapsed":2,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"97e1c763-5275-409f-e480-0ec5bdcaa381"},"execution_count":338,"outputs":[{"output_type":"execute_result","data":{"text/plain":["array([[ 0.49671415],\n"," [-0.1382643 ],\n"," [ 0.64768854]])"]},"metadata":{},"execution_count":338}]},{"cell_type":"code","source":["M.derivee_inputs"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"4hfwXK2o6Zja","executionInfo":{"status":"ok","timestamp":1687388970116,"user_tz":-60,"elapsed":2,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"cf67017e-b85f-4c3f-e10e-0e63f4530bad"},"execution_count":339,"outputs":[{"output_type":"execute_result","data":{"text/plain":["array([[ 0.75651048, -0.21058066, 0.98644898],\n"," [-0.11630729, 0.03237505, -0.15165846],\n"," [-0.11629914, 0.03237278, -0.15164782],\n"," [ 0.78441735, -0.21834875, 1.02283804]])"]},"metadata":{},"execution_count":339}]},{"cell_type":"code","source":["couche.params"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"mhJRmt5P6rj6","executionInfo":{"status":"ok","timestamp":1687388970593,"user_tz":-60,"elapsed":2,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"561949a1-cbe3-497b-fbfb-eff5bdb95822"},"execution_count":340,"outputs":[{"output_type":"execute_result","data":{"text/plain":["[array([[ 0.49671415, -0.1382643 ],\n"," [ 0.64768854, 1.52302986],\n"," [-0.23415337, -0.23413696]]),\n"," array([[1.57921282, 0.76743473]])]"]},"metadata":{},"execution_count":340}]},{"cell_type":"code","source":["couche.derivee_params"],"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":166},"id":"-lVwnct56rSS","executionInfo":{"status":"error","timestamp":1687388971820,"user_tz":-60,"elapsed":5,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"b39b524a-6e9f-4134-8c6c-974883d3519b"},"execution_count":341,"outputs":[{"output_type":"error","ename":"AttributeError","evalue":"ignored","traceback":["\u001b[0;31m---------------------------------------------------------------------------\u001b[0m","\u001b[0;31mAttributeError\u001b[0m Traceback (most recent call last)","\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mcouche\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mderivee_params\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m","\u001b[0;31mAttributeError\u001b[0m: 'Dense' object has no attribute 'derivee_params'"]}]},{"cell_type":"code","source":[],"metadata":{"id":"m5r00F5h60rm"},"execution_count":null,"outputs":[]},{"cell_type":"code","source":["model = Model(layers = [ Dense(neurons=2, activation=sigmoid),\n"," Dense(neurons=1)])\n","#forward\n","P = model.forward(X)\n","mse = Loss()\n","loss = mse.forward(P, Y)\n","print(loss)\n","#backward\n","loss_derivee = mse.backward()\n","model.backward(loss_derivee)"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"39vyMOtD_p7I","executionInfo":{"status":"ok","timestamp":1687389326042,"user_tz":-60,"elapsed":521,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"befb8df6-bc67-40cf-e069-c9e3b0d5f136"},"execution_count":356,"outputs":[{"output_type":"stream","name":"stdout","text":["0.842077961233807\n"]}]},{"cell_type":"code","source":["model.update()"],"metadata":{"id":"QFwIqqpSBNy-","executionInfo":{"status":"ok","timestamp":1687389352610,"user_tz":-60,"elapsed":375,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}}},"execution_count":361,"outputs":[]},{"cell_type":"code","source":["P = model.forward(X)\n","mse = Loss()\n","loss = mse.forward(P, Y)\n","print(loss)"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"x7sg7A3jCSay","executionInfo":{"status":"ok","timestamp":1687389355402,"user_tz":-60,"elapsed":945,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"6e904ce9-45fa-4b97-f956-0d3fdae67d34"},"execution_count":362,"outputs":[{"output_type":"stream","name":"stdout","text":["0.6952654031037216\n"]}]},{"cell_type":"code","source":["P"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"pM52nFBfCSTf","executionInfo":{"status":"ok","timestamp":1687369543144,"user_tz":-60,"elapsed":465,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"08cc8bb2-1f9f-458e-ebf3-d9bb5406b8cc"},"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"text/plain":["array([[ 2, 3, -2],\n"," [ 4, 5, -1],\n"," [-5, 2, 3],\n"," [ 0, 5, 4]])"]},"metadata":{},"execution_count":187}]},{"cell_type":"code","source":["X"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"-lZRh2N0D_Z8","executionInfo":{"status":"ok","timestamp":1687369549732,"user_tz":-60,"elapsed":362,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"090cd283-515c-4c53-f233-448c472232cb"},"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"text/plain":["array([[ 2, 3, -2],\n"," [ 4, 5, -1],\n"," [-5, 2, 3],\n"," [ 0, 5, 4]])"]},"metadata":{},"execution_count":188}]},{"cell_type":"code","source":["model.forward(X)"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"j3OqP1JfCSLN","executionInfo":{"status":"ok","timestamp":1687369789158,"user_tz":-60,"elapsed":361,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"fbf4581d-a071-44c5-f592-1b89b24a377e"},"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"text/plain":["array([[ 2, 3, -2],\n"," [ 4, 5, -1],\n"," [-5, 2, 3],\n"," [ 0, 5, 4]])"]},"metadata":{},"execution_count":200}]},{"cell_type":"code","source":["model.layers[1].params"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"IIR-ubh9CSCS","executionInfo":{"status":"ok","timestamp":1687369436833,"user_tz":-60,"elapsed":481,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"ae8fdb07-978f-4644-b3df-7d8a5348d674"},"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"text/plain":["[array([[ 0.49671415],\n"," [-0.1382643 ],\n"," [ 0.64768854]]),\n"," array([[1.52302986]])]"]},"metadata":{},"execution_count":182}]},{"cell_type":"code","source":[],"metadata":{"id":"LOiOIVTEB9lZ"},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":["# Test de la fonction fit"],"metadata":{"id":"gg5wBZ4ER5v2"}},{"cell_type":"code","source":["model = Model(layers = [ Dense(neurons=2, activation=sigmoid),\n"," Dense(neurons=1)])\n","mse = Loss()\n","model.compile(loss=mse, learning_rate=0.01)\n","h = model.fit(X, Y, epochs=10)\n"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"DUqiq7JVR8Cp","executionInfo":{"status":"ok","timestamp":1687390173716,"user_tz":-60,"elapsed":497,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"14b839b3-265d-4bba-f355-0ec7ab3fc98e"},"execution_count":371,"outputs":[{"output_type":"stream","name":"stdout","text":["Epoch 1 .............. loss : 0.842077961233807\n","Epoch 2 .............. loss : 0.7777763005223045\n","Epoch 3 .............. loss : 0.7378092038206442\n","Epoch 4 .............. loss : 0.7127364993320435\n","Epoch 5 .............. loss : 0.6967967141402815\n","Epoch 6 .............. loss : 0.6864678726180334\n","Epoch 7 .............. loss : 0.6795949011879614\n","Epoch 8 .............. loss : 0.6748583180356648\n","Epoch 9 .............. loss : 0.6714498781367876\n","Epoch 10 .............. loss : 0.6688742506264982\n"]}]},{"cell_type":"markdown","source":["# Comparaison Tensorflow"],"metadata":{"id":"o9j7MxEvSzFA"}},{"cell_type":"code","source":["import tensorflow as tf\n","from tensorflow.keras.models import Sequential\n","from tensorflow.keras.layers import Dense\n","from tensorflow.keras.optimizers import SGD\n","\n","model = Sequential([Dense(units=2, activation='sigmoid'),\n"," Dense(units=1)])\n","model.compile(optimizer=SGD(learning_rate=0.1), loss='mse')\n","history = model.fit(X, Y, epochs=10)"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"o2d5rlEGSG2v","executionInfo":{"status":"ok","timestamp":1687390368892,"user_tz":-60,"elapsed":5270,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"3db5128d-ce7b-4318-b255-1ccef276551c"},"execution_count":372,"outputs":[{"output_type":"stream","name":"stdout","text":["Epoch 1/10\n","1/1 [==============================] - 1s 670ms/step - loss: 0.6090\n","Epoch 2/10\n","1/1 [==============================] - 0s 8ms/step - loss: 0.5552\n","Epoch 3/10\n","1/1 [==============================] - 0s 11ms/step - loss: 0.5371\n","Epoch 4/10\n","1/1 [==============================] - 0s 9ms/step - loss: 0.5276\n","Epoch 5/10\n","1/1 [==============================] - 0s 9ms/step - loss: 0.5204\n","Epoch 6/10\n","1/1 [==============================] - 0s 9ms/step - loss: 0.5139\n","Epoch 7/10\n","1/1 [==============================] - 0s 11ms/step - loss: 0.5078\n","Epoch 8/10\n","1/1 [==============================] - 0s 8ms/step - loss: 0.5019\n","Epoch 9/10\n","1/1 [==============================] - 0s 9ms/step - loss: 0.4963\n","Epoch 10/10\n","1/1 [==============================] - 0s 8ms/step - loss: 0.4908\n"]}]},{"cell_type":"code","source":["??Sequential"],"metadata":{"id":"nZm1MFmWTZuR","executionInfo":{"status":"ok","timestamp":1687390428403,"user_tz":-60,"elapsed":543,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}}},"execution_count":373,"outputs":[]},{"cell_type":"markdown","source":["# Validation"],"metadata":{"id":"zblJpIGTWOyn"}},{"cell_type":"code","source":["model = Model(layers = [ Dense(neurons=2, activation=sigmoid),\n"," Dense(neurons=1)])\n","mse = Loss()\n","model.compile(loss=mse, learning_rate=0.01)\n","h = model.fit(X, Y, epochs=10, validation_data=(X, Y))"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"MtRdtc2aTpi3","executionInfo":{"status":"ok","timestamp":1687391187450,"user_tz":-60,"elapsed":574,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"e82f2371-100c-4cf0-b8b8-e669ae2dc7fd"},"execution_count":379,"outputs":[{"output_type":"stream","name":"stdout","text":["Epoch 1 .............. loss : 0.842077961233807 ....val_loss : 0.842077961233807\n","Epoch 2 .............. loss : 0.7777763005223045 ....val_loss : 0.7777763005223045\n","Epoch 3 .............. loss : 0.7378092038206442 ....val_loss : 0.7378092038206442\n","Epoch 4 .............. loss : 0.7127364993320435 ....val_loss : 0.7127364993320435\n","Epoch 5 .............. loss : 0.6967967141402815 ....val_loss : 0.6967967141402815\n","Epoch 6 .............. loss : 0.6864678726180334 ....val_loss : 0.6864678726180334\n","Epoch 7 .............. loss : 0.6795949011879614 ....val_loss : 0.6795949011879614\n","Epoch 8 .............. loss : 0.6748583180356648 ....val_loss : 0.6748583180356648\n","Epoch 9 .............. loss : 0.6714498781367876 ....val_loss : 0.6714498781367876\n","Epoch 10 .............. loss : 0.6688742506264982 ....val_loss : 0.6688742506264982\n"]}]},{"cell_type":"markdown","source":["# Test du code final sur le boston dataset"],"metadata":{"id":"zgt9tphxWtGC"}},{"cell_type":"code","source":["import pandas as pd\n","import numpy as np\n","\n","data_url = \"http://lib.stat.cmu.edu/datasets/boston\"\n","raw_df = pd.read_csv(data_url, sep=\"\\s+\", skiprows=22, header=None)\n","data = np.hstack([raw_df.values[::2, :], raw_df.values[1::2, :2]])\n","target = raw_df.values[1::2, 2]\n","data = data\n","target = target\n","\n","X = data\n","Y = target.reshape((506, 1))\n","\n","from sklearn.model_selection import train_test_split\n","X_train, X_test, y_train, y_test = train_test_split(X, Y, test_size=0.25, random_state=0)\n","\n","from sklearn.preprocessing import StandardScaler\n","scaler = StandardScaler()\n","X_train = scaler.fit_transform(X_train)\n","X_test = scaler.transform(X_test)"],"metadata":{"id":"mgpj1WeQWbW4","executionInfo":{"status":"ok","timestamp":1687391318497,"user_tz":-60,"elapsed":2331,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}}},"execution_count":380,"outputs":[]},{"cell_type":"code","source":["X_train.shape, y_train.shape"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"waVJvouyXCWw","executionInfo":{"status":"ok","timestamp":1687391339511,"user_tz":-60,"elapsed":2,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"159589eb-a58d-4350-f1c5-4e150221c4d7"},"execution_count":382,"outputs":[{"output_type":"execute_result","data":{"text/plain":["((379, 13), (379, 1))"]},"metadata":{},"execution_count":382}]},{"cell_type":"code","source":["X_test.shape, y_test.shape"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"HulBlSzZXF6E","executionInfo":{"status":"ok","timestamp":1687391354808,"user_tz":-60,"elapsed":5,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"ff07a682-7383-42f8-a1ac-8baa8880ac4a"},"execution_count":383,"outputs":[{"output_type":"execute_result","data":{"text/plain":["((127, 13), (127, 1))"]},"metadata":{},"execution_count":383}]},{"cell_type":"markdown","source":["## Regression linéaire simple"],"metadata":{"id":"taFtZbqEXR5R"}},{"cell_type":"code","source":["model = Model([ Dense(neurons=1)])\n","mse = Loss()\n","model.compile(loss=mse, learning_rate=0.001)\n","h = model.fit(X_train, y_train, epochs=30, validation_data=(X_test, y_test))"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"pKYLFTtfXL0F","executionInfo":{"status":"ok","timestamp":1687391646275,"user_tz":-60,"elapsed":444,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"3b8e6585-be29-4de4-87e7-a13baaf6aea9"},"execution_count":390,"outputs":[{"output_type":"stream","name":"stdout","text":["Epoch 1 .............. loss : 712.1743316753176 ....val_loss : 671.7547143671588\n","Epoch 2 .............. loss : 384.0837028693358 ....val_loss : 383.82786822291087\n","Epoch 3 .............. loss : 247.75414344252928 ....val_loss : 229.1941295737599\n","Epoch 4 .............. loss : 148.3806303920543 ....val_loss : 144.19534190777878\n","Epoch 5 .............. loss : 103.89520896898965 ....val_loss : 96.47739842280843\n","Epoch 6 .............. loss : 71.33479105168065 ....val_loss : 69.15302180485378\n","Epoch 7 .............. loss : 55.97937743045081 ....val_loss : 53.20253156199875\n","Epoch 8 .............. loss : 44.69041961018085 ....val_loss : 43.70966230146516\n","Epoch 9 .............. loss : 39.11541183660613 ....val_loss : 37.94536623883121\n","Epoch 10 .............. loss : 35.00552004305203 ....val_loss : 34.3691118394618\n","Epoch 11 .............. loss : 32.86685286102087 ....val_loss : 32.09754754821056\n","Epoch 12 .............. loss : 31.27998033095609 ....val_loss : 30.616578716256143\n","Epoch 13 .............. loss : 30.39111885607059 ....val_loss : 29.622717392182356\n","Epoch 14 .............. loss : 29.716242894637325 ....val_loss : 28.93430154637416\n","Epoch 15 .............. loss : 29.293243882027436 ....val_loss : 28.44108945283857\n","Epoch 16 .............. loss : 28.95482063865208 ....val_loss : 28.075249108343932\n","Epoch 17 .............. loss : 28.7089786277432 ....val_loss : 27.79444481334606\n","Epoch 18 .............. loss : 28.497466286622565 ....val_loss : 27.571855135441425\n","Epoch 19 .............. loss : 28.321231946325064 ....val_loss : 27.390212568490785\n","Epoch 20 .............. loss : 28.160012267263177 ....val_loss : 27.238204534604474\n","Epoch 21 .............. loss : 28.013601705576395 ....val_loss : 27.10827654993127\n","Epoch 22 .............. loss : 27.875042004989993 ....val_loss : 26.995276952012357\n","Epoch 23 .............. loss : 27.74416729188687 ....val_loss : 26.895611914363833\n","Epoch 24 .............. loss : 27.618652933103757 ....val_loss : 26.806712942523752\n","Epoch 25 .............. loss : 27.498454618593712 ....val_loss : 26.726697569350943\n","Epoch 26 .............. loss : 27.382818478029847 ....val_loss : 26.654150638874846\n","Epoch 27 .............. loss : 27.271736860497047 ....val_loss : 26.587981576323592\n","Epoch 28 .............. loss : 27.16495168322497 ....val_loss : 26.527330004354646\n","Epoch 29 .............. loss : 27.062434602101924 ....val_loss : 26.471502428119276\n","Epoch 30 .............. loss : 26.9640574302144 ....val_loss : 26.419929095745758\n"]}]},{"cell_type":"code","source":["h.keys()"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"AC4Z4TujX5Lz","executionInfo":{"status":"ok","timestamp":1687391667606,"user_tz":-60,"elapsed":2,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"07755b56-a68c-441d-f6bf-002c563bd6e4"},"execution_count":392,"outputs":[{"output_type":"execute_result","data":{"text/plain":["dict_keys(['loss', 'val_loss'])"]},"metadata":{},"execution_count":392}]},{"cell_type":"code","source":["import matplotlib.pyplot as plt\n","\n","def plot_learning_curve(history):\n","\n","\n"," plt.plot(list(range(len(history['loss']))), history['loss'])\n"," plt.plot(list(range(len(history['val_loss']))), history['val_loss'])\n"," plt.xlabel('Epochs')\n"," plt.ylabel(\"Loss\")\n"," plt.title(\"Learning Curve\")\n"," plt.show()"],"metadata":{"id":"xpgN4qzNXin-","executionInfo":{"status":"ok","timestamp":1687391767580,"user_tz":-60,"elapsed":460,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}}},"execution_count":394,"outputs":[]},{"cell_type":"code","source":["plot_learning_curve(h)"],"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":472},"id":"nJbequnSYuuc","executionInfo":{"status":"ok","timestamp":1687391777191,"user_tz":-60,"elapsed":532,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"0f7b8ba5-f0c2-4d81-afc9-df9136dd0237"},"execution_count":395,"outputs":[{"output_type":"display_data","data":{"text/plain":["
"],"image/png":"iVBORw0KGgoAAAANSUhEUgAAAj0AAAHHCAYAAABUcOnjAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABQ0UlEQVR4nO3de3wU9b3/8dfsJtlcd5NArhJuKkIQUEEhVUQlJVC8ILFeigrKkSMNHpWjp+VXC156itJWqVWxVAU9XlCsWqVFBFSsEkFAFEERFEkENgFCsknIdXd+fyRZslwEYpLZZN/Px2Me7M58Z+Yz457mfWa+8x3DNE0TERERkU7OZnUBIiIiIu1BoUdERERCgkKPiIiIhASFHhEREQkJCj0iIiISEhR6REREJCQo9IiIiEhIUOgRERGRkKDQIyIiIiFBoUdEgl7Pnj2ZNGmS1WWISAen0CMSIhYuXIhhGKxbt87qUjqc6upqHnnkEYYOHYrL5SIyMpI+ffowbdo0vv76a6vLE5ETFGZ1ASIix7N161ZsNmv+f7R9+/YxevRo1q9fz6WXXsovfvELYmNj2bp1K4sWLWL+/PnU1tZaUpuInByFHhFpV/X19fh8PiIiIk54HYfD0YYV/bBJkybx6aef8uqrr5Kbmxuw7IEHHuA3v/lNq+ynJedFRE6Obm+JSIBdu3Zx8803k5KSgsPhoH///jzzzDMBbWpra5k5cyaDBw/G5XIRExPD8OHDee+99wLafffddxiGwR//+Efmzp3LqaeeisPhYMuWLdx7770YhsH27duZNGkS8fHxuFwubrrpJg4ePBiwncP79DTdqvvoo4+YPn06SUlJxMTEcOWVV7J3796AdX0+H/feey/p6elER0dz8cUXs2XLlhPqJ7RmzRr++c9/Mnny5CMCDzSEsT/+8Y/+7xdddBEXXXTREe0mTZpEz549j3tePv30U8LCwrjvvvuO2MbWrVsxDIPHHnvMP6+0tJQ77riDjIwMHA4Hp512Gg899BA+n+8Hj0skVOlKj4j4FRUVMWzYMAzDYNq0aSQlJbF06VImT56Mx+PhjjvuAMDj8fDUU09x3XXXccstt1BeXs7TTz9NTk4Oa9eu5ayzzgrY7oIFC6iurmbKlCk4HA4SExP9y66++mp69erF7Nmz2bBhA0899RTJyck89NBDx633tttuIyEhgVmzZvHdd98xd+5cpk2bxssvv+xvM2PGDObMmcNll11GTk4On332GTk5OVRXVx93+2+++SYAN9xwwwmcvZN3+HlJS0tjxIgRvPLKK8yaNSug7csvv4zdbufnP/85AAcPHmTEiBHs2rWL//zP/6R79+6sXr2aGTNmsGfPHubOndsmNYt0aKaIhIQFCxaYgPnJJ58cs83kyZPNtLQ0c9++fQHzr732WtPlcpkHDx40TdM06+vrzZqamoA2Bw4cMFNSUsybb77ZP2/Hjh0mYDqdTrO4uDig/axZs0wgoL1pmuaVV15pdunSJWBejx49zIkTJx5xLNnZ2abP5/PPv/POO0273W6WlpaapmmabrfbDAsLM8eNGxewvXvvvdcEArZ5NFdeeaUJmAcOHPjBdk1GjBhhjhgx4oj5EydONHv06OH//kPn5a9//asJmJs2bQqYn5mZaV5yySX+7w888IAZExNjfv311wHtfv3rX5t2u90sKCg4oZpFQolub4kIAKZp8ve//53LLrsM0zTZt2+ff8rJyaGsrIwNGzYAYLfb/X1PfD4fJSUl1NfXM2TIEH+b5nJzc0lKSjrqfm+99daA78OHD2f//v14PJ7j1jxlyhQMwwhY1+v1snPnTgBWrlxJfX09v/zlLwPWu+222467bcBfQ1xc3Am1P1lHOy/jx48nLCws4GrVF198wZYtW7jmmmv88xYvXszw4cNJSEgI+G+VnZ2N1+vlgw8+aJOaRToy3d4SEQD27t1LaWkp8+fPZ/78+UdtU1xc7P/87LPP8qc//YmvvvqKuro6//xevXodsd7R5jXp3r17wPeEhAQADhw4gNPp/MGaf2hdwB9+TjvttIB2iYmJ/rY/pGn/5eXlxMfHH7f9yTraeenatSsjR47klVde4YEHHgAabm2FhYUxfvx4f7tt27bx+eefHzNMNv9vJSINFHpEBMDf+fX6669n4sSJR20zcOBAAJ5//nkmTZrEuHHjuPvuu0lOTsZutzN79my++eabI9aLioo65n7tdvtR55umedyaf8y6J6Jv374AbNq0ieHDhx+3vWEYR9231+s9avtjnZdrr72Wm266iY0bN3LWWWfxyiuvMHLkSLp27epv4/P5+OlPf8r//M//HHUbffr0OW69IqFGoUdEAEhKSiIuLg6v10t2dvYPtn311Vfp3bs3r732WsDtpcM731qtR48eAGzfvj3gqsr+/fv9V4N+yGWXXcbs2bN5/vnnTyj0JCQk8O233x4xv+mK04kaN24c//mf/+m/xfX1118zY8aMgDannnoqFRUVx/1vJSKHqE+PiAANV01yc3P5+9//zhdffHHE8uaPgjddYWl+VWPNmjXk5+e3faEnYeTIkYSFhTFv3ryA+c0f+/4hWVlZjB49mqeeeoo33njjiOW1tbXcdddd/u+nnnoqX331VcC5+uyzz/joo49Oqu74+HhycnJ45ZVXWLRoEREREYwbNy6gzdVXX01+fj7Lli07Yv3S0lLq6+tPap8ioUBXekRCzDPPPMPbb799xPzbb7+dBx98kPfee4+hQ4dyyy23kJmZSUlJCRs2bGDFihWUlJQAcOmll/Laa69x5ZVXMnbsWHbs2MGTTz5JZmYmFRUV7X1Ix5SSksLtt9/On/70Jy6//HJGjx7NZ599xtKlS+natWvAVapjee655xg1ahTjx4/nsssuY+TIkcTExLBt2zYWLVrEnj17/GP13HzzzTz88MPk5OQwefJkiouLefLJJ+nfv/8Jdcxu7pprruH666/niSeeICcn54g+RXfffTdvvvkml156KZMmTWLw4MFUVlayadMmXn31Vb777ruA22EiotAjEnIOv+rRZNKkSXTr1o21a9dy//3389prr/HEE0/QpUsX+vfvHzBuzqRJk3C73fz1r39l2bJlZGZm8vzzz7N48WLef//9djqSE/PQQw8RHR3N3/72N1asWEFWVhbvvPMOF1xwAZGRkcddPykpidWrV/PEE0/w8ssv85vf/Iba2lp69OjB5Zdfzu233+5v269fP5577jlmzpzJ9OnTyczM5P/+7/948cUXT/q8XH755URFRVFeXh7w1FaT6OhoVq1axe9//3sWL17Mc889h9PppE+fPtx33324XK6T2p9IKDDM1urxJyLSQZSWlpKQkMDvfve7VnuNhIgEP/XpEZFOraqq6oh5TaMVH+2VESLSeen2loh0ai+//DILFy7kZz/7GbGxsXz44Ye89NJLjBo1ivPPP9/q8kSkHSn0iEinNnDgQMLCwpgzZw4ej8ffufl3v/ud1aWJSDtTnx4REREJCerTIyIiIiFBoUdERERCgvr00PAOm927dxMXF3dCg5WJiIiI9UzTpLy8nPT0dGy241/HUegBdu/eTUZGhtVliIiI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avLy8ujSpQuxsbHk5uYe8fLnUHMi5+2iiy464vd26623WlRxcJg3bx4DBw7E6XTidDrJyspi6dKl/uWt9VtT6GkjL7/8MtOnT2fWrFls2LCBQYMGkZOTQ3FxsdWlBbX+/fuzZ88e//Thhx9aXVJQqaysZNCgQTz++ONHXT5nzhweffRRnnzySdasWUNMTAw5OTlUV1e3c6XB5XjnDWD06NEBv72XXnqpHSsMPqtWrSIvL4+PP/6Y5cuXU1dXx6hRo6isrPS3ufPOO3nrrbdYvHgxq1atYvfu3YwfP97Cqq13IucN4JZbbgn4vc2ZM8eiioNDt27dePDBB1m/fj3r1q3jkksu4YorrmDz5s1AK/7WTGkT5513npmXl+f/7vV6zfT0dHP27NkWVhXcZs2aZQ4aNMjqMjoMwHz99df9330+n5mammr+4Q9/8M8rLS01HQ6H+dJLL1lQYXA6/LyZpmlOnDjRvOKKKyypp6MoLi42AXPVqlWmaTb8tsLDw83Fixf723z55ZcmYObn51tVZtA5/LyZpmmOGDHCvP32260rqoNISEgwn3rqqVb9relKTxuora1l/fr1ZGdn++fZbDays7PJz8+3sLLgt23bNtLT0+nduzcTJkygoKDA6pI6jB07duB2uwN+dy6Xi6FDh+p3dwLef/99kpOTOeOMM5g6dSr79++3uqSgUlZWBkBiYiIA69evp66uLuD31rdvX7p3767fWzOHn7cmL7zwAl27duXMM89kxowZHDx40IrygpLX62XRokVUVlaSlZXVqr+1TvGW9WCzb98+vF7vEW95T0lJ4auvvrKoquA3dOhQFi5cyBlnnMGePXu47777GD58OF988QVxcXFWlxf03G43wFF/d03L5OhGjx7N+PHj6dWrF9988w3/7//9P8aMGUN+fj52u93q8izn8/m44447OP/88znzzDOBht9bREQE8fHxAW31ezvkaOcN4Be/+AU9evQgPT2dzz//nF/96lds3bqV1157zcJqrbdp0yaysrKorq4mNjaW119/nczMTDZu3NhqvzWFHgkaY8aM8X8eOHAgQ4cOpUePHrzyyitMnjzZwsqks7v22mv9nwcMGMDAgQM59dRTef/99xk5cqSFlQWHvLw8vvjiC/WxO0nHOm9Tpkzxfx4wYABpaWmMHDmSb775hlNPPbW9ywwaZ5xxBhs3bqSsrIxXX32ViRMnsmrVqlbdh25vtYGuXbtit9uP6FleVFREamqqRVV1PPHx8fTp04ft27dbXUqH0PTb0u/ux+vduzddu3bVbw+YNm0aS5Ys4b333qNbt27++ampqdTW1lJaWhrQXr+3Bsc6b0czdOhQgJD/vUVERHDaaacxePBgZs+ezaBBg/jzn//cqr81hZ42EBERweDBg1m5cqV/ns/nY+XKlWRlZVlYWcdSUVHBN998Q1pamtWldAi9evUiNTU14Hfn8XhYs2aNfncn6fvvv2f//v0h/dszTZNp06bx+uuv8+6779KrV6+A5YMHDyY8PDzg97Z161YKCgpC+vd2vPN2NBs3bgQI6d/b0fh8Pmpqalr3t9a6fa2lyaJFi0yHw2EuXLjQ3LJlizllyhQzPj7edLvdVpcWtP77v//bfP/9980dO3aYH330kZmdnW127drVLC4utrq0oFFeXm5++umn5qeffmoC5sMPP2x++umn5s6dO03TNM0HH3zQjI+PN//xj3+Yn3/+uXnFFVeYvXr1Mquqqiyu3Fo/dN7Ky8vNu+66y8zPzzd37NhhrlixwjznnHPM008/3ayurra6dMtMnTrVdLlc5vvvv2/u2bPHPx08eNDf5tZbbzW7d+9uvvvuu+a6devMrKwsMysry8KqrXe887Z9+3bz/vvvN9etW2fu2LHD/Mc//mH27t3bvPDCCy2u3Fq//vWvzVWrVpk7duwwP//8c/PXv/61aRiG+c4775im2Xq/NYWeNvSXv/zF7N69uxkREWGed9555scff2x1SUHtmmuuMdPS0syIiAjzlFNOMa+55hpz+/btVpcVVN577z0TOGKaOHGiaZoNj63/9re/NVNSUkyHw2GOHDnS3Lp1q7VFB4EfOm8HDx40R40aZSYlJZnh4eFmjx49zFtuuSXk/x+Uo50vwFywYIG/TVVVlfnLX/7STEhIMKOjo80rr7zS3LNnj3VFB4HjnbeCggLzwgsvNBMTE02Hw2Gedtpp5t13322WlZVZW7jFbr75ZrNHjx5mRESEmZSUZI4cOdIfeEyz9X5rhmmaZguvPImIiIh0GOrTIyIiIiFBoUdERERCgkKPiIiIhASFHhEREQkJCj0iIiISEhR6REREJCQo9IiIiEhIUOgREQEMw+CNN96wugwRaUMKPSJiuUmTJmEYxhHT6NGjrS5NRDqRMKsLEBEBGD16NAsWLAiY53A4LKpGRDojXekRkaDgcDhITU0NmBISEoCGW0/z5s1jzJgxREVF0bt3b1599dWA9Tdt2sQll1xCVFQUXbp0YcqUKVRUVAS0eeaZZ+jfvz8Oh4O0tDSmTZsWsHzfvn1ceeWVREdHc/rpp/Pmm2/6lx04cIAJEyaQlJREVFQUp59++hEhTUSCm0KPiHQIv/3tb8nNzeWzzz5jwoQJXHvttXz55ZcAVFZWkpOTQ0JCAp988gmLFy9mxYoVAaFm3rx55OXlMWXKFDZt2sSbb77JaaedFrCP++67j6uvvprPP/+cn/3sZ0yYMIGSkhL//rds2cLSpUv58ssvmTdvHl27dm2/EyAiP17rvSNVRKRlJk6caNrtdjMmJiZg+t///V/TNBveXH3rrbcGrDN06FBz6tSppmma5vz5882EhASzoqLCv/yf//ynabPZ/G9LT09PN3/zm98cswbAvOeee/zfKyoqTMBcunSpaZqmedlll5k33XRT6xywiFhCfXpEJChcfPHFzJs3L2BeYmKi/3NWVlbAsqysLDZu3AjAl19+yaBBg4iJifEvP//88/H5fGzduhXDMNi9ezcjR478wRoGDhzo/xwTE4PT6aS4uBiAqVOnkpuby4YNGxg1ahTjxo3jJz/5SYuOVUSsodAjIkEhJibmiNtNrSUqKuqE2oWHhwd8NwwDn88HwJgxY9i5cyf/+te/WL58OSNHjiQvL48//vGPrV6viLQN9ekRkQ7h448/PuJ7v379AOjXrx+fffYZlZWV/uUfffQRNpuNM844g7i4OHr27MnKlSt/VA1JSUlMnDiR559/nrlz5zJ//vwftT0RaV+60iMiQaGmpga32x0wLywszN9ZePHixQwZMoQLLriAF154gbVr1/L0008DMGHCBGbNmsXEiRO599572bt3L7fddhs33HADKSkpANx7773ceuutJCcnM2bMGMrLy/noo4+47bbbTqi+mTNnMnjwYPr3709NTQ1Llizxhy4R6RgUekQkKLz99tukpaUFzDvjjDP46quvgIYnqxYtWsQvf/lL0tLSeOmll8jMzAQgOjqaZcuWcfvtt3PuuecSHR1Nbm4uDz/8sH9bEydOpLq6mkceeYS77rqLrl27ctVVV51wfREREcyYMYPvvvuOqKgohg8fzqJFi1rhyEWkvRimaZpWFyEi8kMMw+D1119n3LhxVpciIh2Y+vSIiIhISFDoERERkZCgPj0iEvR0F15EWoOu9IiIiEhIUOgRERGRkKDQIyIiIiFBoUdERERCgkKPiIiIhASFHhEREQkJCj0iIiISEhR6REREJCQo9IiIiEhI+P+oNg3dFeRRpAAAAABJRU5ErkJggg==\n"},"metadata":{}}]},{"cell_type":"markdown","source":["## Réseau de neurones simple"],"metadata":{"id":"2lR22NKdZVF0"}},{"cell_type":"code","source":["sigmoid = Sigmoid()\n","model = Model([ Dense(neurons=3, activation=sigmoid),\n"," Dense(neurons=1)\n"," ])"],"metadata":{"id":"cIJ_hfG1ZdJT","executionInfo":{"status":"ok","timestamp":1687392537690,"user_tz":-60,"elapsed":532,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}}},"execution_count":435,"outputs":[]},{"cell_type":"code","source":["model"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"LmiAC4rkZqsR","executionInfo":{"status":"ok","timestamp":1687392538491,"user_tz":-60,"elapsed":3,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"531e2202-e2e2-478e-a74f-43f762c5bdc5"},"execution_count":436,"outputs":[{"output_type":"execute_result","data":{"text/plain":["Layers ................. \n"," DenseLayer(neurons=3) avec Sigmoid \n"," DenseLayer(neurons=1)"]},"metadata":{},"execution_count":436}]},{"cell_type":"code","source":["mse = Loss()\n","model.compile(loss=mse, learning_rate=0.0001)\n","h = model.fit(X_train, y_train, epochs=150, validation_data=(X_test, y_test))"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"uD0dtDp8YyyV","executionInfo":{"status":"ok","timestamp":1687392541246,"user_tz":-60,"elapsed":447,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"49b6926d-dbf1-43df-b28e-30ad34982620"},"execution_count":437,"outputs":[{"output_type":"stream","name":"stdout","text":["Epoch 1 .............. loss : 507.9248956497336 ....val_loss : 492.311693850643\n","Epoch 2 .............. loss : 466.24520089721494 ....val_loss : 451.5607557083814\n","Epoch 3 .............. loss : 427.7318622051442 ....val_loss : 413.9124130384742\n","Epoch 4 .............. loss : 391.9445763802112 ....val_loss : 378.9220233229542\n","Epoch 5 .............. loss : 358.64849568841305 ....val_loss : 346.36124271593445\n","Epoch 6 .............. loss : 327.7617822429383 ....val_loss : 316.1600493240994\n","Epoch 7 .............. loss : 299.2676236516309 ....val_loss : 288.3099264728872\n","Epoch 8 .............. loss : 273.13622523629294 ....val_loss : 262.78193463964385\n","Epoch 9 .............. loss : 249.29517625915642 ....val_loss : 239.50103731811706\n","Epoch 10 .............. loss : 227.63791951268425 ....val_loss : 218.36067475205962\n","Epoch 11 .............. loss : 208.03992319108744 ....val_loss : 199.24113995526798\n","Epoch 12 .............. loss : 190.36761824850086 ....val_loss : 182.0169604282577\n","Epoch 13 .............. loss : 174.48132826613926 ....val_loss : 166.55758033726065\n","Epoch 14 .............. loss : 160.2373877660901 ....val_loss : 152.72817521222836\n","Epoch 15 .............. loss : 147.49213642139273 ....val_loss : 140.39369302710537\n","Epoch 16 .............. loss : 136.10807073394298 ....val_loss : 129.4266588617602\n","Epoch 17 .............. loss : 125.96005042278307 ....val_loss : 119.71304197365491\n","Epoch 18 .............. loss : 116.93619404383797 ....val_loss : 111.1455403981217\n","Epoch 19 .............. loss : 108.93089266089396 ....val_loss : 103.60774406587444\n","Epoch 20 .............. loss : 101.83844353958814 ....val_loss : 96.96951004926161\n","Epoch 21 .............. loss : 95.55606579719415 ....val_loss : 91.09914936496412\n","Epoch 22 .............. loss : 89.99316542944221 ....val_loss : 85.88076187359752\n","Epoch 23 .............. loss : 85.0797863891724 ....val_loss : 81.23032261860891\n","Epoch 24 .............. loss : 80.76874841898717 ....val_loss : 77.1066717562455\n","Epoch 25 .............. loss : 77.02651759310706 ....val_loss : 73.50424553625534\n","Epoch 26 .............. loss : 73.81484783078726 ....val_loss : 70.42003921110141\n","Epoch 27 .............. loss : 71.07813912785376 ....val_loss : 67.8214885725702\n","Epoch 28 .............. loss : 68.74771096995089 ....val_loss : 65.6462032660693\n","Epoch 29 .............. loss : 66.75445606175039 ....val_loss : 63.822082675892396\n","Epoch 30 .............. loss : 65.03745027994101 ....val_loss : 62.28288764393278\n","Epoch 31 .............. loss : 63.54634633177122 ....val_loss : 60.97353071205928\n","Epoch 32 .............. loss : 62.24054219862075 ....val_loss : 59.84982479798374\n","Epoch 33 .............. loss : 61.087469983750644 ....val_loss : 58.87661701467563\n","Epoch 34 .............. loss : 60.06094702186249 ....val_loss : 58.025873950715265\n","Epoch 35 .............. loss : 59.139823571218756 ....val_loss : 57.275113624333386\n","Epoch 36 .............. loss : 58.30692492487099 ....val_loss : 56.60619800672443\n","Epoch 37 .............. loss : 57.54823196113008 ....val_loss : 56.00441451316407\n","Epoch 38 .............. loss : 56.852244452189154 ....val_loss : 55.45777395518676\n","Epoch 39 .............. loss : 56.209483016535096 ....val_loss : 54.956468508282875\n","Epoch 40 .............. loss : 55.612096744538555 ....val_loss : 54.49244857110679\n","Epoch 41 .............. loss : 55.05355205428039 ....val_loss : 54.059088853415076\n","Epoch 42 .............. loss : 54.52838448445342 ....val_loss : 53.65092206747318\n","Epoch 43 .............. loss : 54.03199953686629 ....val_loss : 53.26342416555792\n","Epoch 44 .............. loss : 53.560511881718085 ....val_loss : 52.8928389449061\n","Epoch 45 .............. loss : 53.11061461736576 ....val_loss : 52.536032567989\n","Epoch 46 .............. loss : 52.6794720976204 ....val_loss : 52.19037047744537\n","Epoch 47 .............. loss : 52.26463130133323 ....val_loss : 51.85361057633516\n","Epoch 48 .............. loss : 51.86394800081757 ....val_loss : 51.523807627570385\n","Epoch 49 .............. loss : 51.47552530291856 ....val_loss : 51.19922491536677\n","Epoch 50 .............. loss : 51.09766380971813 ....val_loss : 50.87825088124481\n","Epoch 51 .............. loss : 50.7288251855307 ....val_loss : 50.55932185480677\n","Epoch 52 .............. loss : 50.36761506755083 ....val_loss : 50.240859372612874\n","Epoch 53 .............. loss : 50.01279774169708 ....val_loss : 49.921245520485\n","Epoch 54 .............. loss : 49.66336318555973 ....val_loss : 49.59888553451402\n","Epoch 55 .............. loss : 49.31867097034068 ....val_loss : 49.27243735609513\n","Epoch 56 .............. loss : 48.97867658577628 ....val_loss : 48.941282630794284\n","Epoch 57 .............. loss : 48.64417269364475 ....val_loss : 48.60617503634132\n","Epoch 58 .............. loss : 48.316849201351516 ....val_loss : 48.26966722405963\n","Epoch 59 .............. loss : 47.99892244221096 ....val_loss : 47.93568662008473\n","Epoch 60 .............. loss : 47.69233833768087 ....val_loss : 47.60816373524545\n","Epoch 61 .............. loss : 47.39801758559914 ....val_loss : 47.28967500126016\n","Epoch 62 .............. loss : 47.115661828962544 ....val_loss : 46.981095919974\n","Epoch 63 .............. loss : 46.844111810755244 ....val_loss : 46.682132163029806\n","Epoch 64 .............. loss : 46.581858280850376 ....val_loss : 46.391997037683595\n","Epoch 65 .............. loss : 46.32741201414948 ....val_loss : 46.109834987643424\n","Epoch 66 .............. loss : 46.079483149109315 ....val_loss : 45.834893016978356\n","Epoch 67 .............. loss : 45.83703171984428 ....val_loss : 45.56655596872626\n","Epoch 68 .............. loss : 45.59925484619439 ....val_loss : 45.30433011631969\n","Epoch 69 .............. loss : 45.36555065768121 ....val_loss : 45.04781482122885\n","Epoch 70 .............. loss : 45.135478325458635 ....val_loss : 44.79667654100699\n","Epoch 71 .............. loss : 44.90872200688446 ....val_loss : 44.5506287006048\n","Epoch 72 .............. loss : 44.685061033004786 ....val_loss : 44.309417232400236\n","Epoch 73 .............. loss : 44.464346364713776 ....val_loss : 44.0728106504937\n","Epoch 74 .............. loss : 44.24648250945984 ....val_loss : 43.84059350674433\n","Epoch 75 .............. loss : 44.03141388866228 ....val_loss : 43.61256229369409\n","Epoch 76 .............. loss : 43.819114693430016 ....val_loss : 43.388523089858275\n","Epoch 77 .............. loss : 43.60958139634553 ....val_loss : 43.16829042871423\n","Epoch 78 .............. loss : 43.40282723160738 ....val_loss : 42.95168700988071\n","Epoch 79 .............. loss : 43.198878089290304 ....val_loss : 42.73854396870362\n","Epoch 80 .............. loss : 42.99776938470999 ....val_loss : 42.52870148915845\n","Epoch 81 .............. loss : 42.79954356102666 ....val_loss : 42.32200959318739\n","Epoch 82 .............. loss : 42.60424796501946 ....val_loss : 42.118328973792664\n","Epoch 83 .............. loss : 42.41193290563046 ....val_loss : 41.91753176430316\n","Epoch 84 .............. loss : 42.22264976522918 ....val_loss : 41.71950215596651\n","Epoch 85 .............. loss : 42.03644908658515 ....val_loss : 41.52413679326066\n","Epoch 86 .............. loss : 41.8533786053007 ....val_loss : 41.331344893166886\n","Epoch 87 .............. loss : 41.673481238039145 ....val_loss : 41.14104805242936\n","Epoch 88 .............. loss : 41.49679307058096 ....val_loss : 40.953179726099165\n","Epoch 89 .............. loss : 41.3233414153459 ....val_loss : 40.76768438119792\n","Epoch 90 .............. loss : 41.15314302422827 ....val_loss : 40.58451635024624\n","Epoch 91 .............. loss : 40.9862025484439 ....val_loss : 40.40363842929208\n","Epoch 92 .............. loss : 40.82251133236724 ....val_loss : 40.22502028231934\n","Epoch 93 .............. loss : 40.662046613823684 ....val_loss : 40.04863672694097\n","Epoch 94 .............. loss : 40.50477118081201 ....val_loss : 39.87446598381044\n","Epoch 95 .............. loss : 40.35063350683473 ....val_loss : 39.70248797345854\n","Epoch 96 .............. loss : 40.19956835706255 ....val_loss : 39.5326827391291\n","Epoch 97 .............. loss : 40.05149782865205 ....val_loss : 39.365029063143375\n","Epoch 98 .............. loss : 39.90633276347519 ....val_loss : 39.1995033284611\n","Epoch 99 .............. loss : 39.763974452403666 ....val_loss : 39.036078657998985\n","Epoch 100 .............. loss : 39.624316538334256 ....val_loss : 38.874724343790334\n","Epoch 101 .............. loss : 39.48724702066852 ....val_loss : 38.71540555817277\n","Epoch 102 .............. loss : 39.35265026651055 ....val_loss : 38.55808332165222\n","Epoch 103 .............. loss : 39.22040894236437 ....val_loss : 38.402714688280355\n","Epoch 104 .............. loss : 39.09040579317325 ....val_loss : 38.24925310011091\n","Epoch 105 .............. loss : 38.96252521156863 ....val_loss : 38.09764885776169\n","Epoch 106 .............. loss : 38.83665455765584 ....val_loss : 37.947849653936096\n","Epoch 107 .............. loss : 38.71268520721598 ....val_loss : 37.79980112018688\n","Epoch 108 .............. loss : 38.59051332280145 ....val_loss : 37.653447343247066\n","Epoch 109 .............. loss : 38.4700403571245 ....val_loss : 37.50873131491534\n","Epoch 110 .............. loss : 38.351173310991996 ....val_loss : 37.36559528790041\n","Epoch 111 .............. loss : 38.233824778713455 ....val_loss : 37.22398101857871\n","Epoch 112 .............. loss : 38.11791282251151 ....val_loss : 37.08382988595363\n","Epoch 113 .............. loss : 38.00336072425227 ....val_loss : 36.945082884163476\n","Epoch 114 .............. loss : 37.89009666812495 ....val_loss : 36.807680493870414\n","Epoch 115 .............. loss : 37.778053412093804 ....val_loss : 36.671562446233224\n","Epoch 116 .............. loss : 37.66716800933388 ....val_loss : 36.536667402617226\n","Epoch 117 .............. loss : 37.55738164364766 ....val_loss : 36.40293258465987\n","Epoch 118 .............. loss : 37.44863964501532 ....val_loss : 36.27029340393963\n","Epoch 119 .............. loss : 37.34089175253839 ....val_loss : 36.138683159568096\n","Epoch 120 .............. loss : 37.234092691005024 ....val_loss : 36.00803289670882\n","Epoch 121 .............. loss : 37.128203121979716 ....val_loss : 35.878271549840996\n","Epoch 122 .............. loss : 37.02319101697063 ....val_loss : 35.74932653037652\n","Epoch 123 .............. loss : 36.919033473002756 ....val_loss : 35.62112495440456\n","Epoch 124 .............. loss : 36.81571894157369 ....val_loss : 35.493595732241516\n","Epoch 125 .............. loss : 36.71324976037905 ....val_loss : 35.36667273730125\n","Epoch 126 .............. loss : 36.611644753828095 ....val_loss : 35.24029920638452\n","Epoch 127 .............. loss : 36.510941500013196 ....val_loss : 35.11443335635405\n","Epoch 128 .............. loss : 36.411197661901035 ....val_loss : 34.98905489578731\n","Epoch 129 .............. loss : 36.31249059344468 ....val_loss : 34.86417165869364\n","Epoch 130 .............. loss : 36.21491434470053 ....val_loss : 34.73982506141262\n","Epoch 131 .............. loss : 36.11857333110693 ....val_loss : 34.61609267197933\n","Epoch 132 .............. loss : 36.02357242751006 ....val_loss : 34.493086179102846\n","Epoch 133 .............. loss : 35.93000413497726 ....val_loss : 34.370943735947705\n","Epoch 134 .............. loss : 35.837934586858985 ....val_loss : 34.249817065789195\n","Epoch 135 .............. loss : 35.747391105350445 ....val_loss : 34.129855439414975\n","Epoch 136 .............. loss : 35.65835426890982 ....val_loss : 34.01118988236355\n","Epoch 137 .............. loss : 35.570756669065204 ....val_loss : 33.89392103055879\n","Epoch 138 .............. loss : 35.484488870634124 ....val_loss : 33.77811281814869\n","Epoch 139 .............. loss : 35.39941118697494 ....val_loss : 33.66379227998596\n","Epoch 140 .............. loss : 35.3153685294316 ....val_loss : 33.55095410885875\n","Epoch 141 .............. loss : 35.232205253759396 ....val_loss : 33.43956783274636\n","Epoch 142 .............. loss : 35.1497775380875 ....val_loss : 33.32958559296686\n","Epoch 143 .............. loss : 35.06796193938238 ....val_loss : 33.220949134036125\n","Epoch 144 .............. loss : 34.986659886518474 ....val_loss : 33.11359533465999\n","Epoch 145 .............. loss : 34.90579865930361 ....val_loss : 33.00746015863697\n","Epoch 146 .............. loss : 34.825329789776134 ....val_loss : 32.90248121680383\n","Epoch 147 .............. loss : 34.74522587897512 ....val_loss : 32.79859925066848\n","Epoch 148 .............. loss : 34.665476680065716 ....val_loss : 32.69575885078554\n","Epoch 149 .............. loss : 34.5860850756599 ....val_loss : 32.59390867182821\n","Epoch 150 .............. loss : 34.50706335243698 ....val_loss : 32.49300134130421\n"]}]},{"cell_type":"code","source":["plot_learning_curve(h)"],"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":472},"id":"PofKkfo2ZupJ","executionInfo":{"status":"ok","timestamp":1687392548006,"user_tz":-60,"elapsed":481,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"5b164152-6a20-4cee-ed54-ba3e7ff7642e"},"execution_count":438,"outputs":[{"output_type":"display_data","data":{"text/plain":["
"],"image/png":"iVBORw0KGgoAAAANSUhEUgAAAjsAAAHHCAYAAABZbpmkAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABPcUlEQVR4nO3deXxU1f3/8dedNetMQshCZHeDqKhFhVStVhBQXBBsq0VE5VerRr8u1Vq+WtxqUVurtSpKa0W/alGsWqW1iGixSlgEQRBBVCBANiBkX2a7vz8mGTKyBUjmJpP38/G4j8zce2fmcyaWvHvOuecapmmaiIiIiMQpm9UFiIiIiHQkhR0RERGJawo7IiIiEtcUdkRERCSuKeyIiIhIXFPYERERkbimsCMiIiJxTWFHRERE4prCjoiIiMQ1hR0R6fT69+/PVVddZXUZItJFKeyIdBOzZs3CMAw+/fRTq0vpchobG3nssccYNmwYXq+XhIQEjjnmGG688Ua++uorq8sTkQNwWF2AiMiBrF+/HpvNmv9vtmPHDsaMGcPy5cu54IIL+OlPf0pKSgrr169n9uzZzJw5E5/PZ0ltItI2CjsiElOBQIBQKITL5Wrza9xudwdWtH9XXXUVn332Ga+//joTJkyIOvbAAw9w1113tcvnHMr3IiJto2EsEYmybds2rrnmGrKzs3G73Rx33HH89a9/jTrH5/Mxbdo0hg4ditfrJTk5mTPPPJMPP/ww6rxNmzZhGAa///3vefzxxznyyCNxu92sXbuWe++9F8Mw+Prrr7nqqqtIS0vD6/Vy9dVXU19fH/U+352z0zIk98knn3DbbbeRmZlJcnIyl1xyCdu3b496bSgU4t577yU3N5ekpCR++MMfsnbt2jbNA1qyZAn//Oc/mTJlyh5BB8Ih7Pe//33k+dlnn83ZZ5+9x3lXXXUV/fv3P+D38tlnn+FwOLjvvvv2eI/169djGAZPPvlkZF9lZSW33HILffr0we12c9RRR/Hwww8TCoX22y6R7kY9OyISUVZWxvDhwzEMgxtvvJHMzEzeffddpkyZQnV1NbfccgsA1dXV/OUvf+Hyyy/nZz/7GTU1NTz33HOMHj2apUuXctJJJ0W97/PPP09jYyPXXnstbrebHj16RI79+Mc/ZsCAAUyfPp0VK1bwl7/8haysLB5++OED1nvTTTeRnp7OPffcw6ZNm3j88ce58cYbefXVVyPnTJ06lUceeYQLL7yQ0aNHs2rVKkaPHk1jY+MB3//tt98GYNKkSW349g7ed7+XXr16cdZZZ/Haa69xzz33RJ376quvYrfb+dGPfgRAfX09Z511Ftu2bePnP/85ffv2ZdGiRUydOpWSkhIef/zxDqlZpEsyRaRbeP75503AXLZs2T7PmTJlitmrVy9zx44dUfsvu+wy0+v1mvX19aZpmmYgEDCbmpqiztm1a5eZnZ1tXnPNNZF9GzduNAHT4/GY5eXlUeffc889JhB1vmma5iWXXGJmZGRE7evXr585efLkPdoycuRIMxQKRfbfeuutpt1uNysrK03TNM3S0lLT4XCY48aNi3q/e++91wSi3nNvLrnkEhMwd+3atd/zWpx11lnmWWedtcf+yZMnm/369Ys839/38uyzz5qAuXr16qj9eXl55jnnnBN5/sADD5jJycnmV199FXXer371K9Nut5tFRUVtqlmkO9AwlogAYJomf//737nwwgsxTZMdO3ZEttGjR1NVVcWKFSsAsNvtkbkloVCIiooKAoEAp5xySuSc1iZMmEBmZuZeP/e6666Len7mmWeyc+dOqqurD1jztddei2EYUa8NBoNs3rwZgAULFhAIBLjhhhuiXnfTTTcd8L2BSA2pqaltOv9g7e17GT9+PA6HI6p3as2aNaxdu5af/OQnkX1z5szhzDPPJD09Pep3NXLkSILBIB999FGH1CzSFWkYS0QA2L59O5WVlcycOZOZM2fu9Zzy8vLI4xdeeIFHH32UdevW4ff7I/sHDBiwx+v2tq9F3759o56np6cDsGvXLjwez35r3t9rgUjoOeqoo6LO69GjR+Tc/Wn5/JqaGtLS0g54/sHa2/fSs2dPRowYwWuvvcYDDzwAhIewHA4H48ePj5y3YcMGPv/8832GyNa/K5HuTmFHRAAik1qvuOIKJk+evNdzhgwZAsBLL73EVVddxbhx47jjjjvIysrCbrczffp0vvnmmz1el5iYuM/Ptdvte91vmuYBaz6c17bFoEGDAFi9ejVnnnnmAc83DGOvnx0MBvd6/r6+l8suu4yrr76alStXctJJJ/Haa68xYsQIevbsGTknFApx7rnn8stf/nKv73HMMcccsF6R7kJhR0QAyMzMJDU1lWAwyMiRI/d77uuvv87AgQN54403ooaRvjup1mr9+vUD4Ouvv47qRdm5c2ek92d/LrzwQqZPn85LL73UprCTnp7Ot99+u8f+lh6mtho3bhw///nPI0NZX331FVOnTo0658gjj6S2tvaAvysR0aXnItLMbrczYcIE/v73v7NmzZo9jre+pLulR6V1L8aSJUsoLCzs+EIPwogRI3A4HMyYMSNqf+vLt/cnPz+fMWPG8Je//IW33nprj+M+n4/bb7898vzII49k3bp1Ud/VqlWr+OSTTw6q7rS0NEaPHs1rr73G7NmzcblcjBs3LuqcH//4xxQWFjJv3rw9Xl9ZWUkgEDiozxSJZ+rZEelm/vrXv/Lvf/97j/0333wzDz30EB9++CHDhg3jZz/7GXl5eVRUVLBixQref/99KioqALjgggt44403uOSSSxg7diwbN27kmWeeIS8vj9ra2lg3aZ+ys7O5+eabefTRR7nooosYM2YMq1at4t1336Vnz55RvVL78uKLLzJq1CjGjx/PhRdeyIgRI0hOTmbDhg3Mnj2bkpKSyFo711xzDX/4wx8YPXo0U6ZMoby8nGeeeYbjjjuuTROuW/vJT37CFVdcwdNPP83o0aP3mDN0xx138Pbbb3PBBRdw1VVXMXToUOrq6li9ejWvv/46mzZtihr2EunOFHZEupnv9nK0uOqqq+jduzdLly7l/vvv54033uDpp58mIyOD4447Lmrdm6uuuorS0lKeffZZ5s2bR15eHi+99BJz5szhP//5T4xa0jYPP/wwSUlJ/PnPf+b9998nPz+f9957jzPOOIOEhIQDvj4zM5NFixbx9NNP8+qrr3LXXXfh8/no168fF110ETfffHPk3MGDB/Piiy8ybdo0brvtNvLy8vi///s/XnnllYP+Xi666CISExOpqamJugqrRVJSEgsXLuS3v/0tc+bM4cUXX8Tj8XDMMcdw33334fV6D+rzROKZYbbXTD4RkS6isrKS9PR0fvOb37Tb7R5EpPPSnB0RiWsNDQ177GtZXXhvt3YQkfijYSwRiWuvvvoqs2bN4vzzzyclJYWPP/6Yv/3tb4waNYrTTz/d6vJEJAYUdkQkrg0ZMgSHw8EjjzxCdXV1ZNLyb37zG6tLE5EY0ZwdERERiWuasyMiIiJxTWFHRERE4prm7BC+x0xxcTGpqaltWmRMRERErGeaJjU1NeTm5mKz7bv/RmEHKC4upk+fPlaXISIiIodgy5Yt9O7de5/HFXaA1NRUIPxleTwei6sRERGRtqiurqZPnz6Rv+P7orADkaErj8ejsCMiItLFHGgKiiYoi4iISFxT2BEREZG4prAjIiIicU1hR0REROKawo6IiIjENYUdERERiWsKOyIiIhLXFHZEREQkrinsiIiISFxT2BEREZG4prAjIiIicU1hR0REROKawk4Hqmn083V5LY3+oNWliIiIdFsKOx1o5B8WMvIPC/mqrMbqUkRERLothZ0OlO1JAKCsusniSkRERLovS8POvffei2EYUdugQYMixxsbGykoKCAjI4OUlBQmTJhAWVlZ1HsUFRUxduxYkpKSyMrK4o477iAQCMS6KXuVldoSdhotrkRERKT7clhdwHHHHcf7778fee5w7C7p1ltv5Z///Cdz5szB6/Vy4403Mn78eD755BMAgsEgY8eOJScnh0WLFlFSUsKVV16J0+nkt7/9bczb8l05XjcA5Qo7IiIilrE87DgcDnJycvbYX1VVxXPPPccrr7zCOeecA8Dzzz/P4MGDWbx4McOHD+e9995j7dq1vP/++2RnZ3PSSSfxwAMPcOedd3Lvvfficrli3Zwo2c09O6UKOyIiIpaxfM7Ohg0byM3NZeDAgUycOJGioiIAli9fjt/vZ+TIkZFzBw0aRN++fSksLASgsLCQE044gezs7Mg5o0ePprq6mi+++CK2DdkLzdkRERGxnqU9O8OGDWPWrFkce+yxlJSUcN9993HmmWeyZs0aSktLcblcpKWlRb0mOzub0tJSAEpLS6OCTsvxlmP70tTURFPT7gBSXV3dTi2KluUJD2Npzo6IiIh1LA075513XuTxkCFDGDZsGP369eO1114jMTGxwz53+vTp3HfffR32/i1yvJqgLCIiYjXLh7FaS0tL45hjjuHrr78mJycHn89HZWVl1DllZWWROT45OTl7XJ3V8nxv84BaTJ06laqqqsi2ZcuW9m1Is5Y5O7vq/TQFtLCgiIiIFTpV2KmtreWbb76hV69eDB06FKfTyYIFCyLH169fT1FREfn5+QDk5+ezevVqysvLI+fMnz8fj8dDXl7ePj/H7Xbj8Xiito6QluTE5Qh/xeWatyMiImIJS8PO7bffzsKFC9m0aROLFi3ikksuwW63c/nll+P1epkyZQq33XYbH374IcuXL+fqq68m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\n"},"metadata":{}}]},{"cell_type":"markdown","source":["## Deep Neural Network"],"metadata":{"id":"acUQvSjvabqB"}},{"cell_type":"code","source":["sigmoid = Sigmoid()\n","model = Model([ Dense(neurons=13, activation=sigmoid),\n"," Dense(neurons=1),\n","\n"," ])"],"metadata":{"id":"u8wMC3ppaN0M","executionInfo":{"status":"ok","timestamp":1687392627734,"user_tz":-60,"elapsed":401,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}}},"execution_count":447,"outputs":[]},{"cell_type":"code","source":["model"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"jeTyisrraqmj","executionInfo":{"status":"ok","timestamp":1687392629360,"user_tz":-60,"elapsed":3,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"44189696-770e-4b35-f662-e5ed38f98bcd"},"execution_count":448,"outputs":[{"output_type":"execute_result","data":{"text/plain":["Layers ................. \n"," DenseLayer(neurons=13) avec Sigmoid \n"," DenseLayer(neurons=1)"]},"metadata":{},"execution_count":448}]},{"cell_type":"code","source":["mse = Loss()\n","model.compile(loss=mse, learning_rate=0.0001)\n","h = model.fit(X_train, y_train, epochs=150, validation_data=(X_test, y_test))"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"W9Vb4FC3ar8w","executionInfo":{"status":"ok","timestamp":1687392631894,"user_tz":-60,"elapsed":568,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"c1e95779-6149-4b54-ed7e-4b0941c1ed6f"},"execution_count":449,"outputs":[{"output_type":"stream","name":"stdout","text":["Epoch 1 .............. loss : 609.4535263872165 ....val_loss : 594.285047596059\n","Epoch 2 .............. loss : 494.7172454598782 ....val_loss : 479.0339597155269\n","Epoch 3 .............. loss : 403.8643944989146 ....val_loss : 388.125852443045\n","Epoch 4 .............. loss : 331.0559254119759 ....val_loss : 315.67394558965\n","Epoch 5 .............. loss : 272.44802631944543 ....val_loss : 257.80096535791387\n","Epoch 6 .............. loss : 225.32104126553727 ....val_loss : 211.7461595039089\n","Epoch 7 .............. loss : 187.60578616146617 ....val_loss : 175.37471756759948\n","Epoch 8 .............. loss : 157.62037539699094 ....val_loss : 146.91491099254424\n","Epoch 9 .............. loss : 133.9379615740088 ....val_loss : 124.84238208175846\n","Epoch 10 .............. loss : 115.33306807953525 ....val_loss : 107.84460906755527\n","Epoch 11 .............. loss : 100.76383198721742 ....val_loss : 94.8136613248053\n","Epoch 12 .............. loss : 89.36281102397759 ....val_loss : 84.83959359519152\n","Epoch 13 .............. loss : 80.42414713510476 ....val_loss : 77.19470874462637\n","Epoch 14 .............. loss : 73.38501999017595 ....val_loss : 71.30927122086527\n","Epoch 15 .............. loss : 67.80394933610259 ....val_loss : 66.74384710569032\n","Epoch 16 .............. loss : 63.338980777709935 ....val_loss : 63.16320594326976\n","Epoch 17 .............. loss : 59.72772046662133 ....val_loss : 60.31410463055445\n","Epoch 18 .............. loss : 56.77014011013003 ....val_loss : 58.00697905732569\n","Epoch 19 .............. loss : 54.314382766974546 ....val_loss : 56.10095172821895\n","Epoch 20 .............. loss : 52.245467403626975 ....val_loss : 54.49191732965117\n","Epoch 21 .............. loss : 50.47654447278566 ....val_loss : 53.1034202822021\n","Epoch 22 .............. loss : 48.942161999056076 ....val_loss : 51.87970350441654\n","Epoch 23 .............. loss : 47.59303981617112 ....val_loss : 50.780330560710794\n","Epoch 24 .............. loss : 46.392019075413714 ....val_loss : 49.776027668240474\n","Epoch 25 .............. loss : 45.31096948445956 ....val_loss : 48.84553815905314\n","Epoch 26 .............. loss : 44.32847517552106 ....val_loss : 47.97331299490986\n","Epoch 27 .............. loss : 43.4281343598411 ....val_loss : 47.147866866640136\n","Epoch 28 .............. loss : 42.59732683484983 ....val_loss : 46.36064944995507\n","Epoch 29 .............. loss : 41.82632768413527 ....val_loss : 45.605311093475684\n","Epoch 30 .............. loss : 41.10766782791384 ....val_loss : 44.87726565591287\n","Epoch 31 .............. loss : 40.43565769907934 ....val_loss : 44.17345671665201\n","Epoch 32 .............. loss : 39.80600064159016 ....val_loss : 43.49221408000989\n","Epoch 33 .............. loss : 39.215436372136075 ....val_loss : 42.83306654260564\n","Epoch 34 .............. loss : 38.6613841238386 ....val_loss : 42.19640255910404\n","Epoch 35 .............. loss : 38.14160148197 ....val_loss : 41.582977151351066\n","Epoch 36 .............. loss : 37.65391501487248 ....val_loss : 40.99340130420351\n","Epoch 37 .............. loss : 37.19607734993321 ....val_loss : 40.427797681822355\n","Epoch 38 .............. loss : 36.765757738138504 ....val_loss : 39.88571176993216\n","Epoch 39 .............. loss : 36.36061993592687 ....val_loss : 39.366225827214805\n","Epoch 40 .............. loss : 35.9784234656955 ....val_loss : 38.868155209383524\n","Epoch 41 .............. loss : 35.617102700902 ....val_loss : 38.390229029964544\n","Epoch 42 .............. loss : 35.27480708792659 ....val_loss : 37.93121150658964\n","Epoch 43 .............. loss : 34.94990589755357 ....val_loss : 37.489960848761314\n","Epoch 44 .............. loss : 34.64096896707942 ....val_loss : 37.06544069044981\n","Epoch 45 .............. loss : 34.34673549473888 ....val_loss : 36.656703391349964\n","Epoch 46 .............. loss : 34.06608054688218 ....val_loss : 36.26286278090327\n","Epoch 47 .............. loss : 33.79798576157045 ....val_loss : 35.8830693990944\n","Epoch 48 .............. loss : 33.54151756594019 ....val_loss : 35.51649538738862\n","Epoch 49 .............. loss : 33.295813469490774 ....val_loss : 35.1623304451514\n","Epoch 50 .............. loss : 33.06007504271835 ....val_loss : 34.81978629766011\n","Epoch 51 .............. loss : 32.83356527482038 ....val_loss : 34.48810562414441\n","Epoch 52 .............. loss : 32.61560802327613 ....val_loss : 34.166571869850216\n","Epoch 53 .............. loss : 32.40558784871422 ....val_loss : 33.85451772047728\n","Epoch 54 .............. loss : 32.202949254775206 ....val_loss : 33.551331322479314\n","Epoch 55 .............. loss : 32.007194946988 ....val_loss : 33.25646015967647\n","Epoch 56 .............. loss : 31.817883087859673 ....val_loss : 32.96941282770702\n","Epoch 57 .............. loss : 31.634623681634665 ....val_loss : 32.68975895187364\n","Epoch 58 .............. loss : 31.457074246267982 ....val_loss : 32.41712736155871\n","Epoch 59 .............. loss : 31.28493489871303 ....val_loss : 32.151202510159074\n","Epoch 60 .............. loss : 31.11794294998327 ....val_loss : 31.89171910094423\n","Epoch 61 .............. loss : 30.955867111220783 ....val_loss : 31.63845498126893\n","Epoch 62 .............. loss : 30.798501459312636 ....val_loss : 31.391222584969668\n","Epoch 63 .............. loss : 30.645659386547436 ....val_loss : 31.149859473979227\n","Epoch 64 .............. loss : 30.497167833436613 ....val_loss : 30.914218762685792\n","Epoch 65 .............. loss : 30.352862142074976 ....val_loss : 30.68416031040627\n","Epoch 66 .............. loss : 30.212581843342793 ....val_loss : 30.45954348544016\n","Epoch 67 .............. loss : 30.076167599880154 ....val_loss : 30.240222049671715\n","Epoch 68 .............. loss : 29.943459387228504 ....val_loss : 30.026041357434682\n","Epoch 69 .............. loss : 29.81429584334349 ....val_loss : 29.81683770707524\n","Epoch 70 .............. loss : 29.688514589159947 ....val_loss : 29.612439416054652\n","Epoch 71 .............. loss : 29.565953245530167 ....val_loss : 29.41266905566337\n","Epoch 72 .............. loss : 29.446450851868157 ....val_loss : 29.217346276557524\n","Epoch 73 .............. loss : 29.3298494201223 ....val_loss : 29.026290745082914\n","Epoch 74 .............. loss : 29.2159954161379 ....val_loss : 28.839324845115105\n","Epoch 75 .............. loss : 29.104741029809762 ....val_loss : 28.656275939766143\n","Epoch 76 .............. loss : 28.99594516068419 ....val_loss : 28.47697810555209\n","Epoch 77 .............. loss : 28.889474098142035 ....val_loss : 28.301273337410766\n","Epoch 78 .............. loss : 28.785201911977875 ....val_loss : 28.12901227622496\n","Epoch 79 .............. loss : 28.683010591008 ....val_loss : 27.96005453707506\n","Epoch 80 .............. loss : 28.582789977236505 ....val_loss : 27.7942687240216\n","Epoch 81 .............. loss : 28.48443754459485 ....val_loss : 27.63153221298081\n","Epoch 82 .............. loss : 28.38785806754813 ....val_loss : 27.47173077380462\n","Epoch 83 .............. loss : 28.292963218445838 ....val_loss : 27.314758089862796\n","Epoch 84 .............. loss : 28.19967112514306 ....val_loss : 27.16051522061794\n","Epoch 85 .............. loss : 28.10790591323169 ....val_loss : 27.00891004114925\n","Epoch 86 .............. loss : 28.01759725079982 ....val_loss : 26.859856682858847\n","Epoch 87 .............. loss : 27.92867990823961 ....val_loss : 26.713274991787337\n","Epoch 88 .............. loss : 27.841093341289376 ....val_loss : 26.56909001493585\n","Epoch 89 .............. loss : 27.75478130214716 ....val_loss : 26.427231520499202\n","Epoch 90 .............. loss : 27.669691480994977 ....val_loss : 26.287633554686362\n","Epoch 91 .............. loss : 27.58577517847407 ....val_loss : 26.15023403557705\n","Epoch 92 .............. loss : 27.5029870084069 ....val_loss : 26.014974383004574\n","Epoch 93 .............. loss : 27.421284629242212 ....val_loss : 25.881799182570322\n","Epoch 94 .............. loss : 27.340628502200172 ....val_loss : 25.750655881423725\n","Epoch 95 .............. loss : 27.26098167382669 ....val_loss : 25.62149451325792\n","Epoch 96 .............. loss : 27.18230958056549 ....val_loss : 25.4942674499789\n","Epoch 97 .............. loss : 27.10457987296989 ....val_loss : 25.36892917763184\n","Epoch 98 .............. loss : 27.027762257267355 ....val_loss : 25.245436094358304\n","Epoch 99 .............. loss : 26.951828352129755 ....val_loss : 25.12374632837613\n","Epoch 100 .............. loss : 26.87675155867179 ....val_loss : 25.003819574193948\n","Epoch 101 .............. loss : 26.80250694188499 ....val_loss : 24.885616945477768\n","Epoch 102 .............. loss : 26.72907112190448 ....val_loss : 24.76910084317046\n","Epoch 103 .............. loss : 26.656422173695486 ....val_loss : 24.654234837620933\n","Epoch 104 .............. loss : 26.584539533929245 ....val_loss : 24.540983563608503\n","Epoch 105 .............. loss : 26.513403913993365 ....val_loss : 24.429312627250923\n","Epoch 106 .............. loss : 26.442997218245473 ....val_loss : 24.31918852386517\n","Epoch 107 .............. loss : 26.37330246677077 ....val_loss : 24.210578565912243\n","Epoch 108 .............. loss : 26.30430372204368 ....val_loss : 24.10345082020478\n","Epoch 109 .............. loss : 26.235986019018913 ....val_loss : 23.997774053593595\n","Epoch 110 .............. loss : 26.16833529828923 ....val_loss : 23.893517686379237\n","Epoch 111 .............. loss : 26.101338342044805 ....val_loss : 23.79065175272151\n","Epoch 112 .............. loss : 26.0349827126528 ....val_loss : 23.68914686734416\n","Epoch 113 .............. loss : 25.969256693745816 ....val_loss : 23.588974197858512\n","Epoch 114 .............. loss : 25.904149233764535 ....val_loss : 23.49010544205569\n","Epoch 115 .............. loss : 25.83964989194355 ....val_loss : 23.39251280954827\n","Epoch 116 .............. loss : 25.77574878676168 ....val_loss : 23.296169007174143\n","Epoch 117 .............. loss : 25.712436546898793 ....val_loss : 23.201047227611557\n","Epoch 118 .............. loss : 25.64970426475255 ....val_loss : 23.107121140692442\n","Epoch 119 .............. loss : 25.587543452570834 ....val_loss : 23.014364886941628\n","Epoch 120 .............. loss : 25.525946001251373 ....val_loss : 22.922753072911924\n","Epoch 121 .............. loss : 25.46490414184905 ....val_loss : 22.83226076792713\n","Epoch 122 .............. loss : 25.404410409816638 ....val_loss : 22.74286350188819\n","Epoch 123 .............. loss : 25.344457611986456 ....val_loss : 22.65453726384\n","Epoch 124 .............. loss : 25.28503879627986 ....val_loss : 22.567258501036637\n","Epoch 125 .............. loss : 25.226147224110633 ....val_loss : 22.48100411828211\n","Epoch 126 .............. loss : 25.16777634542719 ....val_loss : 22.39575147736038\n","Epoch 127 .............. loss : 25.10991977631833 ....val_loss : 22.31147839640187\n","Epoch 128 .............. loss : 25.05257127908885 ....val_loss : 22.22816314906518\n","Epoch 129 .............. loss : 24.9957247446948 ....val_loss : 22.145784463440464\n","Epoch 130 .............. loss : 24.93937417741419 ....val_loss : 22.064321520605528\n","Epoch 131 .............. loss : 24.88351368161772 ....val_loss : 21.983753952787616\n","Epoch 132 .............. loss : 24.82813745049533 ....val_loss : 21.904061841102322\n","Epoch 133 .............. loss : 24.773239756588698 ....val_loss : 21.8252257128568\n","Epoch 134 .............. loss : 24.718814943976415 ....val_loss : 21.74722653841746\n","Epoch 135 .............. loss : 24.664857421957816 ....val_loss : 21.670045727652816\n","Epoch 136 .............. loss : 24.61136166008277 ....val_loss : 21.59366512597048\n","Epoch 137 .............. loss : 24.558322184378078 ....val_loss : 21.51806700997318\n","Epoch 138 .............. loss : 24.505733574626102 ....val_loss : 21.443234082763546\n","Epoch 139 .............. loss : 24.453590462557475 ....val_loss : 21.369149468929805\n","Epoch 140 .............. loss : 24.401887530827313 ....val_loss : 21.295796709246424\n","Epoch 141 .............. loss : 24.350619512652397 ....val_loss : 21.223159755123795\n","Epoch 142 .............. loss : 24.299781191995653 ....val_loss : 21.151222962841146\n","Epoch 143 .............. loss : 24.249367404193457 ....val_loss : 21.079971087595062\n","Epoch 144 .............. loss : 24.19937303693042 ....val_loss : 21.00938927739476\n","Epoch 145 .............. loss : 24.149793031475543 ....val_loss : 20.939463066832875\n","Epoch 146 .............. loss : 24.100622384102994 ....val_loss : 20.870178370758428\n","Epoch 147 .............. loss : 24.051856147629017 ....val_loss : 20.801521477875614\n","Epoch 148 .............. loss : 24.00348943300558 ....val_loss : 20.733479044290082\n","Epoch 149 .............. loss : 23.955517410918613 ....val_loss : 20.66603808702128\n","Epoch 150 .............. loss : 23.907935313346876 ....val_loss : 20.59918597749719\n"]}]},{"cell_type":"code","source":["plot_learning_curve(h)"],"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":472},"id":"1tLPfhXNa1mV","executionInfo":{"status":"ok","timestamp":1687392643125,"user_tz":-60,"elapsed":479,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"b3f2697f-c167-4cc7-ae90-808df5086dbb"},"execution_count":450,"outputs":[{"output_type":"display_data","data":{"text/plain":["
"],"image/png":"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4Em1VuvWrRsA33zzTcwoyt69e6OjP0dz+eWXM2vWLF566aVGhZ02bdrw7bffHrK+foSpsUaNGsV//ud/Ri9lbdq0iRkzZsS0Oe2006iurj7mfysR0a3nIhJht9sZM2YM//u//8u6desO2d7wlu76EZWGoxjLli2jpKQk/oUeh6FDh+JwOJgzZ07M+oa3bx9NUVERI0aM4JlnnuGtt946ZLvP5+O2226Lfj/ttNPYsGFDzO/qiy++4JNPPjmuunNzcykuLua1115j/vz5pKamMmrUqJg2V199NSUlJbz33nuH7F9RUUEgEDiuc4okM43siLQyf/nLX3j33XcPWX/LLbfw4IMP8uGHHzJo0CBuvPFGCgsL2bdvH6tWreL9999n3759AFx22WW88cYbXHnllYwcOZItW7Ywd+5cCgsLqa6uTnSXjigvL49bbrmFhx9+mCuuuIIRI0bwxRdfsGjRItq3bx8zKnUkL774IsOHD2f06NFcfvnlDB06lMzMTDZv3sz8+fPZtWtX9Fk7v/zlL3nkkUcoLi5mwoQJlJeXM3fuXPr06dOoCdcN/exnP+MXv/gFTz31FMXFxYfMGZo+fTpvv/02l112GePHj2fAgAHU1NSwdu1aXn/9dbZu3Rpz2UukNVPYEWllDh7lqDd+/Hg6d+7M8uXLue+++3jjjTd46qmnaNeuHX369Il57s348eMpLS3l6aef5r333qOwsJCXXnqJBQsW8NFHHyWoJ43z0EMPkZGRwZ///Gfef/99ioqK+Mc//sH5559PWlraMffv0KEDn376KU899RSvvvoqd9xxBz6fj27dunHFFVdwyy23RNv27t2bF198kZkzZzJt2jQKCwv5n//5H1555ZXj/r1cccUVpKenU1VVFXMXVr2MjAyWLl3KAw88wIIFC3jxxRfJycnhjDPO4N5778Xlch3X+USSmWE21Uw+EZEWoqKigjZt2vC73/2uyV73ICLNl+bsiEhSq6urO2Rd/dOFD/dqBxFJPrqMJSJJ7dVXX+X555/n0ksvJSsri3/961/89a9/Zfjw4QwZMsTq8kQkARR2RCSp9evXD4fDwezZs3G73dFJy7/73e+sLk1EEkRzdkRERCSpac6OiIiIJDWFHREREUlqmrND+B0zO3fuJDs7u1EPGRMRERHrmaZJVVUVBQUF2GxHHr9R2AF27txJly5d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xosvvsjjjz/epAUmNZuNkNMFQLBGYUdERCQeTijs1NbWkp2dDcA//vEPRo8ejc1mY/DgwWzbtq1JC0x6kdvPU7yVeANBi4sRERFJPicUdk4//XTeeustduzYwXvvvcfw4cMBKC8vJycnp0kLTHa2zPCt+m2MKvbqjiwREZEmd0JhZ+bMmdx22210796dc889l6KiIiA8ytO/f/8mLTDZGZkdAGhvVOpZOyIiInFwQreeX3XVVZx//vns2rUr+owdgKFDh3LllVc2WXGtQlb47jWFHRERkfg4obADkJ+fT35+fvTt5507d9YDBU9EJOx0oJI9VbqMJSIi0tRO6DJWKBTivvvuw+Vy0a1bN7p160Zubi73338/oVCoqWtMbg1GdvRgQRERkaZ3QmHnjjvu4IknnuDBBx9k9erVrF69mgceeIA//elP3HXXXY0+zpw5c+jXrx85OTnk5ORQVFTEokWLots9Hg+TJk2iXbt2ZGVlMWbMGMrKymKOsX37dkaOHElGRgYdO3Zk+vTpBAKBE+mWNTIjIztGBburFHZERESa2gldxnrhhRd45plnom87B+jXrx+nnHIKv/rVr/j973/fqON07tyZBx98kJ49e2KaJi+88AI/+clPWL16NX369OHWW2/lnXfeYcGCBbhcLiZPnszo0aP55JNPAAgGg4wcOZL8/Hw+/fRTdu3axfXXX09KSgoPPPDAiXQt8bLyAGiP5uyIiIjEg2Gapnm8O6WlpfHll19yxhlnxKzfuHEjZ599NnV1dSdcUNu2bfnDH/7AVVddRYcOHXjllVe46qqrANiwYQO9e/empKSEwYMHs2jRIi677DJ27txJXl44NMydO5fbb7+d3bt3k5qa2qhzut1uXC4XlZWVib91ft+38Hh/6sxUbij4G/P/87zEnl9ERKSFauzf7xO6jHXWWWfxxBNPHLL+iSeeoF+/fidySILBIPPnz6empoaioiJWrlyJ3+9n2LBh0Ta9evWia9eulJSUAFBSUkLfvn2jQQeguLgYt9vNV199dcRzeb1e3G53zGKZyGWsdMNHTXWldXWIiIgkqRO6jDV79mxGjhzJ+++/H33GTklJCTt27OD//u//jutYa9eupaioCI/HQ1ZWFm+++SaFhYWsWbOG1NRUcnNzY9rn5eVRWloKQGlpaUzQqd9ev+1IZs2axb333ntcdcaN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a9euLbr/kyZNYuTIkTH9guTs79tvv83AgQP56U9/SseOHenfvz9//vOfo9u3bNlCaWlpTJ9dLheDBg1qkX0+77zzWLJkCZs2bQLgiy++4F//+heXXHIJkHz9PVhj+ldSUkJubi4DBw6Mthk2bBg2m41ly5YlvOZ4qKysxDAMcnNzgeTrcygU4rrrrmP69On06dPnkO3J1t+G9CLQONizZw/BYJC8vLyY9Xl5eWzYsMGiquIjFAoxdepUhgwZwplnnglAaWkpqamp0X8w6uXl5VFaWmpBlSdv/vz5rFq1ihUrVhyyLRn7++233zJnzhymTZvG//t//48VK1bw61//mtTUVMaNGxft1+H+N94S+/zb3/4Wt9tNr169sNvtBINBfv/73zN27FiApOvvwRrTv9LSUjp27Biz3eFw0LZt26T4HXg8Hm6//Xauvfba6Isxk63PDz30EA6Hg1//+teH3Z5s/W1IYUdOyqRJk1i3bh3/+te/rC4lbnbs2MEtt9zC4sWLSUtLs7qchAiFQgwcOJAHHngAgP79+7Nu3Trmzp3LuHHjLK6u6b322mu8/PLLvPLKK/Tp04c1a9YwdepUCgoKkrK/Esvv93P11VdjmiZz5syxupy4WLlyJf/93//NqlWrMAzD6nISTpex4qB9+/bY7fZD7sYpKysjPz/foqqa3uTJk1m4cCEffvghnTt3jq7Pz8/H5/NRUVER076l9n/lypWUl5fzwx/+EIfDgcPhYOnSpTz++OM4HA7y8vKSqr8AnTp1orCwMGZd79692b59O0C0X8nyv/Hp06fz29/+lmuuuYa+ffty3XXXceuttzJr1iwg+fp7sMb0Lz8//5AbLAKBAPv27WvRv4P6oLNt2zYWL14cHdWB5OrzP//5T8rLy+natWv037Ft27bxX//1X3Tv3h1Irv4eTGEnDlJTUxkwYABLliyJrguFQixZsoSioiILK2sapmkyefJk3nzzTT744AN69OgRs33AgAGkpKTE9H/jxo1s3769RfZ/6NChrF27ljVr1kSXgQMHMnbs2OjnZOovwJAhQw55nMCmTZvo1q0bAD169CA/Pz+mz263m2XLlrXIPtfW1mKzxf5zaLfbCYVCQPL192CN6V9RUREVFRWsXLky2uaDDz4gFAoxaNCghNfcFOqDzubNm3n//fdp165dzPZk6vN1113Hl19+GfPvWEFBAdOnT+e9994Dkqu/h7B6hnSymj9/vul0Os3nn3/eXL9+vTlx4kQzNzfXLC0ttbq0k3bzzTebLpfL/Oijj8xdu3ZFl9ra2mibm266yezatav5wQcfmJ9//rlZVFRkFhUVWVh102p4N5ZpJl9/ly9fbjocDvP3v/+9uXnzZvPll182MzIyzJdeeina5sEHHzRzc3PNv/3tb+aXX35p/uQnPzF79Ohh1tXVWVj5iRk3bpx5yimnmAsXLjS3bNlivvHGG2b79u3N3/zmN9E2Lb2/VVVV5urVq83Vq1ebgPnII4+Yq1evjt551Jj+jRgxwuzfv7+5bNky81//+pfZs2dP89prr7WqS8d0tD77fD7ziiuuMDt37myuWbMm5t8yr9cbPUZL6vOx/hsf7OC7sUyzZfX3eCjsxNGf/vQns2vXrmZqaqp57rnnmp999pnVJTUJ4LDLc889F21TV1dn/upXvzLbtGljZmRkmFdeeaW5a9cu64puYgeHnWTs79///nfzzDPPNJ1Op9mrVy9z3rx5MdtDoZB51113mXl5eabT6TSHDh1qbty40aJqT47b7TZvueUWs2vXrmZaWpp56qmnmnfccUfMH72W3t8PP/zwsP93O27cONM0G9e/vXv3mtdee62ZlZVl5uTkmDfccINZVVVlQW8a52h93rJlyxH/Lfvwww+jx2hJfT7Wf+ODHS7stKT+Hg/DNBs8IlREREQkyWjOjoiIiCQ1hR0RERFJago7IiIiktQUdkRERCSpKeyIiIhIUlPYERERkaSmsCMiIiJJTWFHRAQwDIO33nrL6jJEJA4UdkTEcuPHj8cwjEOWESNGWF2aiCQBh9UFiIgAjBgxgueeey5mndPptKgaEUkmGtkRkWbB6XSSn58fs7Rp0wYIX2KaM2cOl1xyCenp6Zx66qm8/vrrMfuvXbuWiy++mPT0dNq1a8fEiROprq6OafOXv/yFPn364HQ66dSpE5MnT47ZvmfPHq688koyMjLo2bMnb7/9dnTb/v37GTt2LB06dCA9PZ2ePXseEs5EpHlS2BGRFuGuu+5izJgxfPHFF4wdO5ZrrrmGr7/+GoCamhqKi4tp06YNK1asYMGCBbz//vsxYWbOnDlMmjSJiRMnsnbtWt5++21OP/30mHPce++9XH311Xz55ZdceumljB07ln379kXPv379ehYtWsTXX3/NnDlzaN++feJ+ASJy4qx+E6mIyLhx40y73W5mZmbGLL///e9N0zRNwLzpppti9hk0aJB58803m6ZpmvPmzTPbtGljVldXR7e/8847ps1mM0tLS03TNM2CggLzjjvuOGINgHnnnXdGv1dXV5uAuWjRItM0TfPyyy83b7jhhqbpsIgklObsiEiz8KMf/Yg5c+bErGvbtm30c1FRUcy2oqIi1qxZA8DXX3/NWWedRWZmZnT7kCFDCIVCbNy4EcMw2LlzJ0OHDj1qDf369Yt+zszMJCcnh/LycgBuvvlmxowZw6pVqxg+fDijRo3ivPPOO6G+ikhiKeyISLOQmZl5yGWlppKent6odikpKTHfDcMgFAoBcMkll7Bt2zb+7//+j8WLFzN06FAmTZrEH//4xyavV0SalubsiEiL8Nlnnx3yvXfv3gD07t2bL774gpqamuj2Tz75BJvNxg9+8AOys7Pp3r07S5YsOakaOnTowLhx43jppZd47LHHmDdv3kkdT0QSQyM7ItIseL1eSktLY9Y5HI7oJOAFCxYwcOBAzj//fF5++WWWL1/Os88+C8DYsWO5++67GTduHPfccw+7d+9mypQpXHfddeTl5QFwzz33cNNNN9GxY0cuueQSqqqq+OSTT5gyZUqj6ps5cyYDBgygT58+eL1eFi5cGA1bItK8KeyISLPw7rvv0qlTp5h1P/jBD9iwYQMQvlNq/vz5/OpXv6JTp0789a9/pbCwEICMjAzee+89brnlFs455xwyMjIYM2YMjzzySPRY48aNw+Px8Oijj3LbbbfRvn17rrrqqkbXl5qayowZM9i6dSvp6elccMEFzJ8/vwl6LiLxZpimaVpdhIjI0RiGwZtvvsmoUaOsLkVEWiDN2REREZGkprAjIiIiSU1zdkSk2dPVdhE5GRrZERERkaSmsCMiIiJJTWFHREREkprCjoiIiCQ1hR0RERFJago7IiIiktQUdkRERCSpKeyIiIhIUlPYERERkaT2/wF9iO3xBh5eKwAAAABJRU5ErkJggg==\n"},"metadata":{}}]},{"cell_type":"markdown","source":["# Sauvegarder le Modèle"],"metadata":{"id":"vLIwr8Zud1lM"}},{"cell_type":"code","source":["sigmoid = Sigmoid()\n","model = Model([ Dense(neurons=13, activation=sigmoid),\n"," Dense(neurons=1),\n","\n"," ])"],"metadata":{"id":"M2QYLPdkcGQK","executionInfo":{"status":"ok","timestamp":1687393520456,"user_tz":-60,"elapsed":540,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}}},"execution_count":455,"outputs":[]},{"cell_type":"code","source":["mse = Loss()\n","model.compile(loss=mse, learning_rate=0.0001)\n","h = model.fit(X_train, y_train, epochs=10, validation_data=(X_test, y_test))"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"uv2ip9IWfUZG","executionInfo":{"status":"ok","timestamp":1687393533114,"user_tz":-60,"elapsed":488,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"2926dae9-42c0-4b00-cc5e-f626038a35c7"},"execution_count":456,"outputs":[{"output_type":"stream","name":"stdout","text":["Epoch 1 .............. loss : 609.4535263872165 ....val_loss : 594.285047596059\n","Epoch 2 .............. loss : 494.7172454598782 ....val_loss : 479.0339597155269\n","Epoch 3 .............. loss : 403.8643944989146 ....val_loss : 388.125852443045\n","Epoch 4 .............. loss : 331.0559254119759 ....val_loss : 315.67394558965\n","Epoch 5 .............. loss : 272.44802631944543 ....val_loss : 257.80096535791387\n","Epoch 6 .............. loss : 225.32104126553727 ....val_loss : 211.7461595039089\n","Epoch 7 .............. loss : 187.60578616146617 ....val_loss : 175.37471756759948\n","Epoch 8 .............. loss : 157.62037539699094 ....val_loss : 146.91491099254424\n","Epoch 9 .............. loss : 133.9379615740088 ....val_loss : 124.84238208175846\n","Epoch 10 .............. loss : 115.33306807953525 ....val_loss : 107.84460906755527\n"]}]},{"cell_type":"code","source":["model.save_model('model.file')"],"metadata":{"id":"68XkQSFpffij","executionInfo":{"status":"ok","timestamp":1687393555708,"user_tz":-60,"elapsed":476,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}}},"execution_count":457,"outputs":[]},{"cell_type":"code","source":["import pickle\n","\n","def load_model(file):\n"," with open(file, 'rb') as f:\n"," model_load = pickle.load(f)\n"," return model_load"],"metadata":{"id":"xaBhDm2NflDU","executionInfo":{"status":"ok","timestamp":1687393620341,"user_tz":-60,"elapsed":403,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}}},"execution_count":458,"outputs":[]},{"cell_type":"code","source":["model_charge = load_model(\"model.file\")\n","model_charge"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"S1lP91iLf0zc","executionInfo":{"status":"ok","timestamp":1687393660273,"user_tz":-60,"elapsed":666,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"68ad3a2b-96c1-4ee9-c61d-8535050eb74e"},"execution_count":460,"outputs":[{"output_type":"execute_result","data":{"text/plain":["Layers ................. \n"," DenseLayer(neurons=13) avec Sigmoid \n"," DenseLayer(neurons=1)"]},"metadata":{},"execution_count":460}]},{"cell_type":"code","source":[],"metadata":{"id":"gi_nfVmvf4fy"},"execution_count":null,"outputs":[]}]} \ No newline at end of file +{ + "nbformat": 4, + "nbformat_minor": 0, + "metadata": { + "colab": { + "provenance": [] + }, + "kernelspec": { + "name": "python3", + "display_name": "Python 3" + }, + "language_info": { + "name": "python" + } + }, + "cells": [ + { + "cell_type": "code", + "execution_count": 4718, + "metadata": { + "id": "UT74bNWZakgN" + }, + "outputs": [], + "source": [ + "import numpy as np" + ] + }, + { + "cell_type": "code", + "source": [], + "metadata": { + "id": "3_UF7yxRpVQ4" + }, + "execution_count": 4718, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "# La boite générique" + ], + "metadata": { + "id": "L1c696dgpV6F" + } + }, + { + "cell_type": "code", + "source": [ + "class Boite():\n", + "\n", + " def __init__(self):\n", + " pass\n", + "\n", + " def forward(self, inputs):\n", + " self.inputs = inputs\n", + " self.output = self.operation()\n", + " return self.output\n", + "\n", + " def backward(self, derivee_output):\n", + " assert derivee_output.shape == self.output.shape, f\"La derivee_output reçue a un shape {derivee_output.shape} et different du shape de output : {self.output.shape}\"\n", + "\n", + " self.derivee_inputs = self.gradient(derivee_output)\n", + " assert self.derivee_inputs.shape == self.inputs.shape, f\"La derivee_input calculée a un shape {self.derivee_inputs.shape } et different du shape de inputs : {self.inputs.shape}\"\n", + "\n", + " return self.derivee_inputs\n", + "\n", + "\n", + " def operation(self):\n", + " pass\n", + "\n", + " def gradient(self, derivee_output):\n", + " pass\n" + ], + "metadata": { + "id": "TZFzM_1BfRxH" + }, + "execution_count": 4719, + "outputs": [] + }, + { + "cell_type": "code", + "source": [], + "metadata": { + "id": "bivQj03vpanD" + }, + "execution_count": 4719, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "# La boite paramètrée" + ], + "metadata": { + "id": "B1fYIrJgpbUz" + } + }, + { + "cell_type": "code", + "source": [ + "class BoiteParam():\n", + "\n", + " def __init__(self, param):\n", + " self.param = param\n", + "\n", + " def forward(self, inputs):\n", + " self.inputs = inputs\n", + " self.output = self.operation()\n", + " return self.output\n", + "\n", + " def backward(self, derivee_output):\n", + " assert derivee_output.shape == self.output.shape, f\"La derivee_output reçue a un shape {derivee_output.shape} et different du shape de output : {self.output}\"\n", + "\n", + " self.derivee_inputs = self.gradient(derivee_output)\n", + " assert self.derivee_inputs.shape == self.inputs.shape, f\"La derivee_input calculée a un shape {self.derivee_inputs.shape } et different du shape de inputs : {self.inputs.shape}\"\n", + "\n", + " self.derivee_param = self.gradient_param(derivee_output)\n", + " assert self.derivee_param.shape == self.param.shape, f\"La derivee de param a un shape {self.derivee_param.shape} et different du shape de param : {self.param.shape}\"\n", + "\n", + " return self.derivee_inputs\n", + "\n", + "\n", + " def operation(self):\n", + " pass\n", + "\n", + " def gradient(self, derivee_output):\n", + " pass\n", + "\n", + "\n", + " def gradient_param(self, derivee_output):\n", + " pass" + ], + "metadata": { + "id": "MkjaXZU6gNs_" + }, + "execution_count": 4720, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "# La classe Dot" + ], + "metadata": { + "id": "y8Rt0F5Wifmp" + } + }, + { + "cell_type": "code", + "source": [ + "class Dot(BoiteParam):\n", + "\n", + " def __init__(self, weights):\n", + " super().__init__(weights)\n", + "\n", + " def operation(self):\n", + " return np.dot(self.inputs, self.param)\n", + "\n", + " def gradient(self, derivee_output):\n", + " return np.dot( derivee_output, self.param.T)\n", + "\n", + " def gradient_param(self, derivee_output):\n", + " return np.dot(self.inputs.T, derivee_output)\n", + "\n", + " def __repr__(self):\n", + " return \"DotProduct\"" + ], + "metadata": { + "id": "eK4i0lrqiHJh" + }, + "execution_count": 4721, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "X = np.array([[ 2, 3, -2],\n", + " [ 4, 5, -1],\n", + " [-5, 2, 3],\n", + " [ 0, 5, 4]])" + ], + "metadata": { + "id": "usc5umRWjnBS" + }, + "execution_count": 4722, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "X.shape" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "Oj1075Umjr7Q", + "outputId": "9b438bbd-1893-45a8-860f-8fac8abfd471" + }, + "execution_count": 4723, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "(4, 3)" + ] + }, + "metadata": {}, + "execution_count": 4723 + } + ] + }, + { + "cell_type": "code", + "source": [ + "W = np.array([[ 0.49671415],\n", + " [-0.1382643 ],\n", + " [ 0.64768854]])\n", + "W.shape" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "arp83t_djtWK", + "outputId": "9dafb151-8aa4-44a4-8599-b35d3abc9917" + }, + "execution_count": 4724, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "(3, 1)" + ] + }, + "metadata": {}, + "execution_count": 4724 + } + ] + }, + { + "cell_type": "code", + "source": [ + "np.dot(X, W)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "W6bkTgYWjyGG", + "outputId": "a82efcc1-35cb-4f21-c386-0c49bb206f71" + }, + "execution_count": 4725, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([[-0.71674168],\n", + " [ 0.64784656],\n", + " [-0.81703373],\n", + " [ 1.89943266]])" + ] + }, + "metadata": {}, + "execution_count": 4725 + } + ] + }, + { + "cell_type": "code", + "source": [ + "M = Dot(weights=W)\n", + "out = M.forward(X)\n", + "out" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "-v0D4QMIj1zH", + "outputId": "66553169-7716-4f41-8f72-275b0809e6f2" + }, + "execution_count": 4726, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([[-0.71674168],\n", + " [ 0.64784656],\n", + " [-0.81703373],\n", + " [ 1.89943266]])" + ] + }, + "metadata": {}, + "execution_count": 4726 + } + ] + }, + { + "cell_type": "code", + "source": [ + "M" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "z8ocMfPXkEgy", + "outputId": "c35cbd5e-9908-4b6c-ca2a-a2512acc36cc" + }, + "execution_count": 4727, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "DotProduct" + ] + }, + "metadata": {}, + "execution_count": 4727 + } + ] + }, + { + "cell_type": "code", + "source": [ + "d_out = np.random.randn(4, 1)\n", + "d_out" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "nW3vfrDGkHee", + "outputId": "711880f3-b6cf-466b-a230-1f736453297c" + }, + "execution_count": 4728, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([[-1.72491783],\n", + " [-0.56228753],\n", + " [-1.01283112],\n", + " [ 0.31424733]])" + ] + }, + "metadata": {}, + "execution_count": 4728 + } + ] + }, + { + "cell_type": "code", + "source": [ + "M.backward(d_out)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "M_NNDC2ikahu", + "outputId": "c75e2971-bea1-458e-eec8-75c8ca132b41" + }, + "execution_count": 4729, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([[-0.85679109, 0.23849456, -1.11720951],\n", + " [-0.27929617, 0.07774429, -0.36418719],\n", + " [-0.50308755, 0.14003839, -0.65599911],\n", + " [ 0.1560911 , -0.04344919, 0.2035344 ]])" + ] + }, + "metadata": {}, + "execution_count": 4729 + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "# La classe Add" + ], + "metadata": { + "id": "hCdAVoDwlY3Y" + } + }, + { + "cell_type": "code", + "source": [ + "class Add(BoiteParam):\n", + "\n", + " def __init__(self, biais):\n", + " super().__init__(biais)\n", + "\n", + " def operation(self):\n", + " return self.inputs + self.param\n", + "\n", + " def gradient(self, derivee_output):\n", + " return np.ones_like(self.inputs) * derivee_output\n", + "\n", + " def gradient_param(self, derivee_output):\n", + " r = np.ones_like(self.param) * derivee_output\n", + " return r.sum(axis=0).reshape(1, self.param.shape[1])\n", + "\n", + " def __repr__(self):\n", + " return \"AddBiais\"" + ], + "metadata": { + "id": "CCIbOH5XkdsV" + }, + "execution_count": 4730, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "\n", + "B = np.random.rand(1, 1)\n", + "B" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "Fbl0R6csmBKP", + "outputId": "2c1eb94a-0ac5-4dc7-d03a-f5ae11b2bc22" + }, + "execution_count": 4731, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([[0.29214465]])" + ] + }, + "metadata": {}, + "execution_count": 4731 + } + ] + }, + { + "cell_type": "code", + "source": [ + "b = Add(biais=B)\n", + "b" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "8LJMlXg3mZ0i", + "outputId": "3868eb55-cf5c-4df3-c69e-d00d79a25191" + }, + "execution_count": 4732, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "AddBiais" + ] + }, + "metadata": {}, + "execution_count": 4732 + } + ] + }, + { + "cell_type": "code", + "source": [ + "out_b = b.forward(out)\n", + "out_b" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "EDL9Js2tmgL9", + "outputId": "1996176b-7d68-42ee-f949-afea6fd406f6" + }, + "execution_count": 4733, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([[-0.42459703],\n", + " [ 0.93999121],\n", + " [-0.52488908],\n", + " [ 2.19157731]])" + ] + }, + "metadata": {}, + "execution_count": 4733 + } + ] + }, + { + "cell_type": "code", + "source": [ + "d_out" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "K0YiOGLhmmAU", + "outputId": "3691c369-9d2e-41b4-f832-41b5dcb0f7a9" + }, + "execution_count": 4734, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([[-1.72491783],\n", + " [-0.56228753],\n", + " [-1.01283112],\n", + " [ 0.31424733]])" + ] + }, + "metadata": {}, + "execution_count": 4734 + } + ] + }, + { + "cell_type": "code", + "source": [ + "b.backward(d_out)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "GRWbVaOdmvnD", + "outputId": "c53ab66e-654b-4cef-a36b-ea16dfd24070" + }, + "execution_count": 4735, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([[-1.72491783],\n", + " [-0.56228753],\n", + " [-1.01283112],\n", + " [ 0.31424733]])" + ] + }, + "metadata": {}, + "execution_count": 4735 + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "# La classe Sigmoid" + ], + "metadata": { + "id": "4O_Gztx2nexA" + } + }, + { + "cell_type": "code", + "source": [ + "class Sigmoid(Boite):\n", + "\n", + " def __init__(self):\n", + " super().__init__()\n", + "\n", + " def operation(self):\n", + " return 1 / (1 + np.exp(-1 * self.inputs))\n", + "\n", + " def gradient(self, derivee_output):\n", + " return self.output * (1 - self.output) * derivee_output\n", + "\n", + " def __repr__(self):\n", + " return \"Sigmoid\"" + ], + "metadata": { + "id": "x2v8AHH1mzXx" + }, + "execution_count": 4736, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "sig = Sigmoid()" + ], + "metadata": { + "id": "_q-CdGHzoRyr" + }, + "execution_count": 4737, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "sig_out = sig.forward(out_b)\n", + "sig_out" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "xiLYgEBroeX-", + "outputId": "8602296a-281c-48fe-ff93-fc50c4f9609b" + }, + "execution_count": 4738, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([[0.39541725],\n", + " [0.71909788],\n", + " [0.37170972],\n", + " [0.8994906 ]])" + ] + }, + "metadata": {}, + "execution_count": 4738 + } + ] + }, + { + "cell_type": "code", + "source": [ + "sig.backward(d_out)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "zDmURwKyoiwE", + "outputId": "ab5299bc-0b7a-4360-fee0-b2f4fb56b62c" + }, + "execution_count": 4739, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([[-0.41236308],\n", + " [-0.1135799 ],\n", + " [-0.2365382 ],\n", + " [ 0.02841024]])" + ] + }, + "metadata": {}, + "execution_count": 4739 + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "# La classe Loss" + ], + "metadata": { + "id": "7t-HDIwHpD7L" + } + }, + { + "cell_type": "code", + "source": [ + "class Loss():\n", + "\n", + " def __init__(self):\n", + " pass\n", + "\n", + " def forward(self, prediction, target):\n", + " assert prediction.shape == target.shape, f\"Prediction shape {prediction.shape} Target shape {target.shape}\"\n", + " self.prediction = prediction\n", + " self.target = target\n", + " loss = np.mean((self.target - self.prediction) ** 2)\n", + " return loss\n", + "\n", + " def backward(self):\n", + "\n", + " self.loss_derivee = -2 * (self.target - self.prediction)\n", + " assert self.loss_derivee.shape == self.prediction.shape, f\"La derivee du loss un shape {self.loss_derivee.shape } et different du shape de Prediction : {self.prediction.shape}\"\n", + "\n", + " return self.loss_derivee\n", + "\n", + "\n", + "\n", + "\n" + ], + "metadata": { + "id": "76THFCNOo2hf" + }, + "execution_count": 4740, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "X" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "tMlcLYJuqu1W", + "outputId": "cbd81431-8f5e-4455-896c-5b485556e4bc" + }, + "execution_count": 4741, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([[ 2, 3, -2],\n", + " [ 4, 5, -1],\n", + " [-5, 2, 3],\n", + " [ 0, 5, 4]])" + ] + }, + "metadata": {}, + "execution_count": 4741 + } + ] + }, + { + "cell_type": "code", + "source": [ + "Y = np.random.randn(4, 1)\n", + "Y" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "XLU5_s3FqqAi", + "outputId": "ef7a26b7-ca18-452a-f122-497fd3fe7272" + }, + "execution_count": 4742, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([[-0.7033438 ],\n", + " [-2.13962066],\n", + " [-0.62947496],\n", + " [ 0.59772047]])" + ] + }, + "metadata": {}, + "execution_count": 4742 + } + ] + }, + { + "cell_type": "code", + "source": [ + "P = sig_out" + ], + "metadata": { + "id": "wPNTTwgwqzwZ" + }, + "execution_count": 4743, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "mse = Loss()" + ], + "metadata": { + "id": "ffvXTFltq4xw" + }, + "execution_count": 4744, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "mse.forward(P, Y)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "VkdX8tkPq640", + "outputId": "88f9d732-cac0-4916-a267-a50647bddd86" + }, + "execution_count": 4745, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "np.float64(2.618245871113618)" + ] + }, + "metadata": {}, + "execution_count": 4745 + } + ] + }, + { + "cell_type": "code", + "source": [ + "mse.backward()" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "rtPshNcMq-VU", + "outputId": "9687cfca-6a2b-4df8-edff-ee76d7aec296" + }, + "execution_count": 4746, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([[2.1975221 ],\n", + " [5.71743708],\n", + " [2.00236935],\n", + " [0.60354026]])" + ] + }, + "metadata": {}, + "execution_count": 4746 + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "# La Classe Dense" + ], + "metadata": { + "id": "tyW04IkDts4V" + } + }, + { + "cell_type": "code", + "source": [ + "class Dense():\n", + "\n", + " def __init__(self, neurons, activation=None):\n", + " self.neurons = neurons\n", + " self.activation = activation\n", + " self.params = []\n", + " self.suite = []\n", + " self.initialisation = True\n", + "\n", + "\n", + " def build(self, inputs):\n", + " # weights initialization\n", + " np.random.seed(42)\n", + "\n", + " self.weights = np.random.randn(inputs.shape[1], self.neurons)\n", + " self.biais = np.random.randn(1, self.neurons)\n", + "\n", + " self.params.append(self.weights)\n", + " self.params.append(self.biais)\n", + "\n", + " # construction de la suite d'opération\n", + " self.suite = [Dot(weights=self.params[0]), Add(biais=self.params[1])]\n", + " if self.activation:\n", + " self.suite.append(self.activation)\n", + "\n", + "\n", + " def forward(self, inputs):\n", + " if self.initialisation:\n", + " self.build(inputs)\n", + " self.initialisation = False\n", + "\n", + " for boite in self.suite:\n", + " inputs = boite.forward(inputs)\n", + "\n", + " self.output = inputs\n", + "\n", + " return self.output\n", + "\n", + "\n", + " def backward(self, derivee_output):\n", + " assert derivee_output.shape == self.output.shape\n", + "\n", + " for boite in reversed(self.suite):\n", + " derivee_output = boite.backward(derivee_output)\n", + "\n", + " derivee_inputs = derivee_output\n", + "\n", + " self.get_layer_gradients()\n", + "\n", + " return derivee_inputs\n", + "\n", + "\n", + " def get_layer_gradients(self):\n", + "\n", + " self.derivee_params = []\n", + "\n", + " for boite in self.suite:\n", + " if issubclass(boite.__class__, BoiteParam):\n", + " self.derivee_params.append(boite.derivee_param)\n", + "\n", + "\n", + " def __repr__(self):\n", + " r = f\"DenseLayer(neurons={self.neurons})\"\n", + " if self.activation:\n", + " r += \" avec Sigmoid\"\n", + "\n", + " return r\n" + ], + "metadata": { + "id": "RAVfMX1SrBbG" + }, + "execution_count": 4747, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "sigmoid = Sigmoid()" + ], + "metadata": { + "id": "AmyOHtSs0L5c" + }, + "execution_count": 4748, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "couche = Dense(neurons=2, activation=sigmoid)" + ], + "metadata": { + "id": "Khx1pGgC0Ddt" + }, + "execution_count": 4749, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "couche" + ], + "metadata": { + "id": "TRACwiapuBS-", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "bc0fd38b-15c7-4bf4-bbd5-62a0a86a83d7" + }, + "execution_count": 4750, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "DenseLayer(neurons=2) avec Sigmoid" + ] + }, + "metadata": {}, + "execution_count": 4750 + } + ] + }, + { + "cell_type": "code", + "source": [ + "X" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "xNsEoApYy6Wt", + "outputId": "a892cd9a-a18a-4773-9cca-446e23d8fcfa" + }, + "execution_count": 4751, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([[ 2, 3, -2],\n", + " [ 4, 5, -1],\n", + " [-5, 2, 3],\n", + " [ 0, 5, 4]])" + ] + }, + "metadata": {}, + "execution_count": 4751 + } + ] + }, + { + "cell_type": "code", + "source": [ + "couche.forward(X)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "YFhSB16p0XIM", + "outputId": "10fb76da-a4ad-4de5-de2c-c8b78c443c81" + }, + "execution_count": 4752, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([[0.99320003, 0.99604286],\n", + " [0.99912347, 0.99968533],\n", + " [0.42276305, 0.97817014],\n", + " [0.97978765, 0.99941659]])" + ] + }, + "metadata": {}, + "execution_count": 4752 + } + ] + }, + { + "cell_type": "code", + "source": [ + "couche.params" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "glLf10UP0rCJ", + "outputId": "28102dd7-4467-47d3-c24b-f465ea5251f4" + }, + "execution_count": 4753, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "[array([[ 0.49671415, -0.1382643 ],\n", + " [ 0.64768854, 1.52302986],\n", + " [-0.23415337, -0.23413696]]),\n", + " array([[1.57921282, 0.76743473]])]" + ] + }, + "metadata": {}, + "execution_count": 4753 + } + ] + }, + { + "cell_type": "code", + "source": [ + "d_out = np.random.randn(4, 2)\n", + "d_out" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "ZJTw4mSO0ugc", + "outputId": "391d48eb-3feb-40da-d3b5-4bbab9a1902c" + }, + "execution_count": 4754, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([[-0.46947439, 0.54256004],\n", + " [-0.46341769, -0.46572975],\n", + " [ 0.24196227, -1.91328024],\n", + " [-1.72491783, -0.56228753]])" + ] + }, + "metadata": {}, + "execution_count": 4754 + } + ] + }, + { + "cell_type": "code", + "source": [ + "couche.backward(d_out)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "bbOZbASt1BSI", + "outputId": "1dd407ab-9a23-4bc5-9135-ec93b1e0943f" + }, + "execution_count": 4755, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([[-0.00187061, 0.00120335, 0.00024173],\n", + " [-0.00018133, -0.00048599, 0.00012933],\n", + " [ 0.03497832, -0.02397904, -0.00426045],\n", + " [-0.0169224 , -0.02262434, 0.00807543]])" + ] + }, + "metadata": {}, + "execution_count": 4755 + } + ] + }, + { + "cell_type": "code", + "source": [ + "couche.suite" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "ZiUtTJyP1H78", + "outputId": "d59f9add-07f1-4bbe-c7f5-180dee8bbe88" + }, + "execution_count": 4756, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "[DotProduct, AddBiais, Sigmoid]" + ] + }, + "metadata": {}, + "execution_count": 4756 + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "# La classe Model" + ], + "metadata": { + "id": "RnBMDZSF2qco" + } + }, + { + "cell_type": "code", + "source": [ + "from copy import deepcopy" + ], + "metadata": { + "id": "wIeY_EiRerby" + }, + "execution_count": 4757, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "class Model():\n", + "\n", + " def __init__(self, layers):\n", + " self.layers = layers\n", + " self.compiled = False\n", + " self.learning_rate= 0.01\n", + "\n", + "\n", + " def forward(self, inputs):\n", + "\n", + " for layer in self.layers:\n", + " inputs = layer.forward(inputs)\n", + "\n", + " self.output = inputs\n", + " return self.output\n", + "\n", + "\n", + " def backward(self, loss_derivee):\n", + "\n", + " assert loss_derivee.shape == self.output.shape\n", + "\n", + " for layer in reversed(self.layers):\n", + " loss_derivee = layer.backward(loss_derivee)\n", + "\n", + " return None\n", + "\n", + " def get_params(self):\n", + " for layer in self.layers:\n", + " yield from layer.params\n", + "\n", + "\n", + " def get_derivee_params(self):\n", + " for layer in self.layers:\n", + " yield from layer.derivee_params\n", + "\n", + "\n", + " def update(self):\n", + "\n", + " for (param, derivee_param) in zip(self.get_params(), self.get_derivee_params()):\n", + " assert param.shape == derivee_param.shape\n", + " param -= self.learning_rate * derivee_param\n", + "\n", + "\n", + " def compile(self, loss, learning_rate):\n", + " self.loss = loss\n", + " self.learning_rate = learning_rate\n", + " self.compiled = True\n", + "\n", + "\n", + " def fit(self, X, Y, epochs, validation_data=None):\n", + "\n", + " if validation_data:\n", + " assert len(validation_data) == 2\n", + " assert validation_data[0].shape[1] == X.shape[1]\n", + " assert validation_data[1].shape[1] == Y.shape[1]\n", + "\n", + " self.history = {\"loss\":[]}\n", + " if validation_data:\n", + " self.history['val_loss'] = []\n", + "\n", + "\n", + " if not self.compiled:\n", + " raise NotImplementedError(\"Pas de loss et de learning_rate: Compilez\")\n", + "\n", + " for epoch in range(epochs):\n", + " # forward pass\n", + " predictions = model.forward(X)\n", + " loss = self.loss.forward(predictions, Y)\n", + " self.history['loss'].append(loss)\n", + "\n", + "\n", + " # val loss\n", + " if validation_data:\n", + " val_preds = model.forward(validation_data[0])\n", + " val_loss = self.loss.forward(val_preds, validation_data[1])\n", + " self.history['val_loss'].append(val_loss)\n", + "\n", + " log = f'Epoch {epoch+1:>5} .............. loss : {loss}'\n", + " if validation_data:\n", + " log += f\" ....val_loss : {val_loss}\"\n", + " print(log)\n", + "\n", + "\n", + " # backward pass\n", + " loss_derivee = self.loss.backward()\n", + " self.backward(loss_derivee)\n", + "\n", + " # update\n", + " self.update()\n", + "\n", + " return self.history\n", + "\n", + " def save_model(self, file):\n", + " model_save = deepcopy(self)\n", + "\n", + " import pickle\n", + " with open(file, \"wb\") as f:\n", + " pickle.dump(model_save, f)\n", + "\n", + "\n", + " def __repr__(self):\n", + "\n", + " r = \"Layers .................\"\n", + " for layer in self.layers:\n", + " r += f\" \\n - {str(layer)}\"\n", + "\n", + " return r\n", + "\n", + "\n" + ], + "metadata": { + "id": "9AlQAwxh1LHm" + }, + "execution_count": 4758, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "model = Model(layers = [ Dense(neurons=3, activation=sigmoid),\n", + " Dense(neurons=1)])" + ], + "metadata": { + "id": "MRAtYdS23VB1" + }, + "execution_count": 4759, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "model" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "FMA6qXMQ4Zzg", + "outputId": "8763e6a5-c3c5-4d96-9709-28f6c21f214c" + }, + "execution_count": 4760, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "Layers ................. \n", + " - DenseLayer(neurons=3) avec Sigmoid \n", + " - DenseLayer(neurons=1)" + ] + }, + "metadata": {}, + "execution_count": 4760 + } + ] + }, + { + "cell_type": "code", + "source": [ + "X" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "DtXdTjHX4avb", + "outputId": "3459226a-c67d-4fd2-c002-f3a5703d63c6" + }, + "execution_count": 4761, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([[ 2, 3, -2],\n", + " [ 4, 5, -1],\n", + " [-5, 2, 3],\n", + " [ 0, 5, 4]])" + ] + }, + "metadata": {}, + "execution_count": 4761 + } + ] + }, + { + "cell_type": "code", + "source": [ + "Y" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "JPgUWnTO4hhO", + "outputId": "37b5a814-53bc-4d4e-e860-8d3de397f87b" + }, + "execution_count": 4762, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([[-0.7033438 ],\n", + " [-2.13962066],\n", + " [-0.62947496],\n", + " [ 0.59772047]])" + ] + }, + "metadata": {}, + "execution_count": 4762 + } + ] + }, + { + "cell_type": "code", + "source": [ + "model.forward(X)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "clMMuqNT4jpg", + "outputId": "d9d3d81d-91ff-4155-e7b8-eab7cae3ee02" + }, + "execution_count": 4763, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([[2.47005633],\n", + " [2.53479834],\n", + " [1.89807891],\n", + " [1.92678186]])" + ] + }, + "metadata": {}, + "execution_count": 4763 + } + ] + }, + { + "cell_type": "code", + "source": [ + "loss_derivee = np.random.randn(4, 1)\n", + "loss_derivee" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "inVYjF6R4mgG", + "outputId": "34283c66-bdc9-490c-d903-3424f5c62fc4" + }, + "execution_count": 4764, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([[-0.23415337],\n", + " [-0.23413696],\n", + " [ 1.57921282],\n", + " [ 0.76743473]])" + ] + }, + "metadata": {}, + "execution_count": 4764 + } + ] + }, + { + "cell_type": "code", + "source": [ + "model.backward(loss_derivee)" + ], + "metadata": { + "id": "Ir1dYOj84vP1" + }, + "execution_count": 4765, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "model.get_params()" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "dijAWVTA-Q0a", + "outputId": "a773d3b5-b365-435e-e27f-1e036dcbb930" + }, + "execution_count": 4766, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "" + ] + }, + "metadata": {}, + "execution_count": 4766 + } + ] + }, + { + "cell_type": "code", + "source": [ + "model.get_derivee_params()" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "AFcqd1YC-RKl", + "outputId": "759f048e-5ae0-482b-bf42-acfd1f43b37e" + }, + "execution_count": 4767, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "" + ] + }, + "metadata": {}, + "execution_count": 4767 + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "# Update des paramètres" + ], + "metadata": { + "id": "AxUR5XBm6CKi" + } + }, + { + "cell_type": "code", + "source": [ + "M\n" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "6Fw7biGb6Xl9", + "outputId": "9b9c0961-9664-43fd-fdb7-593cc9850bde" + }, + "execution_count": 4768, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "DotProduct" + ] + }, + "metadata": {}, + "execution_count": 4768 + } + ] + }, + { + "cell_type": "code", + "source": [ + "M.__class__, issubclass(M.__class__, BoiteParam)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "owmo8Idu7zMu", + "outputId": "056734f4-b394-40a9-999d-a58f714a0495" + }, + "execution_count": 4769, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "(__main__.Dot, True)" + ] + }, + "metadata": {}, + "execution_count": 4769 + } + ] + }, + { + "cell_type": "code", + "source": [ + "M.__class__" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 104 + }, + "id": "k72CYUW17vBv", + "outputId": "0ba5074c-d0df-4bb4-8f00-fe8064b7a6eb" + }, + "execution_count": 4770, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "__main__.Dot" + ], + "text/html": [ + "
\n", + "
Dot
def __init__(weights)
<no docstring>
" + ] + }, + "metadata": {}, + "execution_count": 4770 + } + ] + }, + { + "cell_type": "code", + "source": [ + "M.param" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "DnCnHh4H6Z75", + "outputId": "d090e0ee-d526-494a-c26f-b3bb86f52945" + }, + "execution_count": 4771, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([[ 0.49671415],\n", + " [-0.1382643 ],\n", + " [ 0.64768854]])" + ] + }, + "metadata": {}, + "execution_count": 4771 + } + ] + }, + { + "cell_type": "code", + "source": [ + "M.derivee_inputs" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "4hfwXK2o6Zja", + "outputId": "d3727ae8-790c-4784-85c6-f409849e6ada" + }, + "execution_count": 4772, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([[-0.85679109, 0.23849456, -1.11720951],\n", + " [-0.27929617, 0.07774429, -0.36418719],\n", + " [-0.50308755, 0.14003839, -0.65599911],\n", + " [ 0.1560911 , -0.04344919, 0.2035344 ]])" + ] + }, + "metadata": {}, + "execution_count": 4772 + } + ] + }, + { + "cell_type": "code", + "source": [ + "couche.params # [ [W], [B]]" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "mhJRmt5P6rj6", + "outputId": "c6a4fe4a-8d24-43ff-fbbd-14298674da04" + }, + "execution_count": 4773, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "[array([[ 0.49671415, -0.1382643 ],\n", + " [ 0.64768854, 1.52302986],\n", + " [-0.23415337, -0.23413696]]),\n", + " array([[1.57921282, 0.76743473]])]" + ] + }, + "metadata": {}, + "execution_count": 4773 + } + ] + }, + { + "cell_type": "code", + "source": [ + "couche.derivee_params" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "-lVwnct56rSS", + "outputId": "4a146f59-4741-468b-ee97-4289e50d66ff" + }, + "execution_count": 4774, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "[array([[-0.30320043, 0.20796531],\n", + " [-0.06424681, -0.07766607],\n", + " [ 0.04724885, -0.1280065 ]]),\n", + " array([[ 0.02131064, -0.03919074]])]" + ] + }, + "metadata": {}, + "execution_count": 4774 + } + ] + }, + { + "cell_type": "code", + "source": [ + "for p, dp in zip([1,2,3], [4,5,6]):\n", + " print(p, dp)" + ], + "metadata": { + "id": "m5r00F5h60rm", + "outputId": "489c4298-0ba9-4f08-b034-bdd9c61ddcc7", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "execution_count": 4775, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "1 4\n", + "2 5\n", + "3 6\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [], + "metadata": { + "id": "sbUqwoE2sZhD" + }, + "execution_count": 4775, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "def gen():\n", + " for i in range(10):\n", + " yield i\n", + "\n", + "g = gen() # Ainsi, nous ne créons pas un nouveau generator à chaque appel de next()\n", + "print (next(g))\n", + "print (next(g))\n", + "print (next(g))" + ], + "metadata": { + "id": "AzehsASOtg-X", + "outputId": "47ae9eaf-b8f0-437a-db00-21fdd510124b", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "execution_count": 4776, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "0\n", + "1\n", + "2\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "X1 = X\n", + "Y1 = Y\n", + "model1 = Model(layers = [ Dense(neurons=2, activation=sigmoid),\n", + " Dense(neurons=1)])\n", + "#forward\n", + "P1 = model1.forward(X1)\n", + "mse1 = Loss()\n", + "loss1 = mse1.forward(P1, Y1)\n", + "print(loss1)\n", + "#backward\n", + "loss_derivee1 = mse1.backward()\n", + "model1.backward(loss_derivee1)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "39vyMOtD_p7I", + "outputId": "d1fe1d54-28ff-4389-a3b1-39f61e6f1817" + }, + "execution_count": 4777, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "3.6981060855841332\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "model1.update()\n", + "P1 = model1.forward(X1)\n", + "mse1 = Loss()\n", + "loss1 = mse.forward(P1, Y1)\n", + "print(loss1)\n", + "# À relancer pour améliorer le loss" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "x7sg7A3jCSay", + "outputId": "8cda745d-919b-4ab3-ba63-d9b18c78ab54" + }, + "execution_count": 4778, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "2.619935654638198\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "P" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "pM52nFBfCSTf", + "outputId": "d11851ed-2ae9-41b0-ace2-6480431cd8ad" + }, + "execution_count": 4779, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([[0.39541725],\n", + " [0.71909788],\n", + " [0.37170972],\n", + " [0.8994906 ]])" + ] + }, + "metadata": {}, + "execution_count": 4779 + } + ] + }, + { + "cell_type": "code", + "source": [ + "X" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "-lZRh2N0D_Z8", + "outputId": "545d28f3-0c8f-4247-fbc5-5469922fbbe4" + }, + "execution_count": 4780, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([[ 2, 3, -2],\n", + " [ 4, 5, -1],\n", + " [-5, 2, 3],\n", + " [ 0, 5, 4]])" + ] + }, + "metadata": {}, + "execution_count": 4780 + } + ] + }, + { + "cell_type": "code", + "source": [ + "model1.forward(X)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "j3OqP1JfCSLN", + "outputId": "397efb71-f9a0-4288-b83c-4c19bc536abe" + }, + "execution_count": 4781, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([[0.62534503],\n", + " [0.62656276],\n", + " [0.40111736],\n", + " [0.61863384]])" + ] + }, + "metadata": {}, + "execution_count": 4781 + } + ] + }, + { + "cell_type": "code", + "source": [ + "model1.layers[1].params" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "IIR-ubh9CSCS", + "outputId": "4da020ef-2988-46f3-b109-4b2bee1856ae" + }, + "execution_count": 4782, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "[array([[ 0.38072217],\n", + " [-0.2695623 ]]),\n", + " array([[0.51564079]])]" + ] + }, + "metadata": {}, + "execution_count": 4782 + } + ] + }, + { + "cell_type": "code", + "source": [], + "metadata": { + "id": "LOiOIVTEB9lZ" + }, + "execution_count": 4782, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "# Test de la fonction fit" + ], + "metadata": { + "id": "gg5wBZ4ER5v2" + } + }, + { + "cell_type": "code", + "source": [ + "model = Model(layers = [ Dense(neurons=2, activation=sigmoid),\n", + " Dense(neurons=1)])\n", + "mse = Loss()\n", + "model.compile(loss=mse, learning_rate=0.01)\n", + "h = model.fit(X, Y, epochs=10)\n" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "DUqiq7JVR8Cp", + "outputId": "a45a785f-8b2e-4880-b363-2ddb69442d90" + }, + "execution_count": 4783, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Epoch 1 .............. loss : 3.6981060855841332\n", + "Epoch 2 .............. loss : 2.619935654638198\n", + "Epoch 3 .............. loss : 1.9672429216211014\n", + "Epoch 4 .............. loss : 1.5692455053362315\n", + "Epoch 5 .............. loss : 1.3256063394627393\n", + "Epoch 6 .............. loss : 1.176141207030512\n", + "Epoch 7 .............. loss : 1.08434039010121\n", + "Epoch 8 .............. loss : 1.027918280626821\n", + "Epoch 9 .............. loss : 0.993225105612725\n", + "Epoch 10 .............. loss : 0.971884780439954\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "# Comparaison Tensorflow" + ], + "metadata": { + "id": "o9j7MxEvSzFA" + } + }, + { + "cell_type": "code", + "source": [ + "# import tensorflow as tf\n", + "# from tensorflow.keras.models import Sequential\n", + "# from tensorflow.keras.layers import Dense\n", + "# from tensorflow.keras.optimizers import SGD\n", + "\n", + "# model = Sequential([Dense(units=2, activation='sigmoid'),\n", + "# Dense(units=1)])\n", + "# model.compile(optimizer=SGD(learning_rate=0.1), loss='mse')\n", + "# history = model.fit(X, Y, epochs=10)" + ], + "metadata": { + "id": "o2d5rlEGSG2v" + }, + "execution_count": 4784, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "# ??Sequential" + ], + "metadata": { + "id": "nZm1MFmWTZuR" + }, + "execution_count": 4785, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "# Validation" + ], + "metadata": { + "id": "zblJpIGTWOyn" + } + }, + { + "cell_type": "code", + "source": [ + "model = Model(layers = [ Dense(neurons=2, activation=sigmoid),\n", + " Dense(neurons=1)])\n", + "mse = Loss()\n", + "model.compile(loss=mse, learning_rate=0.01)\n", + "h = model.fit(X, Y, epochs=10, validation_data=(X, Y))" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "MtRdtc2aTpi3", + "outputId": "8ca5fb96-47b8-4db9-99ea-f24a6e3817dc" + }, + "execution_count": 4786, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Epoch 1 .............. loss : 3.6981060855841332 ....val_loss : 3.6981060855841332\n", + "Epoch 2 .............. loss : 2.619935654638198 ....val_loss : 2.619935654638198\n", + "Epoch 3 .............. loss : 1.9672429216211014 ....val_loss : 1.9672429216211014\n", + "Epoch 4 .............. loss : 1.5692455053362315 ....val_loss : 1.5692455053362315\n", + "Epoch 5 .............. loss : 1.3256063394627393 ....val_loss : 1.3256063394627393\n", + "Epoch 6 .............. loss : 1.176141207030512 ....val_loss : 1.176141207030512\n", + "Epoch 7 .............. loss : 1.08434039010121 ....val_loss : 1.08434039010121\n", + "Epoch 8 .............. loss : 1.027918280626821 ....val_loss : 1.027918280626821\n", + "Epoch 9 .............. loss : 0.993225105612725 ....val_loss : 0.993225105612725\n", + "Epoch 10 .............. loss : 0.971884780439954 ....val_loss : 0.971884780439954\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "# Test du code final sur le boston dataset" + ], + "metadata": { + "id": "zgt9tphxWtGC" + } + }, + { + "cell_type": "code", + "source": [ + "import pandas as pd\n", + "import numpy as np\n", + "\n", + "data_url = \"http://lib.stat.cmu.edu/datasets/boston\"\n", + "raw_df = pd.read_csv(data_url, sep=r\"\\s+\", skiprows=22, header=None)\n", + "data = np.hstack([raw_df.values[::2, :], raw_df.values[1::2, :2]])\n", + "target = raw_df.values[1::2, 2]\n", + "data = data\n", + "target = target\n", + "\n", + "X = data\n", + "Y = target.reshape((506, 1))\n", + "\n", + "from sklearn.model_selection import train_test_split\n", + "X_train, X_test, y_train, y_test = train_test_split(X, Y, test_size=0.25, random_state=0)\n", + "\n", + "from sklearn.preprocessing import StandardScaler\n", + "scaler = StandardScaler()\n", + "X_train = scaler.fit_transform(X_train)\n", + "X_test = scaler.transform(X_test)" + ], + "metadata": { + "id": "mgpj1WeQWbW4" + }, + "execution_count": 4787, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "X_train.shape, y_train.shape" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "waVJvouyXCWw", + "outputId": "6fb9c9b9-5721-4889-e8ba-61306d51884c" + }, + "execution_count": 4788, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "((379, 13), (379, 1))" + ] + }, + "metadata": {}, + "execution_count": 4788 + } + ] + }, + { + "cell_type": "code", + "source": [ + "X_test.shape, y_test.shape" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "HulBlSzZXF6E", + "outputId": "e44981a6-af25-45b4-af79-6da41733dace" + }, + "execution_count": 4789, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "((127, 13), (127, 1))" + ] + }, + "metadata": {}, + "execution_count": 4789 + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "## Regression linéaire simple" + ], + "metadata": { + "id": "taFtZbqEXR5R" + } + }, + { + "cell_type": "code", + "source": [ + "model = Model([ Dense(neurons=1)])\n", + "mse = Loss()\n", + "model.compile(loss=mse, learning_rate=0.001)\n", + "h = model.fit(X_train, y_train, epochs=30, validation_data=(X_test, y_test))" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "pKYLFTtfXL0F", + "outputId": "1ad10a93-5786-4696-b307-b20dab73ce91" + }, + "execution_count": 4790, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Epoch 1 .............. loss : 712.1743316753176 ....val_loss : 671.7547143671588\n", + "Epoch 2 .............. loss : 384.0837028693358 ....val_loss : 383.82786822291087\n", + "Epoch 3 .............. loss : 247.75414344252928 ....val_loss : 229.1941295737599\n", + "Epoch 4 .............. loss : 148.3806303920543 ....val_loss : 144.19534190777878\n", + "Epoch 5 .............. loss : 103.89520896898965 ....val_loss : 96.47739842280843\n", + "Epoch 6 .............. loss : 71.33479105168065 ....val_loss : 69.15302180485378\n", + "Epoch 7 .............. loss : 55.97937743045081 ....val_loss : 53.20253156199875\n", + "Epoch 8 .............. loss : 44.69041961018085 ....val_loss : 43.70966230146516\n", + "Epoch 9 .............. loss : 39.11541183660613 ....val_loss : 37.94536623883121\n", + "Epoch 10 .............. loss : 35.00552004305203 ....val_loss : 34.3691118394618\n", + "Epoch 11 .............. loss : 32.86685286102087 ....val_loss : 32.09754754821056\n", + "Epoch 12 .............. loss : 31.27998033095609 ....val_loss : 30.616578716256143\n", + "Epoch 13 .............. loss : 30.39111885607059 ....val_loss : 29.622717392182356\n", + "Epoch 14 .............. loss : 29.716242894637325 ....val_loss : 28.93430154637416\n", + "Epoch 15 .............. loss : 29.293243882027436 ....val_loss : 28.44108945283857\n", + "Epoch 16 .............. loss : 28.95482063865208 ....val_loss : 28.075249108343932\n", + "Epoch 17 .............. loss : 28.7089786277432 ....val_loss : 27.79444481334606\n", + "Epoch 18 .............. loss : 28.497466286622565 ....val_loss : 27.571855135441425\n", + "Epoch 19 .............. loss : 28.321231946325064 ....val_loss : 27.390212568490785\n", + "Epoch 20 .............. loss : 28.160012267263177 ....val_loss : 27.238204534604474\n", + "Epoch 21 .............. loss : 28.013601705576395 ....val_loss : 27.10827654993127\n", + "Epoch 22 .............. loss : 27.875042004989993 ....val_loss : 26.995276952012357\n", + "Epoch 23 .............. loss : 27.74416729188687 ....val_loss : 26.895611914363833\n", + "Epoch 24 .............. loss : 27.618652933103757 ....val_loss : 26.806712942523752\n", + "Epoch 25 .............. loss : 27.498454618593712 ....val_loss : 26.726697569350943\n", + "Epoch 26 .............. loss : 27.382818478029847 ....val_loss : 26.654150638874846\n", + "Epoch 27 .............. loss : 27.271736860497047 ....val_loss : 26.587981576323592\n", + "Epoch 28 .............. loss : 27.16495168322497 ....val_loss : 26.527330004354646\n", + "Epoch 29 .............. loss : 27.062434602101924 ....val_loss : 26.471502428119276\n", + "Epoch 30 .............. loss : 26.9640574302144 ....val_loss : 26.419929095745758\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "h.keys(), \"Les 5 premières valeurs:\", {k: [int(x) for x in v[:5]] for k, v in h.items()}" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "AC4Z4TujX5Lz", + "outputId": "eb167ea7-1400-480b-ebff-5535c50e41c1" + }, + "execution_count": 4791, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "(dict_keys(['loss', 'val_loss']),\n", + " 'Les 5 premières valeurs:',\n", + " {'loss': [712, 384, 247, 148, 103], 'val_loss': [671, 383, 229, 144, 96]})" + ] + }, + "metadata": {}, + "execution_count": 4791 + } + ] + }, + { + "cell_type": "code", + "source": [ + "import matplotlib.pyplot as plt\n", + "\n", + "def plot_learning_curve(history):\n", + "\n", + "\n", + " plt.plot(list(range(len(history['loss']))), history['loss'], label='loss')\n", + " plt.plot(list(range(len(history['val_loss']))), history['val_loss'], label='val_loss')\n", + " plt.xlabel('Epochs')\n", + " plt.ylabel(\"Loss\")\n", + " plt.title(\"Learning Curve\")\n", + " plt.legend()\n", + " plt.show()" + ], + "metadata": { + "id": "xpgN4qzNXin-" + }, + "execution_count": 4792, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "plot_learning_curve(h)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 472 + }, + "id": "nJbequnSYuuc", + "outputId": "b38d66fa-6871-45b0-e001-c574c9d94acf" + }, + "execution_count": 4793, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAj0AAAHHCAYAAABUcOnjAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAWJtJREFUeJzt3Xl8FfW9//HXnJN9OVkI2WQXWYKACgoRdyIBEUHQuqCCUqk0WJGrVX6lgNpblLpQq2KpCnpdUKxSRQEBBStEVkE2ERRJFJIAITnZl3Pm90eSQ46AQEwyJ8n7+XjMg5yZ78x8ZnLavJ35zncM0zRNRERERJo5m9UFiIiIiDQGhR4RERFpERR6REREpEVQ6BEREZEWQaFHREREWgSFHhEREWkRFHpERESkRVDoERERkRZBoUdERERaBIUeEfF5HTp0YOzYsVaXISJNnEKPSAsxf/58DMNg48aNVpfS5JSWlvLMM8/Qr18/IiIiCAoKokuXLkycOJFvv/3W6vJE5DT5WV2AiMip7N69G5vNmv9GO3z4MIMHD2bTpk1ce+213HrrrYSFhbF7924WLFjA3LlzKS8vt6Q2ETkzCj0i0qgqKytxu90EBASc9jqBgYENWNEvGzt2LF999RXvvvsuo0aN8lr22GOP8ac//ale9lOX8yIiZ0a3t0TEy08//cRdd91FXFwcgYGB9OjRg1deecWrTXl5OdOmTaNPnz5EREQQGhrKpZdeymeffebV7ocffsAwDJ588klmz57N2WefTWBgIDt37mTGjBkYhsHevXsZO3YskZGRREREcOedd1JcXOy1nZ/36am5VbdmzRomT55M69atCQ0N5frrr+fQoUNe67rdbmbMmEFiYiIhISFceeWV7Ny587T6Ca1bt46PPvqIcePGHRd4oCqMPfnkk57PV1xxBVdcccVx7caOHUuHDh1OeV6++uor/Pz8eOSRR47bxu7duzEMg+eee84zLy8vj0mTJtG2bVsCAwPp3LkzTzzxBG63+xePS6Sl0pUeEfHIzs6mf//+GIbBxIkTad26NUuWLGHcuHE4nU4mTZoEgNPp5KWXXuKWW27h7rvvpqCggJdffpnU1FTWr1/Peeed57XdefPmUVpayvjx4wkMDCQ6Otqz7De/+Q0dO3Zk5syZbN68mZdeeonY2FieeOKJU9Z77733EhUVxfTp0/nhhx+YPXs2EydO5O233/a0mTJlCrNmzWLYsGGkpqaydetWUlNTKS0tPeX2P/jgAwBuv/320zh7Z+7n5yUhIYHLL7+cd955h+nTp3u1ffvtt7Hb7dx4440AFBcXc/nll/PTTz/xu9/9jnbt2rF27VqmTJnCwYMHmT17doPULNKkmSLSIsybN88EzA0bNpy0zbhx48yEhATz8OHDXvNvvvlmMyIiwiwuLjZN0zQrKyvNsrIyrzZHjx414+LizLvuusszb9++fSZgOhwOMycnx6v99OnTTcCrvWma5vXXX2+2atXKa1779u3NMWPGHHcsKSkpptvt9sy///77Tbvdbubl5ZmmaZpZWVmmn5+fOWLECK/tzZgxwwS8tnki119/vQmYR48e/cV2NS6//HLz8ssvP27+mDFjzPbt23s+/9J5+ec//2kC5rZt27zmJyUlmVdddZXn82OPPWaGhoaa3377rVe7hx9+2LTb7WZGRsZp1SzSkuj2logAYJom//73vxk2bBimaXL48GHPlJqaSn5+Pps3bwbAbrd7+p643W5yc3OprKykb9++nja1jRo1itatW59wv/fcc4/X50svvZQjR47gdDpPWfP48eMxDMNrXZfLxf79+wFYuXIllZWV/P73v/da79577z3ltgFPDeHh4afV/kyd6LyMHDkSPz8/r6tV27dvZ+fOndx0002eeQsXLuTSSy8lKirK63eVkpKCy+Xi888/b5CaRZoy3d4SEQAOHTpEXl4ec+fOZe7cuSdsk5OT4/n51Vdf5amnnuKbb76hoqLCM79jx47HrXeieTXatWvn9TkqKgqAo0eP4nA4frHmX1oX8ISfzp07e7WLjo72tP0lNfsvKCggMjLylO3P1InOS0xMDAMHDuSdd97hscceA6pubfn5+TFy5EhPuz179vD111+fNEzW/l2JSBWFHhEB8HR+ve222xgzZswJ2/Tq1QuA119/nbFjxzJixAgefPBBYmNjsdvtzJw5k+++++649YKDg0+6X7vdfsL5pmmesuZfs+7p6NatGwDbtm3j0ksvPWV7wzBOuG+Xy3XC9ic7LzfffDN33nknW7Zs4bzzzuOdd95h4MCBxMTEeNq43W6uvvpq/vjHP55wG126dDllvSItjUKPiADQunVrwsPDcblcpKSk/GLbd999l06dOvHee+953V76eedbq7Vv3x6A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s8823W63mZeXZ/r7+5sLFy70LN+1a5cJmOnp6aZpmubHH39s2mw2Mysry9Nmzpw5psPhMMvKyk57v/n5+SZg5ufn19/BmKb5f+k/mO0fWmz+9tUN9bpdERGpHyUlJebOnTvNkpISq0s5Y5dffrl53333md9++60JmGvWrPEsO3z4sBkcHOz1N7S2hx9+2OzZs+cJl7344otmeHh4g9RcF7/0OzrTv98+8/RWeXk5r7/+OnfddReGYbBp0yYqKipISUnxtOnWrRvt2rUjPT0dgPT0dHr27ElcXJynTWpqKk6nkx07dpx0X2VlZTidTq+pIbQOV58eERFpWOeccw7Dhw/n7rvv5osvvmDr1q3cdtttnHXWWQwfPhyASZMmsWzZMvbt28fmzZv57LPP6N69OwDTpk3jP//5D3v37mXHjh0sXrzYs6y58ZnQs2jRIvLy8hg7diwAWVlZBAQEEBkZ6dUuLi6OrKwsT5vagadmec2yk5k5cyYRERGeqW3btvV3ILXEVoeeQ0716RERkYYzb948+vTpw7XXXktycjKmafLxxx/j7+8PVHUHSUtLo3v37gwePJguXbrwwgsvABAQEMCUKVPo1asXl112GXa7nQULFlh5OA3GZ57eevnllxkyZAiJiYkNvq8pU6YwefJkz2en09kgwSfWUdWn51BhGaZp6oV2IiJSb1atWuX5OSoqitdee+2kbf/xj3+cdNnUqVOZOnVqfZbms3wi9Ozfv58VK1bw3nvveebFx8dTXl5OXl6e19We7Oxs4uPjPW3Wr1/vta2ap7tq2pxIYGAggYGB9XgEJxYTFgBAhcskr7iCqNCABt+niIiInJhP3N6aN28esbGxDB061DOvT58++Pv7s3LlSs+83bt3k5GRQXJyMgDJycls27aNnJwcT5vly5fjcDhISkpqvAM4iUA/O5EhVZcW1a9HRETEWpZf6XG73cybN48xY8bg53esnIiICMaNG8fkyZOJjo7G4XBw7733kpycTP/+/QEYNGgQSUlJ3H777cyaNYusrCymTp1KWlpao1zJOR2x4YHkFVeQU1BK1/hwq8sRERFpsSwPPStWrCAjI4O77rrruGXPPPMMNpuNUaNGUVZWRmpqqqfjFYDdbmfx4sVMmDCB5ORkQkNDGTNmDI8++mhjHsIvig0P4tvsQnKcutIjIiJiJctDz6BBgzBN84TLgoKCeP7553n++edPun779u09L03zRZ4nuAoVekRERKzkE316mrPWNa+i0JUeERERSyn0NLBjLx3VWD0iIiJWUuhpYDVj9ejpLREREWsp9DSwmj49hxV6RERELKXQ08Bi9f4tERHxQR06dGD27Nmn1dYwDBYtWtSg9TQGy5/eatb2ryXh8A848MNZFkpxeSUhATrlIiIiVtCVnob03niCP5xAD/+ql5/qCS4RERHrKPQ0JEfVy1O7hDgB3eISEZH6MXfuXBITE3G73V7zhw8fzl133cV3333H8OHDiYuLIywsjAsvvJAVK1bU2/63bdvGVVddRXBwMK1atWL8+PEUFhZ6lq9atYqLLrqI0NBQIiMjGTBgAPv37wdg69atXHnllYSHh+NwOOjTpw8bN26st9p+iUJPQ6oOPR0D8gE4pNAjIuL7TBPKi6yZTjJY78/deOONHDlyhM8++8wzLzc3l6VLlzJ69GgKCwu55pprWLlyJV999RWDBw9m2LBhZGRk/OrTU1RURGpqKlFRUWzYsIGFCxeyYsUKJk6cCEBlZSUjRozg8ssv5+uvvyY9PZ3x48djGAYAo0ePpk2bNmzYsIFNmzbx8MMP4+/v/6vrOh3qYNKQHGcB0MZ+FNBYPSIiTUJFMfw10Zp9/78DEBB6ymZRUVEMGTKEN998k4EDBwLw7rvvEhMTw5VXXonNZqN3796e9o899hjvv/8+H3zwgSec1NWbb75JaWkpr732GqGhVbU+99xzDBs2jCeeeAJ/f3/y8/O59tprOfvsswHo3r27Z/2MjAwefPBBunXrBsA555zzq+o5E7rS05CqQ088uYBub4mISP0ZPXo0//73vykrq/rb8sYbb3DzzTdjs9koLCzkgQceoHv37kRGRhIWFsauXbvq5UrPrl276N27tyfwAAwYMAC3283u3buJjo5m7NixpKamMmzYMP7+979z8OBBT9vJkyfz29/+lpSUFB5//HG+++67X13T6dKVnoZUfXurlfsQoI7MIiJNgn9I1RUXq/Z9moYNG4Zpmnz00UdceOGF/Pe//+WZZ54B4IEHHmD58uU8+eSTdO7cmeDgYG644QbKy8sbqnIv8+bN4w9/+ANLly7l7bffZurUqSxfvpz+/fszY8YMbr31Vj766COWLFnC9OnTWbBgAddff32D16XQ05Cqr/RElOcAeumoiEiTYBindYvJakFBQYwcOZI33niDvXv30rVrVy644AIA1qxZw9ixYz1BorCwkB9++KFe9tu9e3fmz59PUVGR52rPmjVrsNlsdO3a1dPu/PPP5/zzz2fKlCkkJyfz5ptv0r9/fwC6dOlCly5duP/++7nllluYN29eo4Qe3d5qSBFVoSe47BA23OQ41adHRETqz+jRo/noo4945ZVXGD16tGf+Oeecw3vvvceWLVvYunUrt95663FPev2afQYFBTFmzBi2b9/OZ599xr333svtt99OXFwc+/btY8qUKaSnp7N//34++eQT9uzZQ/fu3SkpKWHixImsWrWK/fv3s2bNGjZs2ODV56ch6UpPQwqLA8OOYbqIIZ9DBUFWVyQiIs3IVVddRXR0NLt37+bWW2/1zH/66ae56667uPjii4mJieGhhx7C6XTWyz5DQkJYtmwZ9913HxdeeCEhISGMGjWKp59+2rP8m2++4dVXX+XIkSMkJCSQlpbG7373OyorKzly5Ah33HEH2dnZxMTEMHLkSB555JF6qe1UDNM8zefjmjGn00lERAT5+fk4HI763fjTSeD8iRFlj7LF7Mye/x2Cv10X2EREfEFpaSn79u2jY8eOBAXpP0x90S/9js7077f++ja06s7MibaqJ7iOFDZOJzIRERHxptDT0KpDT+egqgEKNVaPiIj4kjfeeIOwsLATTj169LC6vHqlPj0NzdEGgA7+1aFHj62LiIgPue666+jXr98JlzXWSMmNRaGnoVVf6TnLMyqzQo+IiPiO8PBwwsPDrS6jUej2VkOrDj1x5mFA798SEfFFeqbHd9Xn70ahp6FVD1AY5aoKPerTIyLiO2pu3xQXF1tciZxMze+mPm616fZWQ6u+0hNefggDt25viYj4ELvdTmRkJDk5VSPnh4SEeN4GLtYyTZPi4mJycnKIjIzEbrf/6m0q9DS08HgwbNjMSmJwklMQbXVFIiJSS3x8PIAn+IhviYyM9PyOfi2FnoZm968ambngIPFGLocLEqyuSEREajEMg4SEBGJjY6moqLC6HKnF39+/Xq7w1FDoaQyORCg4SKJxhN0FZZimqcunIiI+xm631+sfWPE96sjcGKr79cQbuZS73OQV678kREREGptCT2PwDFCYB2isHhERESso9DSG6is97atDj8bqERERaXwKPY2h5qWjxhFAY/WI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IiLSIij0NKDAwECmT5+ux+PPkM5b3ei8nTmds7rReasbnbe6qc/zpj49IiIi0iLoSo+IiIi0CAo9IiIi0iIo9IiIiEiLoNAjIiIiLYJCTwN6/vnn6dChA0FBQfTr14/169dbXZJPmzFjBoZheE3dunWzuiyf8vnnnzNs2DASExMxDINFixZ5LTdNk2nTppGQkEBwcDApKSns2bPHmmJ9yKnO29ixY4/77g0ePNiaYn3EzJkzufDCCwkPDyc2NpYRI0awe/durzalpaWkpaXRqlUrwsLCGDVq1HEvf25pTue8XXHFFcd93+655x6LKvYNc+bMoVevXjgcDhwOB8nJySxZssSzvL6+awo9DeTtt99m8uTJTJ8+nc2bN9O7d29SU1PJycmxujSf1qNHDw4ePOiZvvjiC6tL8ilFRUX07t2b559//oTLZ82axbPPPsuLL77IunXrCA0NJTU1ldLS0kau1Lec6rwBDB482Ou799ZbbzVihb5n9erVpKWl8eWXX7J8+XIqKioYNGgQRUVFnjb3338/H374IQsXLmT16tUcOHCAkSNHWli19U7nvAHcfffdXt+3WbNmWVSxb2jTpg2PP/44mzZtYuPGjVx11VUMHz6cHTt2APX4XTOlQVx00UVmWlqa57PL5TITExPNmTNnWliVb5s+fbrZu3dvq8toMgDz/fff93x2u91mfHy8+be//c0zLy8vzwwMDDTfeustCyr0TT8/b6ZpmmPGjDGHDx9uST1NRU5OjgmYq1evNk2z6rvl7+9vLly40NNm165dJmCmp6dbVabP+fl5M03TvPzyy8377rvPuqKaiKioKPOll16q1++arvQ0gPLycjZt2kRKSopnns1mIyUlhfT0dAsr83179uwhMTGRTp06MXr0aDIyMqwuqcnYt28fWVlZXt+7iIgI+vXrp+/daVi1ahWxsbF07dqVCRMmcOTIEatL8in5+fkAREdHA7Bp0yYqKiq8vm/dunWjXbt2+r7V8vPzVuONN94gJiaGc889lylTplBcXGxFeT7J5XKxYMECioqKSE5OrtfvWrN4y7qvOXz4MC6X67i3vMfFxfHNN99YVJXv69evH/Pnz6dr164cPHiQRx55hEsvvZTt27cTHh5udXk+LysrC+CE37uaZXJigwcPZuTIkXTs2JHvvvuO//f//h9DhgwhPT0du91udXmWc7vdTJo0iQEDBnDuuecCVd+3gIAAIiMjvdrq+3bMic4bwK233kr79u1JTEzk66+/5qGHHmL37t289957FlZrvW3btpGcnExpaSlhYWG8//77JCUlsWXLlnr7rin0iM8YMmSI5+devXrRr18/2rdvzzvvvMO4ceMsrEyau5tvvtnzc8+ePenVqxdnn302q1atYuDAgRZW5hvS0tLYvn27+tidoZOdt/Hjx3t+7tmzJwkJCQwcOJDvvvuOs88+u7HL9Bldu3Zly5Yt5Ofn8+677zJmzBhWr15dr/vQ7a0GEBMTg91uP65neXZ2NvHx8RZV1fRERkbSpUsX9u7da3UpTULNd0vfu1+vU6dOxMTE6LsHTJw4kcWLF/PZZ5/Rpk0bz/z4+HjKy8vJy8vzaq/vW5WTnbcT6devH0CL/74FBATQuXNn+vTpw8yZM+nduzd///vf6/W7ptDTAAICAujTpw8rV670zHO73axcuZLk5GQLK2taCgsL+e6770hISLC6lCahY8eOxMfHe33vnE4n69at0/fuDP34448cOXKkRX/3TNNk4sSJvP/++3z66ad07NjRa3mfPn3w9/f3+r7t3r2bjIyMFv19O9V5O5EtW7YAtOjv24m43W7Kysrq97tWv32tpcaCBQvMwMBAc/78+ebOnTvN8ePHm5GRkWZWVpbVpfms//mf/zFXrVpl7tu3z1yzZo2ZkpJixsTEmDk5OVaX5jMKCgrMr776yvzqq69MwHz66afNr776yty/f79pmqb5+OOPm5GRkeZ//vMf8+uvvzaHDx9uduzY0SwpKbG4cmv90nkrKCgwH3jgATM9Pd3ct2+fuWLFCvOCCy4wzznnHLO0tNTq0i0zYcIEMyIiwly1apV58OBBz1RcXOxpc88995jt2rUzP/30U3Pjxo1mcnKymZycbGHV1jvVedu7d6/56KOPmhs3bjT37dtn/uc//zE7depkXnbZZRZXbq2HH37YXL16tblv3z7z66+/Nh9++GHTMAzzk08+MU2z/r5rCj0N6B//+IfZrl07MyAgwLzooovML7/80uqSfNpNN91kJiQkmAEBAeZZZ51l3nTTTebevXutLsunfPbZZyZw3DRmzBjTNKseW//zn/9sxsXFmYGBgebAgQPN3bt3W1u0D/il81ZcXGwOGjTIbN26tenv72+2b9/evPvuu1v8f6Cc6HwB5rx58zxtSkpKzN///vdmVFSUGRISYl5//fXmwYMHrSvaB5zqvGVkZJiXXXaZGR0dbQYGBpqdO3c2H3zwQTM/P9/awi121113me3btzcDAgLM1q1bmwMHDvQEHtOsv++aYZqmWccrTyIiIiJNhvr0iIiISIug0CMiIiItgkKPiIiItAgKPSIiItIiKPSIiIhIi6DQIyIiIi2CQo+IiIi0CAo9IiKAYRgsWrTI6jJEpAEp9IiI5caOHYthGMdNgwcPtro0EWlG/KwuQEQEYPDgwcybN89rXmBgoEXViEhzpCs9IuITAgMDiY+P95qioqKAqltPc+bMYciQIQQHB9OpUyfeffddr/W3bdvGVVddRXBwMK1atWL8+PEUFhZ6tXnllVfo0aMHgYGBJCQkMHHiRK/lhw8f5vrrryckJIRzzjmHDz74wLPs6NGjjB49mtatWxMcHMw555xzXEgTEd+m0CMiTcKf//xnRo0axdatWxk9ejQ333wzu3btAqCoqIjU1FSioqLYsGEDCxcuZMWKFV6hZs6cOaSlpTF+/Hi2bdvGBx98QOfOnb328cgjj/Cb3/yGr7/+mmuuuYbRo0eTm5vr2f/OnTtZsmQJu3btYs6cOcTExDTeCRCRX6/+3pEqIlI3Y8aMMe12uxkaGuo1/e///q9pmlVvrr7nnnu81unXr585YcIE0zRNc+7cuWZUVJRZWFjoWf7RRx+ZNpvN87b0xMRE809/+tNJawDMqVOnej4XFhaagLlkyRLTNE1z2LBh5p133lk/BywillCfHhHxCVdeeSVz5szxmhcdHe35OTk52WtZcnIyW7ZsAWDXrl307t2b0NBQz/IBAwbgdrvZvXs3hmFw4MABBg4c+Is19OrVy/NzaGgoDoeDnJwcACZMmMCoUaPYvHkzgwYNYsSIEVx88cV1OlYRsYZCj4j4hNDQ0ONuN9WX4ODg02rn7+/v9dkwDNxuNwBDhgxh//79fPzxxyxfvpyBAweSlpbGk08+We/1ikjDUJ8eEWkSvvzyy+M+d+/eHYDu3buzdetWioqKPMvXrFmDzWaja9euhIeH06FDB1auXPmramjdujVjxozh9ddfZ/bs2cydO/dXbU9EGpeu9IiITygrKyMrK8trnp+fn6ez8MKFC+nbty+XXHIJb7zxBuvXr+fll18GYPTo0UyfPp0xY8YwY8YMDh06xL333svtt99OXFwcADNmzOCee+4hNjaWIUOGUFBQwJo1a7j33ntPq75p06bRp08fevToQVlZGYsXL/aELhFpGhR6RMQnLF26lISEBK95Xbt25ZtvvgGqnqxasGABv//970lISOCtt94iKSkJgJCQEJYtW8Z9993HhRdeSEhICKNGjeLpp5/2bGvMmDGUlpbyzDPP8MADDxATE8MNN9xw2vUFBAQwZcoUfvjhB4KDg7n00ktZsGBBPRy5iDQWwzRN0+oiRER+iWEYvP/++4wYMcLqUkSkCVOfHhEREWkRFHpERESkRVCfHhHxeboLLyL1QVd6REREpEVQ6BEREZEWQaFHREREWgSFHhEREWkRFHpERESkRVDoERERkRZBoUdERERaBIUeERERaREUekRERKRF+P/ORmFhnM+0KwAAAABJRU5ErkJggg==\n" + }, + "metadata": {} + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "## Réseau de neurones simple" + ], + "metadata": { + "id": "2lR22NKdZVF0" + } + }, + { + "cell_type": "code", + "source": [ + "sigmoid = Sigmoid()\n", + "model = Model([ Dense(neurons=3, activation=sigmoid),\n", + " Dense(neurons=1)\n", + " ])" + ], + "metadata": { + "id": "cIJ_hfG1ZdJT" + }, + "execution_count": 4794, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "model" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "LmiAC4rkZqsR", + "outputId": "c95164a7-c5db-41c8-c0be-a853872f315d" + }, + "execution_count": 4795, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "Layers ................. \n", + " - DenseLayer(neurons=3) avec Sigmoid \n", + " - DenseLayer(neurons=1)" + ] + }, + "metadata": {}, + "execution_count": 4795 + } + ] + }, + { + "cell_type": "code", + "source": [ + "mse = Loss()\n", + "model.compile(loss=mse, learning_rate=0.001)\n", + "h = model.fit(X_train, y_train, epochs=150, validation_data=(X_test, y_test))" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "uD0dtDp8YyyV", + "outputId": "42734f61-a04e-4054-cb8b-f1381fc660d9" + }, + "execution_count": 4796, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Epoch 1 .............. loss : 507.9248956497336 ....val_loss : 492.311693850643\n", + "Epoch 2 .............. loss : 177.0600411831213 ....val_loss : 171.3573108990323\n", + "Epoch 3 .............. loss : 76.34310648866352 ....val_loss : 78.07141378521936\n", + "Epoch 4 .............. loss : 57.99769313037382 ....val_loss : 59.242268107160264\n", + "Epoch 5 .............. loss : 50.56069718790546 ....val_loss : 50.90120863498075\n", + "Epoch 6 .............. loss : 48.02490989618047 ....val_loss : 48.056787955807145\n", + "Epoch 7 .............. loss : 45.24327508981344 ....val_loss : 45.71030307412673\n", + "Epoch 8 .............. loss : 43.266239214476165 ....val_loss : 43.64692480403692\n", + "Epoch 9 .............. loss : 40.86833734070721 ....val_loss : 41.40535134329987\n", + "Epoch 10 .............. loss : 39.365032286039344 ....val_loss : 39.387747894940226\n", + "Epoch 11 .............. loss : 38.714063481767425 ....val_loss : 37.85180504818935\n", + "Epoch 12 .............. loss : 37.20575627361108 ....val_loss : 36.4715901343258\n", + "Epoch 13 .............. loss : 37.01806164088961 ....val_loss : 35.24248066630805\n", + "Epoch 14 .............. loss : 35.09901910128487 ....val_loss : 34.16640340961219\n", + "Epoch 15 .............. loss : 36.10832484192633 ....val_loss : 33.24044343804046\n", + "Epoch 16 .............. loss : 32.28740854466388 ....val_loss : 32.790707995328475\n", + "Epoch 17 .............. loss : 39.700201566152884 ....val_loss : 33.5766739080605\n", + "Epoch 18 .............. loss : 31.106635111765495 ....val_loss : 39.13375974821595\n", + "Epoch 19 .............. loss : 46.11573308589524 ....val_loss : 36.973311946821056\n", + "Epoch 20 .............. loss : 33.069114566849706 ....val_loss : 46.161653497112894\n", + "Epoch 21 .............. loss : 35.48853672743812 ....val_loss : 30.666968196047875\n", + "Epoch 22 .............. loss : 30.311035085116433 ....val_loss : 28.905668181734555\n", + "Epoch 23 .............. loss : 35.11510326992824 ....val_loss : 28.474861511586614\n", + "Epoch 24 .............. loss : 27.765891723614434 ....val_loss : 29.75425776308107\n", + "Epoch 25 .............. loss : 41.43119703194253 ....val_loss : 31.238872175999564\n", + "Epoch 26 .............. loss : 28.1373658540816 ....val_loss : 38.874192958901\n", + "Epoch 27 .............. loss : 37.10150172502607 ....val_loss : 28.31165716687877\n", + "Epoch 28 .............. loss : 25.54395512544952 ....val_loss : 29.39544776151507\n", + "Epoch 29 .............. loss : 40.154236411666744 ....val_loss : 28.897244155698917\n", + "Epoch 30 .............. loss : 25.299869574355455 ....val_loss : 34.43281268967892\n", + "Epoch 31 .............. loss : 36.742322845789616 ....val_loss : 26.961509712880922\n", + "Epoch 32 .............. loss : 24.09096302815586 ....val_loss : 28.073785889571084\n", + "Epoch 33 .............. loss : 39.02810192550477 ....val_loss : 27.264939581077947\n", + "Epoch 34 .............. loss : 23.415524992284816 ....val_loss : 30.303416034840133\n", + "Epoch 35 .............. loss : 36.476436347104766 ....val_loss : 25.7961925407066\n", + "Epoch 36 .............. loss : 23.10137967061369 ....val_loss : 25.556324125118177\n", + "Epoch 37 .............. loss : 34.790427228382185 ....val_loss : 24.075782135693643\n", + "Epoch 38 .............. loss : 22.666404718753117 ....val_loss : 24.496986443028007\n", + "Epoch 39 .............. loss : 34.302835870989824 ....val_loss : 23.36804793460791\n", + "Epoch 40 .............. loss : 22.296917312718406 ....val_loss : 23.680777715431912\n", + "Epoch 41 .............. loss : 32.82805592848192 ....val_loss : 22.2604425113021\n", + "Epoch 42 .............. loss : 22.187368646321342 ....val_loss : 22.27440285060807\n", + "Epoch 43 .............. loss : 31.377698991894857 ....val_loss : 21.17652718306877\n", + "Epoch 44 .............. loss : 22.128544647742075 ....val_loss : 21.223045076776124\n", + "Epoch 45 .............. loss : 30.53442829804078 ....val_loss : 20.44947184700654\n", + "Epoch 46 .............. loss : 21.98547965531403 ....val_loss : 20.551318742102467\n", + "Epoch 47 .............. loss : 30.07906934951475 ....val_loss : 19.931148004757574\n", + "Epoch 48 .............. loss : 21.795403986512547 ....val_loss : 20.043716150492727\n", + "Epoch 49 .............. loss : 29.818882558330795 ....val_loss : 19.50138524020334\n", + "Epoch 50 .............. loss : 21.598383394883793 ....val_loss : 19.595202938079595\n", + "Epoch 51 .............. loss : 29.631031376761072 ....val_loss : 19.111946088879268\n", + "Epoch 52 .............. loss : 21.423183278896342 ....val_loss : 19.169325349149897\n", + "Epoch 53 .............. loss : 29.401587370704053 ....val_loss : 18.744307624385787\n", + "Epoch 54 .............. loss : 21.323406635223268 ....val_loss : 18.739623898183236\n", + "Epoch 55 .............. loss : 29.036450568867934 ....val_loss : 18.361560162892317\n", + "Epoch 56 .............. loss : 21.338381972919862 ....val_loss : 18.271468212493062\n", + "Epoch 57 .............. loss : 28.56515113733002 ....val_loss : 17.956683747269878\n", + "Epoch 58 .............. loss : 21.44557311502348 ....val_loss : 17.810788911619504\n", + "Epoch 59 .............. loss : 28.13294856808163 ....val_loss : 17.577388225777565\n", + "Epoch 60 .............. loss : 21.586375275070868 ....val_loss : 17.428563057915603\n", + "Epoch 61 .............. loss : 27.852767454507912 ....val_loss : 17.265875160463224\n", + "Epoch 62 .............. loss : 21.708068126273307 ....val_loss : 17.14713932925423\n", + "Epoch 63 .............. loss : 27.736443440571176 ....val_loss : 17.029723118535934\n", + "Epoch 64 .............. loss : 21.792112000244675 ....val_loss : 16.946777784015328\n", + "Epoch 65 .............. loss : 27.720273420799092 ....val_loss : 16.84920696680321\n", + "Epoch 66 .............. loss : 21.852170303686837 ....val_loss : 16.792092197915537\n", + "Epoch 67 .............. loss : 27.730726780004538 ....val_loss : 16.696729299060717\n", + "Epoch 68 .............. loss : 21.910174366673655 ....val_loss : 16.654504151419857\n", + "Epoch 69 .............. loss : 27.733178259272528 ....val_loss : 16.554860581906937\n", + "Epoch 70 .............. loss : 21.975852309717986 ....val_loss : 16.524362636506115\n", + "Epoch 71 .............. loss : 27.73037175268762 ....val_loss : 16.420396336497753\n", + "Epoch 72 .............. loss : 22.046156332099045 ....val_loss : 16.40468724862529\n", + "Epoch 73 .............. loss : 27.73325231485325 ....val_loss : 16.2957746875765\n", + "Epoch 74 .............. loss : 22.11552563009346 ....val_loss : 16.298867082716146\n", + "Epoch 75 .............. loss : 27.743947832755826 ....val_loss : 16.181529832363157\n", + "Epoch 76 .............. loss : 22.181888148577897 ....val_loss : 16.206514708925013\n", + "Epoch 77 .............. loss : 27.75768777802884 ....val_loss : 16.07556930328341\n", + "Epoch 78 .............. loss : 22.245878807787257 ....val_loss : 16.125570985551718\n", + "Epoch 79 .............. loss : 27.76907135191042 ....val_loss : 15.975218352667152\n", + "Epoch 80 .............. loss : 22.308548514986164 ....val_loss : 16.0542698983698\n", + "Epoch 81 .............. loss : 27.774066675502933 ....val_loss : 15.878291494265648\n", + "Epoch 82 .............. loss : 22.370688075287223 ....val_loss : 15.990948674943818\n", + "Epoch 83 .............. loss : 27.76908686419374 ....val_loss : 15.783016312253867\n", + "Epoch 84 .............. loss : 22.43327832689186 ....val_loss : 15.932849040221578\n", + "Epoch 85 .............. loss : 27.750600237833385 ....val_loss : 15.687963797856805\n", + "Epoch 86 .............. loss : 22.497807549827197 ....val_loss : 15.875261987859353\n", + "Epoch 87 .............. loss : 27.716342712323844 ....val_loss : 15.592498978518936\n", + "Epoch 88 .............. loss : 22.56589469306753 ....val_loss : 15.81205993076773\n", + "Epoch 89 .............. loss : 27.667182391354476 ....val_loss : 15.497375733855547\n", + "Epoch 90 .............. loss : 22.638184497724822 ....val_loss : 15.738539319412203\n", + "Epoch 91 .............. loss : 27.608087438180124 ....val_loss : 15.404747409675158\n", + "Epoch 92 .............. loss : 22.713057218522046 ....val_loss : 15.655237715684892\n", + "Epoch 93 .............. loss : 27.54712479426775 ....val_loss : 15.31728326041985\n", + "Epoch 94 .............. loss : 22.78656211413807 ....val_loss : 15.568131708832652\n", + "Epoch 95 .............. loss : 27.492151335940903 ....val_loss : 15.236862769069065\n", + "Epoch 96 .............. loss : 22.854397223066545 ....val_loss : 15.483874899188432\n", + "Epoch 97 .............. loss : 27.4467976219218 ....val_loss : 15.163674701973767\n", + "Epoch 98 .............. loss : 22.914236522591626 ....val_loss : 15.405529314666442\n", + "Epoch 99 .............. loss : 27.409543197927153 ....val_loss : 15.0963682381992\n", + "Epoch 100 .............. loss : 22.96612924505195 ....val_loss : 15.332580073611807\n", + "Epoch 101 .............. loss : 27.376506513174956 ....val_loss : 15.0330695514691\n", + "Epoch 102 .............. loss : 23.01117631331528 ....val_loss : 15.263271922090022\n", + "Epoch 103 .............. loss : 27.344524876100927 ....val_loss : 14.97234497250153\n", + "Epoch 104 .............. loss : 23.05021632829377 ....val_loss : 15.196364420413051\n", + "Epoch 105 .............. loss : 27.31220442282438 ....val_loss : 14.913497528788403\n", + "Epoch 106 .............. loss : 23.083461554704 ....val_loss : 15.131476641873798\n", + "Epoch 107 .............. loss : 27.279340659249204 ....val_loss : 14.85631749486044\n", + "Epoch 108 .............. loss : 23.11085027948624 ....val_loss : 15.068641702749995\n", + "Epoch 109 .............. loss : 27.246031905991515 ....val_loss : 14.800722718514038\n", + "Epoch 110 .............. loss : 23.13250961308422 ....val_loss : 15.007850442058093\n", + "Epoch 111 .............. loss : 27.212253043994075 ....val_loss : 14.74656902461523\n", + "Epoch 112 .............. loss : 23.14897152033056 ....val_loss : 14.948906102717448\n", + "Epoch 113 .............. loss : 27.17790047300656 ....val_loss : 14.69364755019171\n", + "Epoch 114 .............. loss : 23.16113018684621 ....val_loss : 14.891511882535024\n", + "Epoch 115 .............. loss : 27.14299552215971 ....val_loss : 14.641758509024273\n", + "Epoch 116 .............. loss : 23.170085184105876 ....val_loss : 14.835402959606578\n", + "Epoch 117 .............. loss : 27.107801282728996 ....val_loss : 14.59076671260013\n", + "Epoch 118 .............. loss : 23.176989856996002 ....val_loss : 14.78041338237002\n", + "Epoch 119 .............. loss : 27.07279577389818 ....val_loss : 14.54061106756585\n", + "Epoch 120 .............. loss : 23.182942562284282 ....val_loss : 14.726473247848464\n", + "Epoch 121 .............. loss : 27.038563557496307 ....val_loss : 14.491286664254206\n", + "Epoch 122 .............. loss : 23.188910368644688 ....val_loss : 14.673578866862297\n", + "Epoch 123 .............. loss : 27.005681755347506 ....val_loss : 14.442825132463911\n", + "Epoch 124 .............. loss : 23.195674381697536 ....val_loss : 14.621768893071504\n", + "Epoch 125 .............. loss : 26.974637128394036 ....val_loss : 14.395283550260043\n", + "Epoch 126 .............. loss : 23.20380153168259 ....val_loss : 14.571111530139515\n", + "Epoch 127 .............. loss : 26.945776302060274 ....val_loss : 14.34873787911756\n", + "Epoch 128 .............. loss : 23.21365051019753 ....val_loss : 14.52169336391089\n", + "Epoch 129 .............. loss : 26.91928226422845 ....val_loss : 14.303274499208712\n", + "Epoch 130 .............. loss : 23.225406712582377 ....val_loss : 14.473604243646188\n", + "Epoch 131 .............. loss : 26.895175657791295 ....val_loss : 14.25897909572214\n", + "Epoch 132 .............. loss : 23.239127673393497 ....val_loss : 14.42692227661607\n", + "Epoch 133 .............. loss : 26.873341564050214 ....val_loss : 14.21592700112008\n", + "Epoch 134 .............. loss : 23.25477942053171 ....val_loss : 14.381706184888708\n", + "Epoch 135 .............. loss : 26.85357593679879 ....val_loss : 14.174178651261819\n", + "Epoch 136 .............. loss : 23.272255068363158 ....val_loss : 14.337997392007733\n", + "Epoch 137 .............. loss : 26.835637461059715 ....val_loss : 14.133779998937849\n", + "Epoch 138 .............. loss : 23.291380100856493 ....val_loss : 14.295827551973414\n", + "Epoch 139 .............. loss : 26.819289004182803 ....val_loss : 14.094764790386913\n", + "Epoch 140 .............. loss : 23.311915158317436 ....val_loss : 14.255224834960027\n", + "Epoch 141 .............. loss : 26.80431975143025 ....val_loss : 14.057155709455001\n", + "Epoch 142 .............. loss : 23.333564811986776 ....val_loss : 14.216215016039826\n", + "Epoch 143 .............. loss : 26.790549240617207 ....val_loss : 14.02096356798642\n", + "Epoch 144 .............. loss : 23.3559941275106 ....val_loss : 14.178817942513545\n", + "Epoch 145 .............. loss : 26.777821157384725 ....val_loss : 13.986185709788058\n", + "Epoch 146 .............. loss : 23.378849401938805 ....val_loss : 14.143042641565991\n", + "Epoch 147 .............. loss : 26.765995191897915 ....val_loss : 13.952805231364126\n", + "Epoch 148 .............. loss : 23.401778044571454 ....val_loss : 14.10888403345371\n", + "Epoch 149 .............. loss : 26.75494150298679 ....val_loss : 13.920791754496769\n", + "Epoch 150 .............. loss : 23.424444318472315 ....val_loss : 14.076322257748158\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "plot_learning_curve(h)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 472 + }, + "id": "PofKkfo2ZupJ", + "outputId": "cf321c84-63fb-42c1-cb01-21380c2f58f6" + }, + "execution_count": 4797, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjsAAAHHCAYAAABZbpmkAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAa0xJREFUeJzt3Xd0VNXexvHvlHRSqAm9SEdABIUIXFSQgIgi2COCcsUSEMTKq4Ll3otybVdFEAtYUBQVRBQQEEEgFENvoQgECElo6X3mvH9McsIIKmJmBpLns9Yskn3OzOw9EzJPfnufcyyGYRiIiIiIVFBWX3dARERExJMUdkRERKRCU9gRERGRCk1hR0RERCo0hR0RERGp0BR2REREpEJT2BEREZEKTWFHREREKjSFHREREanQFHZE5LzXqFEjhg4d6utuiMgFSmFHpJKYPn06FouFX375xdddueDk5+fz2muv0blzZ8LDwwkMDKR58+aMGDGCXbt2+bp7IvIn7L7ugIjIn0lMTMRq9c3fZseOHaNPnz4kJCRw3XXXcccdd1ClShUSExOZOXMmU6dOpbCw0Cd9E5Gzo7AjIl5VXFyM0+nE39//rO8TEBDgwR79saFDh7Jhwwa+/PJLBg0a5LbthRde4KmnniqX5zmX10VEzo6msUTEzeHDh7nnnnuIjIwkICCANm3a8MEHH7jtU1hYyLhx4+jYsSPh4eGEhITQvXt3li5d6rbf/v37sVgsvPzyy7z++utcdNFFBAQEsH37dp599lksFgt79uxh6NChREREEB4ezt13301ubq7b4/x2zU7plNzKlSsZM2YMNWvWJCQkhBtvvJGjR4+63dfpdPLss89Sp04dgoODueqqq9i+fftZrQNas2YN3333HcOGDTst6IArhL388svm91deeSVXXnnlafsNHTqURo0a/enrsmHDBux2O88999xpj5GYmIjFYuGtt94y29LT0xk9ejT169cnICCApk2b8tJLL+F0Ov9wXCKVjSo7ImJKTU2lS5cuWCwWRowYQc2aNZk/fz7Dhg0jMzOT0aNHA5CZmcl7773H7bffzr333ktWVhbvv/8+MTExrF27lksuucTtcadNm0Z+fj7Dhw8nICCAatWqmdtuueUWGjduzIQJE1i/fj3vvfcetWrV4qWXXvrT/o4cOZKqVasyfvx49u/fz+uvv86IESP4/PPPzX3Gjh3LxIkT6d+/PzExMWzatImYmBjy8/P/9PHnzp0LwODBg8/i1fvrfvu61K5dmx49evDFF18wfvx4t30///xzbDYbN998MwC5ubn06NGDw4cPc99999GgQQNWrVrF2LFjOXLkCK+//rpH+ixyQTJEpFKYNm2aARjr1q373X2GDRtm1K5d2zh27Jhb+2233WaEh4cbubm5hmEYRnFxsVFQUOC2z8mTJ43IyEjjnnvuMdv27dtnAEZYWJiRlpbmtv/48eMNwG1/wzCMG2+80ahevbpbW8OGDY0hQ4acNpZevXoZTqfTbH/44YcNm81mpKenG4ZhGCkpKYbdbjcGDBjg9njPPvusAbg95pnceOONBmCcPHnyD/cr1aNHD6NHjx6ntQ8ZMsRo2LCh+f0fvS7vvPOOARhbtmxxa2/durVx9dVXm9+/8MILRkhIiLFr1y63/Z588knDZrMZSUlJZ9VnkcpA01giAoBhGHz11Vf0798fwzA4duyYeYuJiSEjI4P169cDYLPZzLUlTqeTEydOUFxcTKdOncx9TjVo0CBq1qx5xue9//773b7v3r07x48fJzMz80/7PHz4cCwWi9t9HQ4HBw4cAGDJkiUUFxfz4IMPut1v5MiRf/rYgNmH0NDQs9r/rzrT6zJw4EDsdrtbdWrr1q1s376dW2+91WybNWsW3bt3p2rVqm7vVa9evXA4HCxfvtwjfRa5EGkaS0QAOHr0KOnp6UydOpWpU6eecZ+0tDTz6w8//JBXXnmFnTt3UlRUZLY3btz4tPudqa1UgwYN3L6vWrUqACdPniQsLOwP+/xH9wXM0NO0aVO3/apVq2bu+0dKnz8rK4uIiIg/3f+vOtPrUqNGDXr27MkXX3zBCy+8ALimsOx2OwMHDjT32717N5s3b/7dEHnqeyVS2SnsiAiAuaj1zjvvZMiQIWfcp127dgB88sknDB06lAEDBvDYY49Rq1YtbDYbEyZMYO/evafdLygo6Hef12aznbHdMIw/7fPfue/ZaNmyJQBbtmyhe/fuf7q/xWI543M7HI4z7v97r8ttt93G3XffzcaNG7nkkkv44osv6NmzJzVq1DD3cTqdXHPNNTz++ONnfIzmzZv/aX9FKguFHREBoGbNmoSGhuJwOOjVq9cf7vvll1/SpEkTvv76a7dppN8uqvW1hg0bArBnzx63Ksrx48fN6s8f6d+/PxMmTOCTTz45q7BTtWpVfv3119PaSytMZ2vAgAHcd9995lTWrl27GDt2rNs+F110EdnZ2X/6XomIDj0XkRI2m41Bgwbx1VdfsXXr1tO2n3pId2lF5dQqxpo1a4iPj/d8R/+Cnj17YrfbmTx5slv7qYdv/5Ho6Gj69OnDe++9x5w5c07bXlhYyKOPPmp+f9FFF7Fz506312rTpk2sXLnyL/U7IiKCmJgYvvjiC2bOnIm/vz8DBgxw2+eWW24hPj6ehQsXnnb/9PR0iouL/9JzilRkquyIVDIffPABCxYsOK191KhRvPjiiyxdupTOnTtz77330rp1a06cOMH69etZvHgxJ06cAOC6667j66+/5sYbb6Rfv37s27ePKVOm0Lp1a7Kzs709pN8VGRnJqFGjeOWVV7j++uvp06cPmzZtYv78+dSoUcOtKvV7PvroI3r37s3AgQPp378/PXv2JCQkhN27dzNz5kyOHDlinmvnnnvu4dVXXyUmJoZhw4aRlpbGlClTaNOmzVktuD7Vrbfeyp133snbb79NTEzMaWuGHnvsMebOnct1113H0KFD6dixIzk5OWzZsoUvv/yS/fv3u017iVRmCjsilcxvqxylhg4dSr169Vi7di3PP/88X3/9NW+//TbVq1enTZs2bue9GTp0KCkpKbzzzjssXLiQ1q1b88knnzBr1ix++uknL43k7Lz00ksEBwfz7rvvsnjxYqKjo/nhhx/o1q0bgYGBf3r/mjVrsmrVKt5++20+//xznnrqKQoLC2nYsCHXX389o0aNMvdt1aoVH330EePGjWPMmDG0bt2ajz/+mE8//fQvvy7XX389QUFBZGVluR2FVSo4OJhly5bxn//8h1mzZvHRRx8RFhZG8+bNee655wgPD/9LzydSkVmM8lrJJyJygUhPT6dq1ar861//KrfLPYjI+UtrdkSkQsvLyzutrfTswme6tIOIVDyaxhKRCu3zzz9n+vTpXHvttVSpUoUVK1bw2Wef0bt3b7p27err7omIFyjsiEiF1q5dO+x2OxMnTiQzM9NctPyvf/3L110TES/Rmh0RERGp0LRmR0RERCo0hR0RERGp0LRmB9c1ZpKTkwkNDT2rk4yJiIiI7xmGQVZWFnXq1MFq/f36jcIOkJycTP369X3dDRERETkHBw8epF69er+7XWEHCA0NBVwvVlhYmI97IyIiImcjMzOT+vXrm5/jv0dhB8ypq7CwMIUdERGRC8yfLUHRAmURERGp0BR2REREpEJT2BEREZEKTWt2REREAIfDQVFRka+7Iafw8/PDZrP97cdR2BERkUrNMAxSUlJIT0/3dVfkDCIiIoiKivpb58FT2BERkUqtNOjUqlWL4OBgnVz2PGEYBrm5uaSlpQFQu3btc34shR0REam0HA6HGXSqV6/u6+7IbwQFBQGQlpZGrVq1znlKSwuURUSk0ipdoxMcHOzjnsjvKX1v/s56KoUdERGp9DR1df4qj/dGYUdEREQqNIUdERGRC9CVV17J6NGjfd2NC4LCjoiIiFRoOhrLg9Iy8ykodlIzNIBAv79/UiQRERH561TZ8aBbp66m+8SlbDmc4euuiIhIBXby5EnuuusuqlatSnBwMH379mX37t3m9gMHDtC/f3+qVq1KSEgIbdq04fvvvzfvGxsbS82aNQkKCqJZs2ZMmzbNV0PxCFV2PMhmda0gdzgNH/dERETOlmEY5BU5fPLcQX62czr6aOjQoezevZu5c+cSFhbGE088wbXXXsv27dvx8/MjLi6OwsJCli9fTkhICNu3b6dKlSoAPPPMM2zfvp358+dTo0YN9uzZQ15eXnkPzad8GnaeffZZnnvuObe2Fi1asHPnTgDy8/N55JFHmDlzJgUFBcTExPD2228TGRlp7p+UlMQDDzzA0qVLqVKlCkOGDGHChAnY7b7PcTaLwo6IyIUmr8hB63ELffLc25+PIdj/r31+lYaclStXcsUVVwAwY8YM6tevz5w5c7j55ptJSkpi0KBBtG3bFoAmTZqY909KSqJDhw506tQJgEaNGpXPYM4jPp/GatOmDUeOHDFvK1asMLc9/PDDfPvtt8yaNYtly5aRnJzMwIEDze0Oh4N+/fpRWFjIqlWr+PDDD5k+fTrjxo3zxVBOo8qOiIh42o4dO7Db7XTu3Nlsq169Oi1atGDHjh0APPTQQ/zrX/+ia9eujB8/ns2bN5v7PvDAA8ycOZNLLrmExx9/nFWrVnl9DJ7m8/KH3W4nKirqtPaMjAzef/99Pv30U66++moApk2bRqtWrVi9ejVdunThhx9+YPv27SxevJjIyEguueQSXnjhBZ544gmeffZZ/P39vT0cNwo7IiIXniA/G9ufj/HZc3vCP//5T2JiYvjuu+/44YcfmDBhAq+88gojR46kb9++HDhwgO+//55FixbRs2dP4uLiePnllz3SF1/weWVn9+7d1KlThyZNmhAbG0tSUhIACQkJFBUV0atXL3Pfli1b0qBBA+Lj4wGIj4+nbdu2btNaMTExZGZmsm3btt99zoKCAjIzM91unqCwIyJy4bFYLAT7231yO5f1Oq1ataK4uJg1a9aYbcePHycxMZHWrVubbfXr1+f+++/n66+/5pFHHuHdd981t9WsWZMhQ4bwySef8PrrrzN16tS/9yKeZ3wadjp37sz06dNZsGABkydPZt++fXTv3p2srCxSUlLw9/cnIiLC7T6RkZGkpKQArivVnhp0SreXbvs9EyZMIDw83LzVr1+/fAdWojTsFCvsiIiIhzRr1owbbriBe++9lxUrVrBp0ybuvPNO6tatyw033ADA6NGjWbhwIfv27WP9+vUsXbqUVq1aATBu3Di++eYb9uzZw7Zt25g3b565raLw6TRW3759za/btWtH586dadiwIV988YV5pVNPGDt2LGPGjDG/z8zM9EjgKV2g7DQUdkRExHOmTZvGqFGjuO666ygsLOQf//gH33//PX5+foBrjWtcXByHDh0iLCyMPn368NprrwHg7+/P2LFj2b9/P0FBQXTv3p2ZM2f6cjjlzudrdk4VERFB8+bN2bNnD9dccw2FhYWkp6e7VXdSU1PNNT5RUVGsXbvW7TFSU1PNbb8nICCAgICA8h/Ab2gaS0REPOWnn34yv65atSofffTR7+775ptv/u62p59+mqeffro8u3be8fmanVNlZ2ezd+9eateuTceOHfHz82PJkiXm9sTERJKSkoiOjgYgOjqaLVu2kJaWZu6zaNEiwsLC3OYpfUVhR0RExPd8Wtl59NFH6d+/Pw0bNiQ5OZnx48djs9m4/fbbCQ8PZ9iwYYwZM4Zq1aoRFhbGyJEjiY6OpkuXLgD07t2b1q1bM3jwYCZOnEhKSgpPP/00cXFxXqnc/JmYnG+4zJ5MQHZNoK6vuyMiIlIp+TTsHDp0iNtvv53jx49Ts2ZNunXrxurVq6lZsyYAr732GlarlUGDBrmdVLCUzWZj3rx5PPDAA0RHRxMSEsKQIUN4/vnnfTUkN9dkfUOU/RA/5g7wdVdEREQqLZ+GnT9bABUYGMikSZOYNGnS7+7TsGFD8/oe5xunxTVLaDiLfdwTERGRyuu8WrNT0TgtrizpdPjmGisiIiKisONRRkllB1V2REREfEZhx4OcFtdpvw2Hwo6IiIivKOx4kFESdlTZERER8R2FHQ8qDTuGU2t2REREfEVhx4OcqLIjIiLnp0aNGvH666+f1b4Wi4U5c+Z4tD+epLDjSVZVdkRERHxNYceDnJrGEhER8TmFHU8qCTsWTWOJiEg5mjp1KnXq1MHpdLq133DDDdxzzz3s3buXG264gcjISKpUqcJll13G4sWLy+35t2zZwtVXX01QUBDVq1dn+PDhZGdnm9t/+uknLr/8ckJCQoiIiKBr164cOHAAgE2bNnHVVVcRGhpKWFgYHTt25Jdffim3vp2Jwo4HlS5QdqqyIyJy4TAMKMzxzc04uwtH33zzzRw/fpylS5eabSdOnGDBggXExsaSnZ3Ntddey5IlS9iwYQN9+vShf//+JCUl/e2XJycnh5iYGKpWrcq6deuYNWsWixcvZsSIEQAUFxczYMAAevTowebNm4mPj2f48OFYLK6LY8fGxlKvXj3WrVtHQkICTz75JH5+fn+7X3/Ep5eLqOiMkjU7FkOVHRGRC0ZRLvynjm+e+/+SwT/kT3erWrUqffv25dNPP6Vnz54AfPnll9SoUYOrrroKq9VK+/btzf1feOEFZs+ezdy5c81Qcq4+/fRT8vPz+eijjwgJcfX1rbfeon///rz00kv4+fmRkZHBddddx0UXXQRAq1atzPsnJSXx2GOP0bJlSwCaNWv2t/pzNlTZ8SDz0HNdLkJERMpZbGwsX331FQUFBQDMmDGD2267DavVSnZ2No8++iitWrUiIiKCKlWqsGPHjnKp7OzYsYP27dubQQega9euOJ1OEhMTqVatGkOHDiUmJob+/fvzv//9jyNHjpj7jhkzhn/+85/06tWLF198kb179/7tPv0ZVXY8yaLKjojIBccv2FVh8dVzn6X+/ftjGAbfffcdl112GT///DOvvfYaAI8++iiLFi3i5ZdfpmnTpgQFBXHTTTdRWFjoqZ67mTZtGg899BALFizg888/5+mnn2bRokV06dKFZ599ljvuuIPvvvuO+fPnM378eGbOnMmNN97osf4o7HhQ6TQWWrMjInLhsFjOairJ1wIDAxk4cCAzZsxgz549tGjRgksvvRSAlStXMnToUDNAZGdns3///nJ53latWjF9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pDK64M6zU5E5cC1SNlTZERER8TqFHS9wWkoXKGvNjoiIiLcp7HhBaWXHqZMKioiIeJ3Cjhc4S6exnAo7IiIi3qaw4wVl01hasyMiIuJtCjteYFZ2tGZHRETE6xR2vMBZcuVzp6axREREvE5hxwtKw46hBcoiIiJed05h5+DBgxw6dMj8fu3atYwePZqpU6eWW8cqEmfJy2w4NY0lIiLibecUdu644w6WLl0KQEpKCtdccw1r167lqaeeOu8u1XA+MCs7Ti1QFhER8bZzCjtbt27l8ssvB+CLL77g4osvZtWqVcyYMYPp06eXZ/8qBKPkaCzD4fRxT0RERCqfcwo7RUVF5lXFFy9ezPXXXw9Ay5YtOXLkSPn1roIoO8+OKjsiIiLedk5hp02bNkyZMoWff/6ZRYsW0adPHwCSk5OpXr16uXawIjDMBcqq7IiIiHjbOYWdl156iXfeeYcrr7yS22+/nfbt2wMwd+5cc3pLyphrdgwdjSUiIuJt9nO505VXXsmxY8fIzMykatWqZvvw4cMJDg4ut85VFKWVHYo1jSUiIuJt51TZycvLo6CgwAw6Bw4c4PXXXycxMZFatWqVawcrAnMay9A0loiIiLedU9i54YYb+OijjwBIT0+nc+fOvPLKKwwYMIDJkyeXawcrArOyowXKIiIiXndOYWf9+vV0794dgC+//JLIyEgOHDjARx99xBtvvFGuHawIzMqOU5UdERERbzunsJObm0toaCgAP/zwAwMHDsRqtdKlSxcOHDhQrh2sCAxrSWVHVz0XERHxunMKO02bNmXOnDkcPHiQhQsX0rt3bwDS0tIICwsr1w5WBOY0ltbsiIiIeN05hZ1x48bx6KOP0qhRIy6//HKio6MBV5WnQ4cO5drBiqBszY4OPRcREfG2czr0/KabbqJbt24cOXLEPMcOQM+ePbnxxhvLrXMVRdmaHV0IVERExNvOKewAREVFERUVZV79vF69ejqh4O+xqrIjIiLiK+c0jeV0Onn++ecJDw+nYcOGNGzYkIiICF544QWcOuLoNIalJFMaquyIiIh42zlVdp566inef/99XnzxRbp27QrAihUrePbZZ8nPz+ff//53uXbygmd1ZUqLprFERES87pzCzocffsh7771nXu0coF27dtStW5cHH3xQYec3zMqOprFERES87pymsU6cOEHLli1Pa2/Z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vPNOqlevTlBQEG3btuWXX34xtxuGwbhx46hduzZBQUH06tWL3bt3+7DH587hcPDMM8/QuHFjgoKCuOiii3jhhRfcrrdzoY93+fLl9O/fnzp16mCxWJgzZ47b9rMZ34kTJ4iNjSUsLIyIiAiGDRtGdna2F0fx1/zRmIuKinjiiSdo27YtISEh1KlTh7vuuovk5GS3x7iQxvxn7/Gp7r//fiwWC6+//rpb+4U03r9CYcdDPv/8c8aMGcP48eNZv3497du3JyYmhrS0NF937W9btmwZcXFxrF69mkWLFlFUVETv3r3Jyckx93n44Yf59ttvmTVrFsuWLSM5OZmBAwf6sNflY926dbzzzju0a9fOrb2ijffkyZN07doVPz8/5s+fz/bt23nllVeoWrWquc/EiRN54403mDJlCmvWrCEkJISYmBjy8/N92PNz89JLLzF58mTeeustduzYwUsvvcTEiRN58803zX0u9PHm5OTQvn17Jk2adMbtZzO+2NhYtm3bxqJFi5g3bx7Lly9n+PDh3hrCX/ZHY87NzWX9+vU888wzrF+/nq+//prExESuv/56t/0upDH/2Xtcavbs2axevZo6deqctu1CGu9fYohHXH755UZcXJz5vcPhMOrUqWNMmDDBh73yjLS0NAMwli1bZhiGYaSnpxt+fn7GrFmzzH127NhhAEZ8fLyvuvm3ZWVlGc2aNTMWLVpk9OjRwxg1apRhGBVzvE888YTRrVu3393udDqNqKgo47///a/Zlp6ebgQEBBifffaZN7pYrvr162fcc889bm0DBw40YmNjDcOoeOMFjNmzZ5vfn834tm/fbgDGunXrzH3mz59vWCwW4/Dhw17r+7n67ZjPZO3atQZgHDhwwDCMC3vMvzfeQ4cOGXXr1jW2bt1qNGzY0HjttdfMbRfyeP+MKjseUFhYSEJCAr169TLbrFYrvXr1Ij4+3oc984yMjAwAqlWrBkBCQgJFRUVu42/ZsiUNGjS4oMcfFxdHv3793MYFFXO8c+fOpVOnTtx8883UqlWLDh068O6775rb9+3bR0pKituYw8PD6dy58wU55iuuuIIlS5awa9cuADZt2sSKFSvo27cvUPHG+1tnM774+HgiIiLo1KmTuU+vXr2wWq2sWbPG6332hIyMDCwWCxEREUDFG7PT6WTw4ME89thjtGnT5rTtFW28p9KF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\n" + }, + "metadata": {} + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "## Deep Neural Network" + ], + "metadata": { + "id": "acUQvSjvabqB" + } + }, + { + "cell_type": "code", + "source": [ + "sigmoid = Sigmoid()\n", + "model = Model([ Dense(neurons=13, activation=sigmoid),\n", + " Dense(neurons=1),\n", + " ])" + ], + "metadata": { + "id": "u8wMC3ppaN0M" + }, + "execution_count": 4798, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "model" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "jeTyisrraqmj", + "outputId": "d8db4f53-98d2-480d-eaf7-74e6dcfdaffa" + }, + "execution_count": 4799, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "Layers ................. \n", + " - DenseLayer(neurons=13) avec Sigmoid \n", + " - DenseLayer(neurons=1)" + ] + }, + "metadata": {}, + "execution_count": 4799 + } + ] + }, + { + "cell_type": "code", + "source": [ + "mse = Loss()\n", + "model.compile(loss=mse, learning_rate=0.0001)\n", + "h = model.fit(X_train, y_train, epochs=150, validation_data=(X_test, y_test))" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "W9Vb4FC3ar8w", + "outputId": "c33e19b2-92d3-4125-9d45-09e811c931ad" + }, + "execution_count": 4800, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Epoch 1 .............. loss : 609.4535263872165 ....val_loss : 594.285047596059\n", + "Epoch 2 .............. loss : 494.7172454598782 ....val_loss : 479.0339597155269\n", + "Epoch 3 .............. loss : 403.8643944989146 ....val_loss : 388.125852443045\n", + "Epoch 4 .............. loss : 331.0559254119759 ....val_loss : 315.67394558965\n", + "Epoch 5 .............. loss : 272.44802631944543 ....val_loss : 257.80096535791387\n", + "Epoch 6 .............. loss : 225.32104126553727 ....val_loss : 211.7461595039089\n", + "Epoch 7 .............. loss : 187.60578616146617 ....val_loss : 175.37471756759948\n", + "Epoch 8 .............. loss : 157.62037539699094 ....val_loss : 146.91491099254424\n", + "Epoch 9 .............. loss : 133.9379615740088 ....val_loss : 124.84238208175846\n", + "Epoch 10 .............. loss : 115.33306807953525 ....val_loss : 107.84460906755527\n", + "Epoch 11 .............. loss : 100.76383198721742 ....val_loss : 94.8136613248053\n", + "Epoch 12 .............. loss : 89.36281102397759 ....val_loss : 84.83959359519152\n", + "Epoch 13 .............. loss : 80.42414713510476 ....val_loss : 77.19470874462637\n", + "Epoch 14 .............. loss : 73.38501999017595 ....val_loss : 71.30927122086527\n", + "Epoch 15 .............. loss : 67.80394933610259 ....val_loss : 66.74384710569032\n", + "Epoch 16 .............. loss : 63.338980777709935 ....val_loss : 63.16320594326976\n", + "Epoch 17 .............. loss : 59.72772046662133 ....val_loss : 60.31410463055445\n", + "Epoch 18 .............. loss : 56.77014011013003 ....val_loss : 58.00697905732569\n", + "Epoch 19 .............. loss : 54.314382766974546 ....val_loss : 56.10095172821895\n", + "Epoch 20 .............. loss : 52.245467403626975 ....val_loss : 54.49191732965117\n", + "Epoch 21 .............. loss : 50.47654447278566 ....val_loss : 53.1034202822021\n", + "Epoch 22 .............. loss : 48.942161999056076 ....val_loss : 51.87970350441654\n", + "Epoch 23 .............. loss : 47.59303981617112 ....val_loss : 50.780330560710794\n", + "Epoch 24 .............. loss : 46.392019075413714 ....val_loss : 49.776027668240474\n", + "Epoch 25 .............. loss : 45.31096948445956 ....val_loss : 48.84553815905314\n", + "Epoch 26 .............. loss : 44.32847517552106 ....val_loss : 47.97331299490986\n", + "Epoch 27 .............. loss : 43.4281343598411 ....val_loss : 47.147866866640136\n", + "Epoch 28 .............. loss : 42.59732683484983 ....val_loss : 46.36064944995507\n", + "Epoch 29 .............. loss : 41.82632768413527 ....val_loss : 45.605311093475684\n", + "Epoch 30 .............. loss : 41.10766782791384 ....val_loss : 44.87726565591287\n", + "Epoch 31 .............. loss : 40.43565769907934 ....val_loss : 44.17345671665201\n", + "Epoch 32 .............. loss : 39.80600064159016 ....val_loss : 43.49221408000989\n", + "Epoch 33 .............. loss : 39.215436372136075 ....val_loss : 42.83306654260564\n", + "Epoch 34 .............. loss : 38.6613841238386 ....val_loss : 42.19640255910404\n", + "Epoch 35 .............. loss : 38.14160148197 ....val_loss : 41.582977151351066\n", + "Epoch 36 .............. loss : 37.65391501487248 ....val_loss : 40.99340130420351\n", + "Epoch 37 .............. loss : 37.19607734993321 ....val_loss : 40.427797681822355\n", + "Epoch 38 .............. loss : 36.765757738138504 ....val_loss : 39.88571176993216\n", + "Epoch 39 .............. loss : 36.36061993592687 ....val_loss : 39.366225827214805\n", + "Epoch 40 .............. loss : 35.9784234656955 ....val_loss : 38.868155209383524\n", + "Epoch 41 .............. loss : 35.617102700902 ....val_loss : 38.390229029964544\n", + "Epoch 42 .............. loss : 35.27480708792659 ....val_loss : 37.93121150658964\n", + "Epoch 43 .............. loss : 34.94990589755357 ....val_loss : 37.489960848761314\n", + "Epoch 44 .............. loss : 34.64096896707942 ....val_loss : 37.06544069044981\n", + "Epoch 45 .............. loss : 34.34673549473888 ....val_loss : 36.656703391349964\n", + "Epoch 46 .............. loss : 34.06608054688218 ....val_loss : 36.26286278090327\n", + "Epoch 47 .............. loss : 33.79798576157045 ....val_loss : 35.8830693990944\n", + "Epoch 48 .............. loss : 33.54151756594019 ....val_loss : 35.51649538738862\n", + "Epoch 49 .............. loss : 33.295813469490774 ....val_loss : 35.1623304451514\n", + "Epoch 50 .............. loss : 33.06007504271835 ....val_loss : 34.81978629766011\n", + "Epoch 51 .............. loss : 32.83356527482038 ....val_loss : 34.48810562414441\n", + "Epoch 52 .............. loss : 32.61560802327613 ....val_loss : 34.166571869850216\n", + "Epoch 53 .............. loss : 32.40558784871422 ....val_loss : 33.85451772047728\n", + "Epoch 54 .............. loss : 32.202949254775206 ....val_loss : 33.551331322479314\n", + "Epoch 55 .............. loss : 32.007194946988 ....val_loss : 33.25646015967647\n", + "Epoch 56 .............. loss : 31.817883087859673 ....val_loss : 32.96941282770702\n", + "Epoch 57 .............. loss : 31.634623681634665 ....val_loss : 32.68975895187364\n", + "Epoch 58 .............. loss : 31.457074246267982 ....val_loss : 32.41712736155871\n", + "Epoch 59 .............. loss : 31.28493489871303 ....val_loss : 32.151202510159074\n", + "Epoch 60 .............. loss : 31.11794294998327 ....val_loss : 31.89171910094423\n", + "Epoch 61 .............. loss : 30.955867111220783 ....val_loss : 31.63845498126893\n", + "Epoch 62 .............. loss : 30.798501459312636 ....val_loss : 31.391222584969668\n", + "Epoch 63 .............. loss : 30.645659386547436 ....val_loss : 31.149859473979227\n", + "Epoch 64 .............. loss : 30.497167833436613 ....val_loss : 30.914218762685792\n", + "Epoch 65 .............. loss : 30.352862142074976 ....val_loss : 30.68416031040627\n", + "Epoch 66 .............. loss : 30.212581843342793 ....val_loss : 30.45954348544016\n", + "Epoch 67 .............. loss : 30.076167599880154 ....val_loss : 30.240222049671715\n", + "Epoch 68 .............. loss : 29.943459387228504 ....val_loss : 30.026041357434682\n", + "Epoch 69 .............. loss : 29.81429584334349 ....val_loss : 29.81683770707524\n", + "Epoch 70 .............. loss : 29.688514589159947 ....val_loss : 29.612439416054652\n", + "Epoch 71 .............. loss : 29.565953245530167 ....val_loss : 29.41266905566337\n", + "Epoch 72 .............. loss : 29.446450851868157 ....val_loss : 29.217346276557524\n", + "Epoch 73 .............. loss : 29.3298494201223 ....val_loss : 29.026290745082914\n", + "Epoch 74 .............. loss : 29.2159954161379 ....val_loss : 28.839324845115105\n", + "Epoch 75 .............. loss : 29.104741029809762 ....val_loss : 28.656275939766143\n", + "Epoch 76 .............. loss : 28.99594516068419 ....val_loss : 28.47697810555209\n", + "Epoch 77 .............. loss : 28.889474098142035 ....val_loss : 28.301273337410766\n", + "Epoch 78 .............. loss : 28.785201911977875 ....val_loss : 28.12901227622496\n", + "Epoch 79 .............. loss : 28.683010591008 ....val_loss : 27.96005453707506\n", + "Epoch 80 .............. loss : 28.582789977236505 ....val_loss : 27.7942687240216\n", + "Epoch 81 .............. loss : 28.48443754459485 ....val_loss : 27.63153221298081\n", + "Epoch 82 .............. loss : 28.38785806754813 ....val_loss : 27.47173077380462\n", + "Epoch 83 .............. loss : 28.292963218445838 ....val_loss : 27.314758089862796\n", + "Epoch 84 .............. loss : 28.19967112514306 ....val_loss : 27.16051522061794\n", + "Epoch 85 .............. loss : 28.10790591323169 ....val_loss : 27.00891004114925\n", + "Epoch 86 .............. loss : 28.01759725079982 ....val_loss : 26.859856682858847\n", + "Epoch 87 .............. loss : 27.92867990823961 ....val_loss : 26.713274991787337\n", + "Epoch 88 .............. loss : 27.841093341289376 ....val_loss : 26.56909001493585\n", + "Epoch 89 .............. loss : 27.75478130214716 ....val_loss : 26.427231520499202\n", + "Epoch 90 .............. loss : 27.669691480994977 ....val_loss : 26.287633554686362\n", + "Epoch 91 .............. loss : 27.58577517847407 ....val_loss : 26.15023403557705\n", + "Epoch 92 .............. loss : 27.5029870084069 ....val_loss : 26.014974383004574\n", + "Epoch 93 .............. loss : 27.421284629242212 ....val_loss : 25.881799182570322\n", + "Epoch 94 .............. loss : 27.340628502200172 ....val_loss : 25.750655881423725\n", + "Epoch 95 .............. loss : 27.26098167382669 ....val_loss : 25.62149451325792\n", + "Epoch 96 .............. loss : 27.18230958056549 ....val_loss : 25.4942674499789\n", + "Epoch 97 .............. loss : 27.10457987296989 ....val_loss : 25.36892917763184\n", + "Epoch 98 .............. loss : 27.027762257267355 ....val_loss : 25.245436094358304\n", + "Epoch 99 .............. loss : 26.951828352129755 ....val_loss : 25.12374632837613\n", + "Epoch 100 .............. loss : 26.87675155867179 ....val_loss : 25.003819574193948\n", + "Epoch 101 .............. loss : 26.80250694188499 ....val_loss : 24.885616945477768\n", + "Epoch 102 .............. loss : 26.72907112190448 ....val_loss : 24.76910084317046\n", + "Epoch 103 .............. loss : 26.656422173695486 ....val_loss : 24.654234837620933\n", + "Epoch 104 .............. loss : 26.584539533929245 ....val_loss : 24.540983563608503\n", + "Epoch 105 .............. loss : 26.513403913993365 ....val_loss : 24.429312627250923\n", + "Epoch 106 .............. loss : 26.442997218245473 ....val_loss : 24.31918852386517\n", + "Epoch 107 .............. loss : 26.37330246677077 ....val_loss : 24.210578565912243\n", + "Epoch 108 .............. loss : 26.30430372204368 ....val_loss : 24.10345082020478\n", + "Epoch 109 .............. loss : 26.235986019018913 ....val_loss : 23.997774053593595\n", + "Epoch 110 .............. loss : 26.16833529828923 ....val_loss : 23.893517686379237\n", + "Epoch 111 .............. loss : 26.101338342044805 ....val_loss : 23.79065175272151\n", + "Epoch 112 .............. loss : 26.0349827126528 ....val_loss : 23.68914686734416\n", + "Epoch 113 .............. loss : 25.969256693745816 ....val_loss : 23.588974197858512\n", + "Epoch 114 .............. loss : 25.904149233764535 ....val_loss : 23.49010544205569\n", + "Epoch 115 .............. loss : 25.83964989194355 ....val_loss : 23.39251280954827\n", + "Epoch 116 .............. loss : 25.77574878676168 ....val_loss : 23.296169007174143\n", + "Epoch 117 .............. loss : 25.712436546898793 ....val_loss : 23.201047227611557\n", + "Epoch 118 .............. loss : 25.64970426475255 ....val_loss : 23.107121140692442\n", + "Epoch 119 .............. loss : 25.587543452570834 ....val_loss : 23.014364886941628\n", + "Epoch 120 .............. loss : 25.525946001251373 ....val_loss : 22.922753072911924\n", + "Epoch 121 .............. loss : 25.46490414184905 ....val_loss : 22.83226076792713\n", + "Epoch 122 .............. loss : 25.404410409816638 ....val_loss : 22.74286350188819\n", + "Epoch 123 .............. loss : 25.344457611986456 ....val_loss : 22.65453726384\n", + "Epoch 124 .............. loss : 25.28503879627986 ....val_loss : 22.567258501036637\n", + "Epoch 125 .............. loss : 25.226147224110633 ....val_loss : 22.48100411828211\n", + "Epoch 126 .............. loss : 25.16777634542719 ....val_loss : 22.39575147736038\n", + "Epoch 127 .............. loss : 25.10991977631833 ....val_loss : 22.31147839640187\n", + "Epoch 128 .............. loss : 25.05257127908885 ....val_loss : 22.22816314906518\n", + "Epoch 129 .............. loss : 24.9957247446948 ....val_loss : 22.145784463440464\n", + "Epoch 130 .............. loss : 24.93937417741419 ....val_loss : 22.064321520605528\n", + "Epoch 131 .............. loss : 24.88351368161772 ....val_loss : 21.983753952787616\n", + "Epoch 132 .............. loss : 24.82813745049533 ....val_loss : 21.904061841102322\n", + "Epoch 133 .............. loss : 24.773239756588698 ....val_loss : 21.8252257128568\n", + "Epoch 134 .............. loss : 24.718814943976415 ....val_loss : 21.74722653841746\n", + "Epoch 135 .............. loss : 24.664857421957816 ....val_loss : 21.670045727652816\n", + "Epoch 136 .............. loss : 24.61136166008277 ....val_loss : 21.59366512597048\n", + "Epoch 137 .............. loss : 24.558322184378078 ....val_loss : 21.51806700997318\n", + "Epoch 138 .............. loss : 24.505733574626102 ....val_loss : 21.443234082763546\n", + "Epoch 139 .............. loss : 24.453590462557475 ....val_loss : 21.369149468929805\n", + "Epoch 140 .............. loss : 24.401887530827313 ....val_loss : 21.295796709246424\n", + "Epoch 141 .............. loss : 24.350619512652397 ....val_loss : 21.223159755123795\n", + "Epoch 142 .............. loss : 24.299781191995653 ....val_loss : 21.151222962841146\n", + "Epoch 143 .............. loss : 24.249367404193457 ....val_loss : 21.079971087595062\n", + "Epoch 144 .............. loss : 24.19937303693042 ....val_loss : 21.00938927739476\n", + "Epoch 145 .............. loss : 24.149793031475543 ....val_loss : 20.939463066832875\n", + "Epoch 146 .............. loss : 24.100622384102994 ....val_loss : 20.870178370758428\n", + "Epoch 147 .............. loss : 24.051856147629017 ....val_loss : 20.801521477875614\n", + "Epoch 148 .............. loss : 24.00348943300558 ....val_loss : 20.733479044290082\n", + "Epoch 149 .............. loss : 23.955517410918613 ....val_loss : 20.66603808702128\n", + "Epoch 150 .............. loss : 23.907935313346876 ....val_loss : 20.59918597749719\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "plot_learning_curve(h)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 472 + }, + "id": "1tLPfhXNa1mV", + "outputId": "b064d8df-fad7-4466-9d62-d59add70277b" + }, + "execution_count": 4801, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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rXPnzgB89913EaMou3btCo/+HMqwYcOYMmUKL7/8coPCTnZ2Nt9///1+6+tGmBpq+PDh/OpXvwqfyvr222+ZNGlSRJsTTjiBqqqqw/6tRESXnotIiN1uZ+TIkfzzn//k66+/3m97/Uu660ZU6o9iLFmyhKKiougXegQGDRqEw+Fg+vTpEevrX759KPn5+QwZMoS//e1vvPXWW/tt93g83H777eH3J5xwAuvWrYv4Xa1atYrFixcfUd1ZWVkUFBTw2muvMWfOHBITExk+fHhEm5///OcUFRXx3nvv7ff5srIyfD7fER1TJJ5pZEekhXn++ed5991391t/66238vDDD/PRRx/Rv39/brrpJnr27Mnu3btZsWIFH3zwAbt37wbgkksu4Y033uDyyy9n6NChbNy4kRkzZtCzZ0+qqqpi3aWDys3N5dZbb+Wxxx7j0ksvZciQIaxatYr58+fTpk2biFGpg3nppZe48MILGTFiBMOGDWPQoEGkpqayYcMG5syZw7Zt28L32rnhhht4/PHHKSgo4MYbb6S0tJQZM2bQq1evBk24ru8Xv/gFv/zlL3nmmWcoKCjYb87QHXfcwdtvv80ll1zCmDFj6Nu3L9XV1axevZrXX3+dTZs2RZz2EmnJFHZEWph9RznqjBkzhg4dOrB06VIeeOAB3njjDZ555hlat25Nr169Iu57M2bMGEpKSvjrX//Ke++9R8+ePXn55ZeZO3cuH3/8cYx60jCPPPIIKSkpPPvss3zwwQfk5+fz/vvvc84555CUlHTYz7dt25bPPvuMZ555hldffZW77roLj8dD586dufTSS7n11lvDbXv06MFLL73E5MmTmThxIj179uTvf/87s2fPPuLfy6WXXkpycjKVlZURV2HVSUlJYdGiRTz00EPMnTuXl156iYyMDE466STuv/9+MjMzj+h4IvHMMBtrJp+ISDNRVlZGdnY2f/jDHxrtcQ8i0nRpzo6IxLXa2tr91tXdXfhAj3YQkfij01giEtdeffVVXnjhBS6++GLS0tL49NNP+cc//sGFF17IwIEDrS5PRGJAYUdE4lrv3r1xOBxMnTqVioqK8KTlP/zhD1aXJiIxojk7IiIiEtc0Z0dERETimsKOiIiIxDXN2SH4jJmtW7eSnp7eoJuMiYiIiPVM06SyspL27dtjsx18/EZhB9i6dSsdO3a0ugwRERE5Clu2bKFDhw4H3a6wA6SnpwPBX1ZGRobF1YiIiEhDVFRU0LFjx/D3+MEo7ED41FVGRobCjoiISDNzuCkomqAsIiIicU1hR0REROKawo6IiIjENc3ZERERAfx+P16v1+oypJ6EhATsdvsx70dhR0REWjTTNCkpKaGsrMzqUuQAsrKyyMvLO6b74CnsiIhIi1YXdHJyckhJSdHNZZsI0zSpqamhtLQUgHbt2h31vhR2RESkxfL7/eGg07p1a6vLkX0kJycDUFpaSk5OzlGf0tIEZRERabHq5uikpKRYXIkcTN3f5ljmUynsiIhIi6dTV01XY/xtFHZEREQkrinsiIiINEPnn38+EyZMsLqMZkFhR0REROKawk4U7apys3lXNS6v3+pSREREWiyFnSga/sxizvvTx6zZVmF1KSIiEsf27NnDddddR3Z2NikpKVx00UVs2LAhvH3z5s0MGzaM7OxsUlNT6dWrF//5z3/Cnx01ahRt27YlOTmZbt26MWvWLKu6EhW6z04UpSYGf701bo3siIg0F6ZpUmvRiHxygv2orj4aM2YMGzZs4O233yYjI4M777yTiy++mDVr1pCQkEBhYSEej4dPPvmE1NRU1qxZQ1paGgD33HMPa9asYf78+bRp04bvvvuO2traxu6apSwPOz/++CN33nkn8+fPp6amhhNPPJFZs2bRr18/IPgf3b333suzzz5LWVkZAwcOZPr06XTr1i28j927dzN+/Hj+/e9/Y7PZGDlyJH/+85/Df0irpCQGb35U7fFZWoeIiDRcrddPz8nvWXLsNQ8UkJJ4ZF/NdSFn8eLFnH322QC88sordOzYkbfeeosrr7yS4uJiRo4cyamnngrA8ccfH/58cXExffr0CX/vdunSpXE604RYehprz549DBw4kISEBObPn8+aNWt47LHHyM7ODreZOnUqTz75JDNmzGDJkiWkpqZSUFCAy+UKtxk1ahTffPMNCxYsYN68eXzyySeMHTvWii5FSHWGRnYUdkREJErWrl2Lw+Ggf//+4XWtW7fm5JNPZu3atQD85je/4Q9/+AMDBw7k3nvv5auvvgq3veWWW5gzZw6nn346v/vd7/jss89i3odos3Rk55FHHqFjx44R5wa7du0afm2aJtOmTePuu+/msssuA+Cll14iNzeXt956i6uuuoq1a9fy7rvvsmzZsnAq/ctf/sLFF1/Mo48+Svv27WPbqXqSE0IjOzqNJSLSbCQn2FnzQIFlx46G//u//6OgoIB33nmH999/nylTpvDYY48xfvx4LrroIjZv3sx//vMfFixYwKBBgygsLOTRRx+NSi1WsHRk5+2336Zfv35ceeWV5OTk0KdPH5599tnw9o0bN1JSUsLgwYPD6zIzM+nfvz9FRUUAFBUVkZWVFQ46AIMHD8Zms7FkyZIDHtftdlNRURGxRINGdkREmh/DMEhJdFiyHM18nR49euDz+SK+83bt2sX69evp2bNneF3Hjh25+eabeeONN/jtb38b8X3btm1bRo8ezcsvv8y0adOYOXPmsf0SmxhLw873338fnn/z3nvvccstt/Cb3/yGF198EQg+iRYgNzc34nO5ubnhbSUlJeTk5ERsdzgctGrVKtxmX1OmTCEzMzO8dOzYsbG7Buyds1Pj0ciOiIhER7du3bjsssu46aab+PTTT1m1ahW//OUvOe6448JnRSZMmMB7773Hxo0bWbFiBR999BE9evQAYPLkyfzrX//iu+++45tvvmHevHnhbfHC0rATCAQ444wzeOihh+jTpw9jx47lpptuYsaMGVE97qRJkygvLw8vW7Zsicpx9o7sKOyIiEj0zJo1i759+3LJJZeQn5+PaZr85z//ISEhAQg+3b2wsJAePXowZMgQTjrpJJ555hkAEhMTmTRpEr179+YnP/kJdrudOXPmWNmdRmfpnJ127dpFDLFBcDjun//8JwB5eXkAbN++nXbt2oXbbN++ndNPPz3cprS0NGIfPp+P3bt3hz+/L6fTidPpbKxuHNSZu+eRYP+WQNXVQHylZBERsdbHH38cfp2dnc1LL7100LZ/+ctfDrrt7rvv5u67727M0pocS0d2Bg4cyPr16yPWffvtt3Tu3BkITlbOy8tj4cKF4e0VFRUsWbKE/Px8APLz8ykrK2P58uXhNh9++CGBQCBiZroVzvrxJe5IeI2U6uiMHImIiMjhWTqyc9ttt3H22Wfz0EMP8fOf/5ylS5cyc+bM8MQowzCYMGECf/jDH+jWrRtdu3blnnvuoX379gwfPhwgPCRXd/rL6/Uybtw4rrrqKkuvxALwJ6RALQTc1ZbWISIi0pJZGnbOPPNM3nzzTSZNmsQDDzxA165dmTZtGqNGjQq3+d3vfkd1dTVjx46lrKyMc845h3fffZekpKRwm1deeYVx48YxaNCg8E0Fn3zySSu6FCGQkBp84VHYERERsYrld1C+5JJLuOSSSw663TAMHnjgAR544IGDtmnVqhWzZ8+ORnnHxExIAcDmVdgRERGxih4EGkVGYvBxFTZfjcWViIiItFwKO1FkOIOnsRR2RERErKOwE0U2Z3BkJ0FhR0RExDIKO1FkD4Udh19hR0RExCoKO1HkSAqGHWfAhT9gWlyNiIhIy6SwE0UJKekApBouar16ZISIiDQdXbp0Ydq0aQ1qaxgGb731VlTriSaFnShyJAXDTjJuatx68rmIiIgVFHaiyEgMXo2ViotqPQxURETEEgo70RS6z06K4aJaIzsiItJIZs6cSfv27QkEAhHrL7vsMm644Qb+97//cdlll5Gbm0taWhpnnnkmH3zwQaMdf/Xq1VxwwQUkJyfTunVrxo4dS1VVVXj7xx9/zFlnnUVqaipZWVkMHDiQzZs3A7Bq1Sp++tOfkp6eTkZGBn379uWLL75otNoORGEnmhKDd1BOxU2NRnZERJoH0ww+5seKxWzYxSxXXnklu3bt4qOPPgqv2717N++++y6jRo2iqqqKiy++mIULF/Lll18yZMgQhg0bRnFx8TH/eqqrqykoKCA7O5tly5Yxd+5cPvjgA8aNGweAz+dj+PDhnHfeeXz11VcUFRUxduxYDMMAYNSoUXTo0IFly5axfPlyfv/735OQkHDMdR2K5Y+LiGuh01jJhpsfPBrZERFpFrw18JBFD5L+f1vD3x2Hkp2dzUUXXcTs2bMZNGgQAK+//jpt2rThpz/9KTabjdNOOy3c/sEHH+TNN9/k7bffDoeSozV79mxcLhcvvfQSqanBWp966imGDRvGI488QkJCAuXl5VxyySWccMIJQPCh3XWKi4u544476N69OwDdunU7pnoaQiM70RQ6jZWKixq3RnZERKTxjBo1in/+85+43W4g+FDsq666CpvNRlVVFbfffjs9evQgKyuLtLQ01q5d2ygjO2vXruW0004LBx2AgQMHEggEWL9+Pa1atWLMmDEUFBQwbNgw/vznP7Nt27Zw24kTJ/J///d/DB48mIcffpj//e9/x1zT4WhkJ5pC6TwFFzUa2RERaR4SUoIjLFYdu4GGDRuGaZq88847nHnmmfz3v//liSeeAOD2229nwYIFPProo5x44okkJydz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qzRnR0REJBocR/Oh888/n507d1JRUUF2dnZ4/dixY0lJSWm04uJe3cgOlezQyI6IiEhUHNXITm1tLW63Oxx0Nm/ezLRp01i/fj05OTmNWmBcC43spBpuyioqLS5GREQkPh1V2Lnssst46aWXACgrK6N///489thjDB8+nOnTpzdqgXHNmYlpBP8Enko9DFRERCQajirsrFixgnPPPReA119/ndzcXDZv3sxLL73Ek08+2agFxjWbjYAzEwB/tcKOiIhINBxV2KmpqSE9PR2A999/nxEjRmCz2RgwYACbN29u1ALjXujy8wR3OW6f3+JiRERE4s9RhZ0TTzyRt956iy1btvDee+9x4YUXAlBaWkpGRkajFhjvbKnBS/WzjUp26YosERGRRndUYWfy5MncfvvtdOnShbPOOov8/HwgOMrTp0+fRi0w3hmpbQFoY5TrXjsiIiJRcFSXnl9xxRWcc845bNu2LXyPHYBBgwZx+eWXN1pxLUJa8Oo1hR0REZHoOKqwA5CXl0deXl746ecdOnTQDQWPRijstKWcnZU6jSUiItLYjuo0ViAQ4IEHHiAzM5POnTvTuXNnsrKyePDBBwkEAo1dY3yrN7KjGwuKiIg0vqMKO3fddRdPPfUUDz/8MF9++SVffvklDz30EH/5y1+45557Gryf6dOn07t3bzIyMsjIyCA/P5/58+eHt7tcLgoLC2ndujVpaWmMHDmS7du3R+yjuLiYoUOHkpKSQk5ODnfccQc+n+9oumWN1NDIjlHGjkqFHRERkcZ2VKexXnzxRf72t7+Fn3YO0Lt3b4477jh+/etf88c//rFB++nQoQMPP/ww3bp1wzRNXnzxRS677DK+/PJLevXqxW233cY777zD3LlzyczMZNy4cYwYMYLFixcD4Pf7GTp0KHl5eXz22Wds27aN6667joSEBB566KGj6VrspeUC0AbN2REREYkGwzRN80g/lJSUxFdffcVJJ50UsX79+vWcfvrp1NbWHnVBrVq14k9/+hNXXHEFbdu2Zfbs2VxxxRUArFu3jh49elBUVMSAAQOYP38+l1xyCVu3biU3NxgaZsyYwZ133smOHTtITExs0DErKirIzMykvLw89pfO7/4enuxDrZnI9e3/xZxfnR3b44uIiDRTDf3+PqrTWKeddhpPPfXUfuufeuopevfufTS7xO/3M2fOHKqr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aU7qvrfrvscPxjAP16IF+OGHHzRJWUREpJnasmULHTp0OOh2hR2Cc3y2bt1Keno6hmE02n4rKiro2LEjW7ZsaTHzglpan1taf6Hl9bml9RdaXp9bWn8hfvpsmiaVlZW0b98em+3g05Dj4jTWsbLZbIdMhMeqJU6Cbml9bmn9hZbX55bWX2h5fW5p/YX46HNmZuZh2zT7q7FEREREDkVhR0REROKawk4UOZ1O7r33XpxOp9WlxExL63NL6y+0vD63tP5Cy+tzS+svtLw+a4KyiIiIxDWN7IiIiEhcU9gRERGRuKawIyIiInFNYUdERETimsJOFD399NN06dKFpKQk+vfvz9KlS60uqVFMmTKFM888k/T0dHJychg+fDjr16+PaONyuSgsLKR169akpaUxcuRItm/fblHFjevhhx/GMAwmTJgQXheP/f3xxx/55S9/SevWrUlOTubUU0/liy++CG83TZPJkyfTrl07kpOTGTx4MBs2bLCw4qPn9/u555576Nq1K8nJyZxwwgk8+OCDEc/bae79/eSTTxg2bBjt27fHMAzeeuutiO0N6d/u3bsZNWoUGRkZZGVlceONN1JVVRXDXhyZQ/XZ6/Vy5513cuqpp5Kamkr79u257rrr2Lp1a8Q+mlOfD/c3ru/mm2/GMAymTZsWsb459fdIKOxEyauvvsrEiRO59957WbFiBaeddhoFBQWUlpZaXdoxW7RoEYWFhXz++ecsWLAAr9fLhRdeSHV1dbjNbbfdxr///W/mzp3LokWL2Lp1KyNGjLCw6saxbNky/vrXv9K7d++I9fHW3z179jBw4EASEhKYP38+a9as4bHHHiM7OzvcZurUqTz55JPMmDGDJUuWkJqaSkFBAS6Xy8LKj84jjzzC9OnTeeqpp1i7di2PPPIIU6dO5S9/+Uu4TXPvb3V1NaeddhpPP/30Abc3pH+jRo3im2++YcGCBcybN49PPvmEsWPHxqoLR+xQfa6pqWHFihXcc889rFixgjfeeIP169dz6aWXRrRrTn0+3N+4zptvvsnnn39O+/bt99vWnPp7REyJirPOOsssLCwMv/f7/Wb79u3NKVOmWFhVdJSWlpqAuWjRItM0TbOsrMxMSEgw586dG26zdu1aEzCLioqsKvOYVVZWmt26dTMXLFhgnnfeeeatt95qmmZ89vfOO+80zznnnINuDwQCZl5envmnP/0pvK6srMx0Op3mP/7xj1iU2KiGDh1q3nDDDRHrRowYYY4aNco0zfjrL2C++eab4fcN6d+aNWtMwFy2bFm4zfz5803DMMwff/wxZrUfrX37fCBLly41AXPz5s2maTbvPh+svz/88IN53HHHmV9//bXZuXNn84knnghva879PRyN7ESBx+Nh+fLlDB48OLzOZrMxePBgioqKLKwsOsrLywFo1aoVAMuXL8fr9Ub0v3v37nTq1KlZ97+wsJChQ4dG9Avis79vv/02/fr148orryQnJ4c+ffrw7LPPhrdv3LiRkpKSiD5nZmbSv3//Ztnns88+m4ULF/Ltt98CsGrVKj799FMuuugiIP76u6+G9K+oqIisrCz69esXbjN48GBsNhtLliyJec3RUF5ejmEYZGVlAfHX50AgwLXXXssdd9xBr1699tseb/2tTw8CjYKdO3fi9/vJzc2NWJ+bm8u6dessqio6AoEAEyZMYODAgZxyyikAlJSUkJiYGP4Ho05ubi4lJSUWVHns5syZw4oVK1i2bNl+2+Kxv99//z3Tp09n4sSJ/L//9/9YtmwZv/nNb0hMTGT06NHhfh3ov/Hm2Off//73VFRU0L17d+x2O36/nz/+8Y+MGjUKIO76u6+G9K+kpIScnJyI7Q6Hg1atWsXF78DlcnHnnXdy9dVXhx+MGW99fuSRR3A4HPzmN7854PZ46299CjtyTAoLC/n666/59NNPrS4larZs2cKtt97KggULSEpKsrqcmAgEAvTr14+HHnoIgD59+vD1118zY8YMRo8ebXF1je+1117jlVdeYfbs2fTq1YuVK1cyYcIE2rdvH5f9lUher5ef//znmKbJ9OnTrS4nKpYvX86f//xnVqxYgWEYVpcTczqNFQVt2rTBbrfvdzXO9u3bycvLs6iqxjdu3DjmzZvHRx99RIcOHcLr8/Ly8Hg8lJWVRbRvrv1fvnw5paWlnHHGGTgcDhwOB4sWLeLJJ5/E4XCQm5sbV/0FaNeuHT179oxY16NHD4qLiwHC/YqX/8bvuOMOfv/733PVVVdx6qmncu2113LbbbcxZcoUIP76u6+G9C8vL2+/Cyx8Ph+7d+9u1r+DuqCzefNmFixYEB7Vgfjq83//+19KS0vp1KlT+N+xzZs389vf/pYuXboA8dXffSnsREFiYiJ9+/Zl4cKF4XWBQICFCxeSn59vYWWNwzRNxo0bx5tvvsmHH35I165dI7b37duXhISEiP6vX7+e4uLiZtn/QYMGsXr1alauXBle+vXrx6hRo8Kv46m/AAMHDtzvdgLffvstnTt3BqBr167k5eVF9LmiooIlS5Y0yz7X1NRgs0X+c2i32wkEAkD89XdfDelffn4+ZWVlLF++PNzmww8/JBAI0L9//5jX3Bjqgs6GDRv44IMPaN26dcT2eOrztddey1dffRXx71j79u254447eO+994D46u9+rJ4hHa/mzJljOp1O84UXXjDXrFljjh071szKyjJLSkqsLu2Y3XLLLWZmZqb58ccfm9u2bQsvNTU14TY333yz2alTJ/PDDz80v/jiCzM/P9/Mz8+3sOrGVf9qLNOMv/4uXbrUdDgc5h//+Edzw4YN5iuvvGKmpKSYL7/8crjNww8/bGZlZZn/+te/zK+++sq87LLLzK5du5q1tbUWVn50Ro8ebR533HHmvHnzzI0bN5pvvPGG2aZNG/N3v/tduE1z729lZaX55Zdfml9++aUJmI8//rj55Zdfhq88akj/hgwZYvbp08dcsmSJ+emnn5rdunUzr776aqu6dFiH6rPH4zEvvfRSs0OHDubKlSsj/i1zu93hfTSnPh/ub7yvfa/GMs3m1d8jobATRX/5y1/MTp06mYmJieZZZ51lfv7551aX1CiAAy6zZs0Kt6mtrTV//etfm9nZ2WZKSop5+eWXm9u2bbOu6Ea2b9iJx/7++9//Nk855RTT6XSa3bt3N2fOnBmxPRAImPfcc4+Zm5trOp1Oc9CgQeb69estqvbYVFRUmLfeeqvZqVMnMykpyTz++OPNu+66K+JLr7n396OPPjrg/25Hjx5tmmbD+rdr1y7z6quvNtPS0syMjAzz+uuvNysrKy3oTcMcqs8bN2486L9lH330UXgfzanPh/sb7+tAYac59fdIGKZZ7xahIiIiInFGc3ZEREQkrinsiIiISFxT2BEREZG4prAjIiIicU1hR0REROKawo6IiIjENYUdERERiWsKOyIigGEYvPXWW1aXISJRoLAjIpYbM2YMhmHstwwZMsTq0kQkDjisLkBEBGDIkCHMmjUrYp3T6bSoGhGJJxrZEZEmwel0kpeXF7FkZ2cDwVNM06dP56KLLiI5OZnjjz+e119/PeLzq1ev5oILLiA5OZnWrVszduxYqqqqIto8//zz9OrVC6fTSbt27Rg3blzE9p07d3L55ZeTkpJCt27dePvtt8Pb9uzZw6hRo2jbti3Jycl069Ztv3AmIk2Two6INAv33HMPI0eOZNWqVYwaNYqrrrqKtWvXAlBdXU1BQQHZ2dksW7aMuXPn8sEHH0SEmenTp1NYWMjYsWNZvXo1b7/9NieeeGLEMe6//35+/vOf89VXX3HxxRczatQodu/eHT7+mjVrmD9/PmvXrmX69Om0adMmdr8AETl6Vj+JVERk9OjRpt1uN1NTUyOWP/7xj6ZpmiZg3nzzzRGf6d+/v3nLLbeYpmmaM2fONLOzs82qqqrw9nfeece02WxmSUmJaZqm2b59e/Ouu+46aA2Aeffdd4ffV1VVmYA5f/580zRNc9iwYeb111/fOB0WkZjSnB0RaRJ++tOfMn369Ih1rVq1Cr/Oz8+P2Jafn8/KlSsBWLt2Laeddhqpqanh7QMHDiQQCLB+/XoMw2Dr1q0MGjTokDX07t07/Do1NZWMjAxKS0sBuOWWWxg5ciQrVqzgwgsvZPjw4Zx99tlH1VcRiS2FHRFpElJTU/c7rdRYkpOTG9QuISEh4r1hGAQCAQAuuugiNm/ezH/+8x8WLFjAoEGDKCws5NFHH230ekWkcWnOjog0C59//vl+73v06AFAjx49WLVqFdXV1eHtixcvxmazcfLJJ5Oenk6XLl1YuHDhMdXQtm1bRo8ezcsvv8y0adOYOXPmMe1PRGJDIzsi0iS43W5KSkoi1jkcjvAk4Llz59KvXz/OOeccXnnlFZYuXcpzzz0HwKhRo7j33nsZPXo09913Hzt27GD8+PFce+215ObmAnDfffdx8803k5OTw0UXXURlZSWLFy9m/PjxDapv8uTJ9O3bl169euF2u5k3b144bIlI06awIyJNwrvvvku7du0i1p188smsW7cOCF4pNWfOHH7961/Trl07/vGPf9CzZ08AUlJSeO+997j11ls588wzSUlJYeTIkTz++OPhfY0ePRqXy8UTTzzB7bffTps2bbjiiisaXF9iYiKTJk1i06ZNJCcnc+655zJnzpxG6LmIRJthmqZpdREiIodiGAZvvvkmw4cPt7oUEWmGNGdHRERE4prCjoiIiMQ1zdkRkSZPZ9tF5FhoZEdERETimsKOiIiIxDWFHREREYlrCjsiIiIS1xR2REREJK4p7IiIiEhcU9gRERGRuKawIyIiInFNYUdERETi2v8HgM7drrSGUuwAAAAASUVORK5CYII=\n" + }, + "metadata": {} + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "# Sauvegarder le Modèle" + ], + "metadata": { + "id": "vLIwr8Zud1lM" + } + }, + { + "cell_type": "code", + "source": [ + "sigmoid = Sigmoid()\n", + "model = Model([ Dense(neurons=13, activation=sigmoid),\n", + " Dense(neurons=1),\n", + "\n", + " ])" + ], + "metadata": { + "id": "M2QYLPdkcGQK" + }, + "execution_count": 4802, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "mse = Loss()\n", + "model.compile(loss=mse, learning_rate=0.0001)\n", + "h = model.fit(X_train, y_train, epochs=10, validation_data=(X_test, y_test))" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "uv2ip9IWfUZG", + "outputId": "0b8e62eb-2e7e-4c96-a39c-ab71656e7744" + }, + "execution_count": 4803, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Epoch 1 .............. loss : 609.4535263872165 ....val_loss : 594.285047596059\n", + "Epoch 2 .............. loss : 494.7172454598782 ....val_loss : 479.0339597155269\n", + "Epoch 3 .............. loss : 403.8643944989146 ....val_loss : 388.125852443045\n", + "Epoch 4 .............. loss : 331.0559254119759 ....val_loss : 315.67394558965\n", + "Epoch 5 .............. loss : 272.44802631944543 ....val_loss : 257.80096535791387\n", + "Epoch 6 .............. loss : 225.32104126553727 ....val_loss : 211.7461595039089\n", + "Epoch 7 .............. loss : 187.60578616146617 ....val_loss : 175.37471756759948\n", + "Epoch 8 .............. loss : 157.62037539699094 ....val_loss : 146.91491099254424\n", + "Epoch 9 .............. loss : 133.9379615740088 ....val_loss : 124.84238208175846\n", + "Epoch 10 .............. loss : 115.33306807953525 ....val_loss : 107.84460906755527\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "model.save_model('model.file')" + ], + "metadata": { + "id": "68XkQSFpffij" + }, + "execution_count": 4804, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "import pickle\n", + "\n", + "def load_model(file):\n", + " with open(file, 'rb') as f:\n", + " model_load = pickle.load(f)\n", + " return model_load" + ], + "metadata": { + "id": "xaBhDm2NflDU" + }, + "execution_count": 4805, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "model_loaded = load_model(\"model.file\")\n", + "model_loaded" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "S1lP91iLf0zc", + "outputId": "f9580111-5011-424b-a1da-fee894e66b99" + }, + "execution_count": 4806, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "Layers ................. \n", + " - DenseLayer(neurons=13) avec Sigmoid \n", + " - DenseLayer(neurons=1)" + ] + }, + "metadata": {}, + "execution_count": 4806 + } + ] + }, + { + "cell_type": "code", + "source": [], + "metadata": { + "id": "gi_nfVmvf4fy" + }, + "execution_count": 4806, + "outputs": [] + } + ] +} \ No newline at end of file diff --git a/06-Recurent Neural Network.ipynb b/06-Recurent Neural Network.ipynb index 2fc1b00..3c005ba 100644 --- a/06-Recurent Neural Network.ipynb +++ b/06-Recurent Neural Network.ipynb @@ -1 +1,1257 @@ -{"nbformat":4,"nbformat_minor":0,"metadata":{"colab":{"provenance":[],"toc_visible":true,"gpuType":"T4","authorship_tag":"ABX9TyN2zueP4Pxej4BUNBOLVD+u"},"kernelspec":{"name":"python3","display_name":"Python 3"},"language_info":{"name":"python"},"accelerator":"GPU"},"cells":[{"cell_type":"markdown","source":["# Dataset (https://www.kaggle.com/datasets/kazanova/sentiment140)"],"metadata":{"id":"90s3T2S-eWI2"}},{"cell_type":"code","source":["from google.colab import drive\n","drive.mount('/gdrive')"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"Ym_RQnRXef83","executionInfo":{"status":"ok","timestamp":1687966312411,"user_tz":-60,"elapsed":19084,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"458b14f3-d1cc-49da-bac3-75a530cefaf6"},"execution_count":3,"outputs":[{"output_type":"stream","name":"stdout","text":["Mounted at /gdrive\n"]}]},{"cell_type":"code","source":["folder = '/gdrive/MyDrive/deep_learning_course/data/tweets/'"],"metadata":{"id":"oTJ-Ni99epH_","executionInfo":{"status":"ok","timestamp":1687966312411,"user_tz":-60,"elapsed":5,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}}},"execution_count":4,"outputs":[]},{"cell_type":"code","source":["!ls '/gdrive/MyDrive/deep_learning_course/data/tweets/'"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"qifx-sJefEC1","executionInfo":{"status":"ok","timestamp":1687963867220,"user_tz":-60,"elapsed":688,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"94f26cf3-3b74-4821-f097-3c70d93ba3d3"},"execution_count":4,"outputs":[{"output_type":"stream","name":"stdout","text":[" glove.6B.50d.txt\n","'training.1600000 (1).processed.noemoticon.csv'\n"," training.1600000.processed.noemoticon.csv\n"]}]},{"cell_type":"code","source":["import pandas as pd"],"metadata":{"id":"E8H8kFFFfJEA","executionInfo":{"status":"ok","timestamp":1687966315809,"user_tz":-60,"elapsed":1018,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}}},"execution_count":5,"outputs":[]},{"cell_type":"code","source":["df = pd.read_csv(folder + \"training.1600000.processed.noemoticon.csv\", encoding=\"latin\", header=None)"],"metadata":{"id":"tT1DM-mxfMwM","executionInfo":{"status":"ok","timestamp":1687966321682,"user_tz":-60,"elapsed":5877,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}}},"execution_count":6,"outputs":[]},{"cell_type":"code","source":["df.head()"],"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":337},"id":"NxmxZaLwfTNh","executionInfo":{"status":"ok","timestamp":1687963971993,"user_tz":-60,"elapsed":9,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"b5802e01-e2df-43b2-b874-80877b5502a6"},"execution_count":10,"outputs":[{"output_type":"execute_result","data":{"text/plain":[" 0 1 2 3 4 \\\n","0 0 1467810369 Mon Apr 06 22:19:45 PDT 2009 NO_QUERY _TheSpecialOne_ \n","1 0 1467810672 Mon Apr 06 22:19:49 PDT 2009 NO_QUERY scotthamilton \n","2 0 1467810917 Mon Apr 06 22:19:53 PDT 2009 NO_QUERY mattycus \n","3 0 1467811184 Mon Apr 06 22:19:57 PDT 2009 NO_QUERY ElleCTF \n","4 0 1467811193 Mon Apr 06 22:19:57 PDT 2009 NO_QUERY Karoli \n","\n"," 5 \n","0 @switchfoot http://twitpic.com/2y1zl - Awww, t... \n","1 is upset that he can't update his Facebook by ... \n","2 @Kenichan I dived many times for the ball. Man... \n","3 my whole body feels itchy and like its on fire \n","4 @nationwideclass no, it's not behaving at all.... "],"text/html":["\n","
\n","
\n","
\n","\n","\n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n","
012345
001467810369Mon Apr 06 22:19:45 PDT 2009NO_QUERY_TheSpecialOne_@switchfoot http://twitpic.com/2y1zl - Awww, t...
101467810672Mon Apr 06 22:19:49 PDT 2009NO_QUERYscotthamiltonis upset that he can't update his Facebook by ...
201467810917Mon Apr 06 22:19:53 PDT 2009NO_QUERYmattycus@Kenichan I dived many times for the ball. Man...
301467811184Mon Apr 06 22:19:57 PDT 2009NO_QUERYElleCTFmy whole body feels itchy and like its on fire
401467811193Mon Apr 06 22:19:57 PDT 2009NO_QUERYKaroli@nationwideclass no, it's not behaving at all....
\n","
\n"," \n"," \n"," \n","\n"," \n","
\n","
\n"," "]},"metadata":{},"execution_count":10}]},{"cell_type":"code","source":["df = df.iloc[:,[0, 5]]"],"metadata":{"id":"SVc7-JcqfaNv","executionInfo":{"status":"ok","timestamp":1687966322383,"user_tz":-60,"elapsed":704,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}}},"execution_count":7,"outputs":[]},{"cell_type":"code","source":["df.head()"],"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":206},"id":"u6ZdHebMftKF","executionInfo":{"status":"ok","timestamp":1687964039328,"user_tz":-60,"elapsed":4,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"2bced0b8-455c-4aaf-9ab7-808e807569dd"},"execution_count":14,"outputs":[{"output_type":"execute_result","data":{"text/plain":[" 0 5\n","0 0 @switchfoot http://twitpic.com/2y1zl - Awww, t...\n","1 0 is upset that he can't update his Facebook by ...\n","2 0 @Kenichan I dived many times for the ball. Man...\n","3 0 my whole body feels itchy and like its on fire \n","4 0 @nationwideclass no, it's not behaving at all...."],"text/html":["\n","
\n","
\n","
\n","\n","\n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n","
05
00@switchfoot http://twitpic.com/2y1zl - Awww, t...
10is upset that he can't update his Facebook by ...
20@Kenichan I dived many times for the ball. Man...
30my whole body feels itchy and like its on fire
40@nationwideclass no, it's not behaving at all....
\n","
\n"," \n"," \n"," \n","\n"," \n","
\n","
\n"," "]},"metadata":{},"execution_count":14}]},{"cell_type":"code","source":["df.columns = ['sentiment', 'tweet']"],"metadata":{"id":"2qe0gEOUfyyO","executionInfo":{"status":"ok","timestamp":1687966322384,"user_tz":-60,"elapsed":3,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}}},"execution_count":8,"outputs":[]},{"cell_type":"code","source":["df.head()"],"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":206},"id":"_mLVsxYif4p6","executionInfo":{"status":"ok","timestamp":1687964072954,"user_tz":-60,"elapsed":4,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"1ac6b65d-88d1-4ce4-9f53-5baa181d0e2a"},"execution_count":17,"outputs":[{"output_type":"execute_result","data":{"text/plain":[" sentiment tweet\n","0 0 @switchfoot http://twitpic.com/2y1zl - Awww, t...\n","1 0 is upset that he can't update his Facebook by ...\n","2 0 @Kenichan I dived many times for the ball. Man...\n","3 0 my whole body feels itchy and like its on fire \n","4 0 @nationwideclass no, it's not behaving at all...."],"text/html":["\n","
\n","
\n","
\n","\n","\n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n","
sentimenttweet
00@switchfoot http://twitpic.com/2y1zl - Awww, t...
10is upset that he can't update his Facebook by ...
20@Kenichan I dived many times for the ball. Man...
30my whole body feels itchy and like its on fire
40@nationwideclass no, it's not behaving at all....
\n","
\n"," \n"," \n"," \n","\n"," \n","
\n","
\n"," "]},"metadata":{},"execution_count":17}]},{"cell_type":"code","source":["df['sentiment'].value_counts()"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"atLo_mQlf5lJ","executionInfo":{"status":"ok","timestamp":1687964091384,"user_tz":-60,"elapsed":2,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"cd277ae9-b57a-4179-85d5-61bdf5b0cade"},"execution_count":18,"outputs":[{"output_type":"execute_result","data":{"text/plain":["0 800000\n","4 800000\n","Name: sentiment, dtype: int64"]},"metadata":{},"execution_count":18}]},{"cell_type":"code","source":["sents = {0:\"negatif\", 4:\"positif\"}"],"metadata":{"id":"U8neNWDBgADO","executionInfo":{"status":"ok","timestamp":1687966325316,"user_tz":-60,"elapsed":3,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}}},"execution_count":9,"outputs":[]},{"cell_type":"code","source":["sents[0]"],"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":35},"id":"hhxbDNa7gU0e","executionInfo":{"status":"ok","timestamp":1687964183940,"user_tz":-60,"elapsed":5,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"6bb70f47-7d40-4752-8cc3-99ddd0ae248e"},"execution_count":20,"outputs":[{"output_type":"execute_result","data":{"text/plain":["'negatif'"],"application/vnd.google.colaboratory.intrinsic+json":{"type":"string"}},"metadata":{},"execution_count":20}]},{"cell_type":"code","source":["df['sentiment'] = df['sentiment'].replace(sents)"],"metadata":{"id":"5sdwbA-LgXY9","executionInfo":{"status":"ok","timestamp":1687966327473,"user_tz":-60,"elapsed":2,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}}},"execution_count":10,"outputs":[]},{"cell_type":"code","source":["df.head()"],"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":206},"id":"4S1PAZJpgwtI","executionInfo":{"status":"ok","timestamp":1687964310755,"user_tz":-60,"elapsed":3,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"265680f4-a547-4de0-93e8-0e611e7c07d3"},"execution_count":23,"outputs":[{"output_type":"execute_result","data":{"text/plain":[" sentiment tweet\n","0 negatif @switchfoot http://twitpic.com/2y1zl - Awww, t...\n","1 negatif is upset that he can't update his Facebook by ...\n","2 negatif @Kenichan I dived many times for the ball. Man...\n","3 negatif my whole body feels itchy and like its on fire \n","4 negatif @nationwideclass no, it's not behaving at all...."],"text/html":["\n","
\n","
\n","
\n","\n","\n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n","
sentimenttweet
0negatif@switchfoot http://twitpic.com/2y1zl - Awww, t...
1negatifis upset that he can't update his Facebook by ...
2negatif@Kenichan I dived many times for the ball. Man...
3negatifmy whole body feels itchy and like its on fire
4negatif@nationwideclass no, it's not behaving at all....
\n","
\n"," \n"," \n"," \n","\n"," \n","
\n","
\n"," "]},"metadata":{},"execution_count":23}]},{"cell_type":"code","source":["df.sample(10)"],"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":363},"id":"FFtSMHI3g1oq","executionInfo":{"status":"ok","timestamp":1687964329102,"user_tz":-60,"elapsed":458,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"fe368a2f-e3da-4fba-d3a5-e1f8ee51612d"},"execution_count":24,"outputs":[{"output_type":"execute_result","data":{"text/plain":[" sentiment tweet\n","1002560 positif We'll make a post with links to other reports ...\n","1426824 positif @KatyHerndon Zappos... how long have you bee...\n","1189814 positif I have decided i am going to blow up apangea \n","1598714 positif My fagmA has arrived http://twitpic.com/7jn39\n","1583054 positif Looking through Chris Pirillo's list of top 10...\n","540609 negatif This job is causing unwanted hair color. \n","597254 negatif Is starting to feel amazingly emotional about ...\n","1530309 positif @danf2201 I was an English major. I'm now driv...\n","334730 negatif it's lightning and raining pretty hard downtow...\n","192121 negatif @anneroos Hmm... County Cork ballad still is g..."],"text/html":["\n","
\n","
\n","
\n","\n","\n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n","
sentimenttweet
1002560positifWe'll make a post with links to other reports ...
1426824positif@KatyHerndon Zappos... how long have you bee...
1189814positifI have decided i am going to blow up apangea
1598714positifMy fagmA has arrived http://twitpic.com/7jn39
1583054positifLooking through Chris Pirillo's list of top 10...
540609negatifThis job is causing unwanted hair color.
597254negatifIs starting to feel amazingly emotional about ...
1530309positif@danf2201 I was an English major. I'm now driv...
334730negatifit's lightning and raining pretty hard downtow...
192121negatif@anneroos Hmm... County Cork ballad still is g...
\n","
\n"," \n"," \n"," \n","\n"," \n","
\n","
\n"," "]},"metadata":{},"execution_count":24}]},{"cell_type":"markdown","source":["# Preprocessing"],"metadata":{"id":"0ZfHhJnfhKD-"}},{"cell_type":"code","source":["import re"],"metadata":{"id":"YSRWNYF1kw2T","executionInfo":{"status":"ok","timestamp":1687966331331,"user_tz":-60,"elapsed":2,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}}},"execution_count":11,"outputs":[]},{"cell_type":"code","source":["text_cleaning_regex = \"@\\S+|https?:\\S+|http?:\\S+|[^A-Za-z0-9]+\""],"metadata":{"id":"HtE1BAO5kwhL","executionInfo":{"status":"ok","timestamp":1687966332541,"user_tz":-60,"elapsed":1,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}}},"execution_count":12,"outputs":[]},{"cell_type":"code","source":["import nltk"],"metadata":{"id":"UOTo2XBtmJNB","executionInfo":{"status":"ok","timestamp":1687966335015,"user_tz":-60,"elapsed":1345,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}}},"execution_count":13,"outputs":[]},{"cell_type":"code","source":["nltk.download('stopwords')"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"Uetg0UX8mLe6","executionInfo":{"status":"ok","timestamp":1687966335015,"user_tz":-60,"elapsed":4,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"e61d67d2-0641-44e6-f5db-84403dd992b8"},"execution_count":14,"outputs":[{"output_type":"stream","name":"stderr","text":["[nltk_data] Downloading package stopwords to /root/nltk_data...\n","[nltk_data] Unzipping corpora/stopwords.zip.\n"]},{"output_type":"execute_result","data":{"text/plain":["True"]},"metadata":{},"execution_count":14}]},{"cell_type":"code","source":["from nltk.corpus import stopwords\n","from nltk.stem import SnowballStemmer"],"metadata":{"id":"qXEfWdjImQ6R","executionInfo":{"status":"ok","timestamp":1687966806831,"user_tz":-60,"elapsed":383,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}}},"execution_count":27,"outputs":[]},{"cell_type":"code","source":["english_stopwords = stopwords.words('english')"],"metadata":{"id":"k1ma4z2fmWIu","executionInfo":{"status":"ok","timestamp":1687966336484,"user_tz":-60,"elapsed":3,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}}},"execution_count":16,"outputs":[]},{"cell_type":"code","source":["english_stopwords"],"metadata":{"id":"RHSfkqZdmba9"},"execution_count":null,"outputs":[]},{"cell_type":"code","source":["stemmer = SnowballStemmer('english')"],"metadata":{"id":"cPncyhJ-qXpS","executionInfo":{"status":"ok","timestamp":1687966826875,"user_tz":-60,"elapsed":2,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}}},"execution_count":28,"outputs":[]},{"cell_type":"code","source":["stemmer.stem('cats')"],"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":35},"id":"0kTdkPGzqdoX","executionInfo":{"status":"ok","timestamp":1687966844496,"user_tz":-60,"elapsed":5,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"101c978a-61e3-4657-c167-880f409c6768"},"execution_count":29,"outputs":[{"output_type":"execute_result","data":{"text/plain":["'cat'"],"application/vnd.google.colaboratory.intrinsic+json":{"type":"string"}},"metadata":{},"execution_count":29}]},{"cell_type":"code","source":["def preprocess(text):\n","\n"," # les mentions les liens et tout ce qui n'est pas alphanumérique\n"," text_cleaning_regex = \"@\\S+|https?:\\S+|http?:\\S+|[^A-Za-z0-9]+\"\n"," text = re.sub(text_cleaning_regex, \" \", str(text).lower().strip())\n","\n"," tokens = []\n"," # stopwords and stem\n"," for word in text.split(\" \"):\n"," if word not in english_stopwords:\n"," word_stem = stemmer.stem(word)\n"," tokens.append(word_stem)\n","\n"," cleaned_text = \" \".join(tokens).strip()\n","\n","\n"," return cleaned_text"],"metadata":{"id":"ChH7ypBVoGba","executionInfo":{"status":"ok","timestamp":1687966888219,"user_tz":-60,"elapsed":1,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}}},"execution_count":30,"outputs":[]},{"cell_type":"code","source":["preprocess(\"@kevin_degila Hello, I was wondering when your course on deep learning would be available ? http://kevindegila.com\")"],"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":35},"id":"Tr9j2Cuqm7H3","executionInfo":{"status":"ok","timestamp":1687966894844,"user_tz":-60,"elapsed":4,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"e208953d-7498-40f3-f7a9-b92d7dabc56e"},"execution_count":31,"outputs":[{"output_type":"execute_result","data":{"text/plain":["'hello wonder cours deep learn would avail'"],"application/vnd.google.colaboratory.intrinsic+json":{"type":"string"}},"metadata":{},"execution_count":31}]},{"cell_type":"code","source":["df['text'] = df['tweet'].apply(preprocess)"],"metadata":{"id":"6JqLPlyHkpJb","executionInfo":{"status":"ok","timestamp":1687967152461,"user_tz":-60,"elapsed":192498,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}}},"execution_count":32,"outputs":[]},{"cell_type":"code","source":["df.head()"],"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":206},"id":"PAwVcJYvq8a2","executionInfo":{"status":"ok","timestamp":1687967655109,"user_tz":-60,"elapsed":408,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"9540c257-fa9c-4072-88ed-9f4a4c5eec8e"},"execution_count":33,"outputs":[{"output_type":"execute_result","data":{"text/plain":[" sentiment tweet \\\n","0 negatif @switchfoot http://twitpic.com/2y1zl - Awww, t... \n","1 negatif is upset that he can't update his Facebook by ... \n","2 negatif @Kenichan I dived many times for the ball. Man... \n","3 negatif my whole body feels itchy and like its on fire \n","4 negatif @nationwideclass no, it's not behaving at all.... \n","\n"," text \n","0 awww bummer shoulda got david carr third day \n","1 upset updat facebook text might cri result sch... \n","2 dive mani time ball manag save 50 rest go bound \n","3 whole bodi feel itchi like fire \n","4 behav mad see "],"text/html":["\n","
\n","
\n","
\n","\n","\n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n","
sentimenttweettext
0negatif@switchfoot http://twitpic.com/2y1zl - Awww, t...awww bummer shoulda got david carr third day
1negatifis upset that he can't update his Facebook by ...upset updat facebook text might cri result sch...
2negatif@Kenichan I dived many times for the ball. Man...dive mani time ball manag save 50 rest go bound
3negatifmy whole body feels itchy and like its on firewhole bodi feel itchi like fire
4negatif@nationwideclass no, it's not behaving at all....behav mad see
\n","
\n"," \n"," \n"," \n","\n"," \n","
\n","
\n"," "]},"metadata":{},"execution_count":33}]},{"cell_type":"markdown","source":["# Train test split"],"metadata":{"id":"zPlgpFOQt7d4"}},{"cell_type":"code","source":["from sklearn.model_selection import train_test_split"],"metadata":{"id":"IuBRjajOtmAR","executionInfo":{"status":"ok","timestamp":1687967770177,"user_tz":-60,"elapsed":2,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}}},"execution_count":34,"outputs":[]},{"cell_type":"code","source":["train_data, test_data = train_test_split(df, test_size=0.2, stratify=df['sentiment'], random_state=42)"],"metadata":{"id":"-y5KGQ8GuBlH","executionInfo":{"status":"ok","timestamp":1687967850902,"user_tz":-60,"elapsed":7842,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}}},"execution_count":35,"outputs":[]},{"cell_type":"code","source":["len(train_data)"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"xgRGLsXUuT3V","executionInfo":{"status":"ok","timestamp":1687967892032,"user_tz":-60,"elapsed":3,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"ffc07123-1de3-4121-b939-13a6266c8adf"},"execution_count":37,"outputs":[{"output_type":"execute_result","data":{"text/plain":["1280000"]},"metadata":{},"execution_count":37}]},{"cell_type":"code","source":["len(test_data)"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"FWBrJ5DLuZkW","executionInfo":{"status":"ok","timestamp":1687967902333,"user_tz":-60,"elapsed":3,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"a724bd2a-cda2-4625-a1ba-e2e7e20d1552"},"execution_count":38,"outputs":[{"output_type":"execute_result","data":{"text/plain":["320000"]},"metadata":{},"execution_count":38}]},{"cell_type":"code","source":["test_data['sentiment'].value_counts()"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"4ka7qaycuiay","executionInfo":{"status":"ok","timestamp":1687967934006,"user_tz":-60,"elapsed":11,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"34e5e720-0f04-4833-be3e-d411da852376"},"execution_count":40,"outputs":[{"output_type":"execute_result","data":{"text/plain":["negatif 160000\n","positif 160000\n","Name: sentiment, dtype: int64"]},"metadata":{},"execution_count":40}]},{"cell_type":"code","source":["def length(text):\n"," return len(text.split(' '))"],"metadata":{"id":"nCidNFtOviNP","executionInfo":{"status":"ok","timestamp":1687968186261,"user_tz":-60,"elapsed":2,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}}},"execution_count":44,"outputs":[]},{"cell_type":"code","source":["df['len'] = df['text'].apply(length)"],"metadata":{"id":"J2JWB1oSvoM2","executionInfo":{"status":"ok","timestamp":1687968210499,"user_tz":-60,"elapsed":1131,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}}},"execution_count":45,"outputs":[]},{"cell_type":"code","source":["df['len'].min(), df['len'].max(), df['len'].mean(), df['len'].median()"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"0v0D8i-uv7Ku","executionInfo":{"status":"ok","timestamp":1687968300165,"user_tz":-60,"elapsed":2,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"3d3d20df-6318-4046-b252-a4de1b8f86d0"},"execution_count":47,"outputs":[{"output_type":"execute_result","data":{"text/plain":["(1, 50, 7.22946, 7.0)"]},"metadata":{},"execution_count":47}]},{"cell_type":"code","source":["import seaborn as sns\n","sns.displot(df['len'])"],"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":523},"id":"t2PzFYWjwH89","executionInfo":{"status":"ok","timestamp":1687968337710,"user_tz":-60,"elapsed":2629,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"cced0559-c7fc-460f-93ef-e13d3312bf93"},"execution_count":48,"outputs":[{"output_type":"execute_result","data":{"text/plain":[""]},"metadata":{},"execution_count":48},{"output_type":"display_data","data":{"text/plain":["
"],"image/png":"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\n"},"metadata":{}}]},{"cell_type":"code","source":["df['len'].describe()"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"EzxpNuIuun_i","executionInfo":{"status":"ok","timestamp":1687968218425,"user_tz":-60,"elapsed":3,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"6c3a8adc-a47b-46e5-e965-65d8e5b6d44e"},"execution_count":46,"outputs":[{"output_type":"execute_result","data":{"text/plain":["count 1.600000e+06\n","mean 7.229460e+00\n","std 4.053380e+00\n","min 1.000000e+00\n","25% 4.000000e+00\n","50% 7.000000e+00\n","75% 1.000000e+01\n","max 5.000000e+01\n","Name: len, dtype: float64"]},"metadata":{},"execution_count":46}]},{"cell_type":"markdown","source":["# Tokenization and text to sequences"],"metadata":{"id":"mpwwrGIpusDu"}},{"cell_type":"code","source":["from tensorflow.keras.preprocessing.text import Tokenizer\n","from tensorflow.keras.preprocessing.sequence import pad_sequences"],"metadata":{"id":"XhztHdqJu4Bj","executionInfo":{"status":"ok","timestamp":1687968419728,"user_tz":-60,"elapsed":2,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}}},"execution_count":49,"outputs":[]},{"cell_type":"code","source":["vocab_size = 70000\n","maxlen = 15\n","tokenizer = Tokenizer(num_words=vocab_size, oov_token=\"\")\n","tokenizer.fit_on_texts(train_data['text'])\n","word_index = tokenizer.word_index\n","\n","training_sequences = tokenizer.texts_to_sequences(train_data['text'])\n","training_padded = pad_sequences(training_sequences, padding=\"post\", maxlen=maxlen, truncating=\"post\")\n","test_sequences = tokenizer.texts_to_sequences(test_data['text'])\n","test_padded = pad_sequences(test_sequences, padding=\"post\", maxlen=15, truncating=\"post\")"],"metadata":{"id":"3tKDZIjzu-8o","executionInfo":{"status":"ok","timestamp":1687968491743,"user_tz":-60,"elapsed":40054,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}}},"execution_count":50,"outputs":[]},{"cell_type":"code","source":["training_padded"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"WfPS7uh4xwhq","executionInfo":{"status":"ok","timestamp":1687968752247,"user_tz":-60,"elapsed":3,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"60b2f2ea-22a8-4952-9d29-438a20c43bfa"},"execution_count":51,"outputs":[{"output_type":"execute_result","data":{"text/plain":["array([[ 13, 3, 297, ..., 902, 0, 0],\n"," [ 578, 333, 149, ..., 0, 0, 0],\n"," [ 49, 418, 21, ..., 0, 0, 0],\n"," ...,\n"," [ 48, 12, 36, ..., 0, 0, 0],\n"," [ 447, 33, 564, ..., 3814, 277, 385],\n"," [ 212, 28, 774, ..., 0, 0, 0]], dtype=int32)"]},"metadata":{},"execution_count":51}]},{"cell_type":"markdown","source":["# Label Encoder"],"metadata":{"id":"ZUb_2j-0xnM_"}},{"cell_type":"code","source":["train_data['sentiment']"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"SEZlsX7uvIW5","executionInfo":{"status":"ok","timestamp":1687968777259,"user_tz":-60,"elapsed":4,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"1258ec5b-75a0-4865-c42d-148fc52733ca"},"execution_count":52,"outputs":[{"output_type":"execute_result","data":{"text/plain":["1036873 positif\n","287781 negatif\n","333391 negatif\n","1484559 positif\n","562778 negatif\n"," ... \n","1592199 positif\n","880070 positif\n","1093760 positif\n","502113 negatif\n","1421597 positif\n","Name: sentiment, Length: 1280000, dtype: object"]},"metadata":{},"execution_count":52}]},{"cell_type":"code","source":["from sklearn.preprocessing import LabelEncoder"],"metadata":{"id":"wqW90pbMx3yD","executionInfo":{"status":"ok","timestamp":1687968806441,"user_tz":-60,"elapsed":2,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}}},"execution_count":53,"outputs":[]},{"cell_type":"code","source":["encoder = LabelEncoder()\n","training_labels = encoder.fit_transform(train_data['sentiment'])"],"metadata":{"id":"7RS6Mdllx_Op","executionInfo":{"status":"ok","timestamp":1687968865290,"user_tz":-60,"elapsed":845,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}}},"execution_count":54,"outputs":[]},{"cell_type":"code","source":["training_labels"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"ZkrVVl02yNU8","executionInfo":{"status":"ok","timestamp":1687968869760,"user_tz":-60,"elapsed":396,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"d84330ec-7104-445c-acc5-06faa9223d1f"},"execution_count":55,"outputs":[{"output_type":"execute_result","data":{"text/plain":["array([1, 0, 0, ..., 1, 0, 1])"]},"metadata":{},"execution_count":55}]},{"cell_type":"code","source":["test_data.shape"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"yYCzPjJY0wfU","executionInfo":{"status":"ok","timestamp":1687969537385,"user_tz":-60,"elapsed":2,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"8862b860-7c74-416d-a134-dac730347c9f"},"execution_count":73,"outputs":[{"output_type":"execute_result","data":{"text/plain":["(320000, 3)"]},"metadata":{},"execution_count":73}]},{"cell_type":"code","source":["test_labels = encoder.transform(test_data['sentiment'])"],"metadata":{"id":"VQsoWWhWyOjQ","executionInfo":{"status":"ok","timestamp":1687969545473,"user_tz":-60,"elapsed":332,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}}},"execution_count":74,"outputs":[]},{"cell_type":"code","source":["training_labels.shape"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"YArtNX9ryWAV","executionInfo":{"status":"ok","timestamp":1687969384132,"user_tz":-60,"elapsed":3,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"a87e6e1d-ab9e-400e-9d1f-713475792116"},"execution_count":69,"outputs":[{"output_type":"execute_result","data":{"text/plain":["(1280000,)"]},"metadata":{},"execution_count":69}]},{"cell_type":"code","source":["training_labels = training_labels.reshape(-1, 1)\n","test_labels = test_labels.reshape(-1, 1)"],"metadata":{"id":"8lcQ6O5VyXfh","executionInfo":{"status":"ok","timestamp":1687969568639,"user_tz":-60,"elapsed":418,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}}},"execution_count":76,"outputs":[]},{"cell_type":"code","source":["test_labels.shape"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"MstREKyP0sq5","executionInfo":{"status":"ok","timestamp":1687969550143,"user_tz":-60,"elapsed":3,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"70ad276b-d1b8-4f26-9477-6130f4c08122"},"execution_count":75,"outputs":[{"output_type":"execute_result","data":{"text/plain":["(320000,)"]},"metadata":{},"execution_count":75}]},{"cell_type":"markdown","source":["# Modeling"],"metadata":{"id":"Bwef-A9lykIT"}},{"cell_type":"code","source":["import tensorflow as tf"],"metadata":{"id":"F2KHTchiyoPZ","executionInfo":{"status":"ok","timestamp":1687968983286,"user_tz":-60,"elapsed":2,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}}},"execution_count":59,"outputs":[]},{"cell_type":"code","source":["import numpy as np"],"metadata":{"id":"oK56dD1nysEI","executionInfo":{"status":"ok","timestamp":1687969014248,"user_tz":-60,"elapsed":2,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}}},"execution_count":60,"outputs":[]},{"cell_type":"code","source":["np.power(70000, 1/4)"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"5Go0puaiyyFA","executionInfo":{"status":"ok","timestamp":1687969025410,"user_tz":-60,"elapsed":3,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"78acff84-ed41-4884-eb66-b6825af796b2"},"execution_count":61,"outputs":[{"output_type":"execute_result","data":{"text/plain":["16.26576561697786"]},"metadata":{},"execution_count":61}]},{"cell_type":"code","source":["embedding_dim = 16\n","model = tf.keras.models.Sequential(\n"," [\n"," tf.keras.layers.Embedding(vocab_size, embedding_dim),\n"," tf.keras.layers.GlobalAveragePooling1D(),\n"," tf.keras.layers.Dense(8, activation='relu'),\n"," tf.keras.layers.Dense(1, activation='sigmoid')\n"," ]\n",")\n","\n","model.compile(loss='binary_crossentropy', optimizer=\"adam\", metrics=['accuracy'])\n","model_ckp = tf.keras.callbacks.ModelCheckpoint(filepath=\"best_model.h5\",\n"," monitor=\"val_accuracy\",\n"," mode=\"max\",\n"," save_best_only=True)\n","stop = tf.keras.callbacks.EarlyStopping(monitor=\"val_accuracy\", patience=2, restore_best_weights=True)\n","h = model.fit(training_padded, training_labels, epochs=50, batch_size=2048,\n"," validation_data=(test_padded, test_labels),\n"," callbacks=[model_ckp])"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"knHZmbGIyfvy","executionInfo":{"status":"ok","timestamp":1687969800662,"user_tz":-60,"elapsed":224318,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"ea24c37f-a977-47f4-a88a-caafeca52b7c"},"execution_count":77,"outputs":[{"output_type":"stream","name":"stdout","text":["Epoch 1/50\n","625/625 [==============================] - 45s 70ms/step - loss: 0.5495 - accuracy: 0.7436 - val_loss: 0.4876 - val_accuracy: 0.7708\n","Epoch 2/50\n","625/625 [==============================] - 11s 18ms/step - loss: 0.4741 - accuracy: 0.7779 - val_loss: 0.4757 - val_accuracy: 0.7749\n","Epoch 3/50\n","625/625 [==============================] - 8s 12ms/step - loss: 0.4613 - accuracy: 0.7832 - val_loss: 0.4719 - val_accuracy: 0.7752\n","Epoch 4/50\n","625/625 [==============================] - 5s 7ms/step - loss: 0.4537 - accuracy: 0.7869 - val_loss: 0.4707 - val_accuracy: 0.7755\n","Epoch 5/50\n","625/625 [==============================] - 6s 9ms/step - loss: 0.4479 - accuracy: 0.7896 - val_loss: 0.4708 - val_accuracy: 0.7753\n","Epoch 6/50\n","625/625 [==============================] - 6s 9ms/step - loss: 0.4430 - accuracy: 0.7922 - val_loss: 0.4719 - val_accuracy: 0.7746\n","Epoch 7/50\n","625/625 [==============================] - 4s 6ms/step - loss: 0.4386 - accuracy: 0.7943 - val_loss: 0.4728 - val_accuracy: 0.7748\n","Epoch 8/50\n","625/625 [==============================] - 3s 5ms/step - loss: 0.4347 - accuracy: 0.7962 - val_loss: 0.4750 - val_accuracy: 0.7737\n","Epoch 9/50\n","625/625 [==============================] - 4s 7ms/step - loss: 0.4310 - accuracy: 0.7978 - val_loss: 0.4779 - val_accuracy: 0.7739\n","Epoch 10/50\n","625/625 [==============================] - 4s 6ms/step - loss: 0.4276 - accuracy: 0.7995 - val_loss: 0.4800 - val_accuracy: 0.7733\n","Epoch 11/50\n","625/625 [==============================] - 4s 7ms/step - loss: 0.4244 - accuracy: 0.8011 - val_loss: 0.4843 - val_accuracy: 0.7731\n","Epoch 12/50\n","625/625 [==============================] - 3s 5ms/step - loss: 0.4215 - accuracy: 0.8022 - val_loss: 0.4862 - val_accuracy: 0.7712\n","Epoch 13/50\n","625/625 [==============================] - 4s 7ms/step - loss: 0.4188 - accuracy: 0.8036 - val_loss: 0.4893 - val_accuracy: 0.7720\n","Epoch 14/50\n","625/625 [==============================] - 3s 5ms/step - loss: 0.4163 - accuracy: 0.8049 - val_loss: 0.4921 - val_accuracy: 0.7713\n","Epoch 15/50\n","625/625 [==============================] - 3s 4ms/step - loss: 0.4140 - accuracy: 0.8060 - val_loss: 0.4955 - val_accuracy: 0.7712\n","Epoch 16/50\n","625/625 [==============================] - 5s 8ms/step - loss: 0.4118 - accuracy: 0.8072 - val_loss: 0.5004 - val_accuracy: 0.7710\n","Epoch 17/50\n","625/625 [==============================] - 3s 6ms/step - loss: 0.4097 - accuracy: 0.8084 - val_loss: 0.5015 - val_accuracy: 0.7707\n","Epoch 18/50\n","625/625 [==============================] - 3s 6ms/step - loss: 0.4078 - accuracy: 0.8095 - val_loss: 0.5039 - val_accuracy: 0.7696\n","Epoch 19/50\n","625/625 [==============================] - 3s 5ms/step - loss: 0.4059 - accuracy: 0.8105 - val_loss: 0.5075 - val_accuracy: 0.7700\n","Epoch 20/50\n","625/625 [==============================] - 3s 6ms/step - loss: 0.4041 - accuracy: 0.8114 - val_loss: 0.5100 - val_accuracy: 0.7691\n","Epoch 21/50\n","625/625 [==============================] - 3s 5ms/step - loss: 0.4023 - accuracy: 0.8123 - val_loss: 0.5124 - val_accuracy: 0.7686\n","Epoch 22/50\n","625/625 [==============================] - 3s 4ms/step - loss: 0.4007 - accuracy: 0.8135 - val_loss: 0.5149 - val_accuracy: 0.7684\n","Epoch 23/50\n","625/625 [==============================] - 3s 5ms/step - loss: 0.3991 - accuracy: 0.8143 - val_loss: 0.5172 - val_accuracy: 0.7673\n","Epoch 24/50\n","625/625 [==============================] - 4s 6ms/step - loss: 0.3975 - accuracy: 0.8152 - val_loss: 0.5209 - val_accuracy: 0.7678\n","Epoch 25/50\n","625/625 [==============================] - 4s 6ms/step - loss: 0.3960 - accuracy: 0.8160 - val_loss: 0.5230 - val_accuracy: 0.7674\n","Epoch 26/50\n","625/625 [==============================] - 3s 5ms/step - loss: 0.3945 - accuracy: 0.8170 - val_loss: 0.5258 - val_accuracy: 0.7672\n","Epoch 27/50\n","625/625 [==============================] - 3s 5ms/step - loss: 0.3931 - accuracy: 0.8177 - val_loss: 0.5297 - val_accuracy: 0.7667\n","Epoch 28/50\n","625/625 [==============================] - 4s 6ms/step - loss: 0.3917 - accuracy: 0.8185 - val_loss: 0.5315 - val_accuracy: 0.7664\n","Epoch 29/50\n","625/625 [==============================] - 3s 5ms/step - loss: 0.3902 - accuracy: 0.8194 - val_loss: 0.5352 - val_accuracy: 0.7661\n","Epoch 30/50\n","625/625 [==============================] - 3s 5ms/step - loss: 0.3890 - accuracy: 0.8201 - val_loss: 0.5367 - val_accuracy: 0.7654\n","Epoch 31/50\n","625/625 [==============================] - 3s 4ms/step - loss: 0.3876 - accuracy: 0.8210 - val_loss: 0.5391 - val_accuracy: 0.7653\n","Epoch 32/50\n","625/625 [==============================] - 3s 5ms/step - loss: 0.3863 - accuracy: 0.8216 - val_loss: 0.5412 - val_accuracy: 0.7650\n","Epoch 33/50\n","625/625 [==============================] - 4s 6ms/step - loss: 0.3851 - accuracy: 0.8223 - val_loss: 0.5451 - val_accuracy: 0.7650\n","Epoch 34/50\n","625/625 [==============================] - 3s 4ms/step - loss: 0.3838 - accuracy: 0.8229 - val_loss: 0.5475 - val_accuracy: 0.7653\n","Epoch 35/50\n","625/625 [==============================] - 3s 5ms/step - loss: 0.3826 - accuracy: 0.8239 - val_loss: 0.5502 - val_accuracy: 0.7650\n","Epoch 36/50\n","625/625 [==============================] - 3s 4ms/step - loss: 0.3814 - accuracy: 0.8243 - val_loss: 0.5516 - val_accuracy: 0.7645\n","Epoch 37/50\n","625/625 [==============================] - 4s 6ms/step - loss: 0.3802 - accuracy: 0.8252 - val_loss: 0.5548 - val_accuracy: 0.7646\n","Epoch 38/50\n","625/625 [==============================] - 3s 4ms/step - loss: 0.3791 - accuracy: 0.8257 - val_loss: 0.5591 - val_accuracy: 0.7639\n","Epoch 39/50\n","625/625 [==============================] - 3s 4ms/step - loss: 0.3780 - accuracy: 0.8263 - val_loss: 0.5590 - val_accuracy: 0.7636\n","Epoch 40/50\n","625/625 [==============================] - 3s 4ms/step - loss: 0.3769 - accuracy: 0.8270 - val_loss: 0.5629 - val_accuracy: 0.7637\n","Epoch 41/50\n","625/625 [==============================] - 3s 5ms/step - loss: 0.3758 - accuracy: 0.8276 - val_loss: 0.5647 - val_accuracy: 0.7628\n","Epoch 42/50\n","625/625 [==============================] - 4s 6ms/step - loss: 0.3747 - accuracy: 0.8282 - val_loss: 0.5657 - val_accuracy: 0.7630\n","Epoch 43/50\n","625/625 [==============================] - 3s 5ms/step - loss: 0.3736 - accuracy: 0.8286 - val_loss: 0.5696 - val_accuracy: 0.7629\n","Epoch 44/50\n","625/625 [==============================] - 3s 5ms/step - loss: 0.3726 - accuracy: 0.8292 - val_loss: 0.5716 - val_accuracy: 0.7618\n","Epoch 45/50\n","625/625 [==============================] - 3s 4ms/step - loss: 0.3715 - accuracy: 0.8301 - val_loss: 0.5718 - val_accuracy: 0.7618\n","Epoch 46/50\n","625/625 [==============================] - 4s 7ms/step - loss: 0.3705 - accuracy: 0.8306 - val_loss: 0.5756 - val_accuracy: 0.7616\n","Epoch 47/50\n","625/625 [==============================] - 3s 4ms/step - loss: 0.3696 - accuracy: 0.8310 - val_loss: 0.5767 - val_accuracy: 0.7619\n","Epoch 48/50\n","625/625 [==============================] - 3s 5ms/step - loss: 0.3686 - accuracy: 0.8316 - val_loss: 0.5790 - val_accuracy: 0.7616\n","Epoch 49/50\n","625/625 [==============================] - 3s 4ms/step - loss: 0.3676 - accuracy: 0.8321 - val_loss: 0.5822 - val_accuracy: 0.7617\n","Epoch 50/50\n","625/625 [==============================] - 3s 5ms/step - loss: 0.3668 - accuracy: 0.8328 - val_loss: 0.5850 - val_accuracy: 0.7612\n"]}]},{"cell_type":"code","source":["import matplotlib.pyplot as plt\n","\n","\n","def plot_graphs(history, string):\n"," plt.plot(history.history[string])\n"," plt.plot(history.history['val_'+string])\n"," plt.xlabel(\"Epochs\")\n"," plt.ylabel(string)\n"," plt.legend([string, 'val_'+string])\n"," plt.show()"],"metadata":{"id":"IB1fU5yGy6I6","executionInfo":{"status":"ok","timestamp":1687970199371,"user_tz":-60,"elapsed":415,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}}},"execution_count":78,"outputs":[]},{"cell_type":"code","source":["plot_graphs(h, 'accuracy')\n","plot_graphs(h, \"loss\")"],"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":881},"id":"giU5X8Xd3TDn","executionInfo":{"status":"ok","timestamp":1687970244922,"user_tz":-60,"elapsed":1407,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"0524dd94-1313-446a-8339-3167a03b2b60"},"execution_count":79,"outputs":[{"output_type":"display_data","data":{"text/plain":["
"],"image/png":"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qfjdz8+vytdJRGqfYRhsT8lhya4MftqZzobE45UmG/T1cKVvm1AubRVCzxZBXBThr7l3GgEFoEYiKCiIK6+8kg8//NARgD755BNCQ0O5/PLLcXFxoVu3bo7jn3zyST777DO+/PJLpkyZUuX3O7WjdIsWLfjHP/7BpEmTHAHo2WefpWfPno7fATp16gRAbm4uL7zwAi+//DLjx48HoHXr1vTr169KNZSUlPDqq69W+lyDBg2qdMwbb7xBYGAgS5cu5eqrr+aHH35gzZo17Nixg3bt2gHQqlUrx/ETJ06kT58+pKSkEBERQXp6Ot9+++0FtZaJSM1zjNTad5Rle04fqdUurAkD2zdjYPum9IwN1gzLjZACUE1w9zFbY6x43yq46aab+POf/8yrr76Kp6cnH3zwAWPHjsXFxYW8vDz+9re/8c0335CSkkJpaSknTpwgMTGxWqX98MMPzJ49m507d5KTk0NpaSmFhYUUFBTg4+PDxo0bGTNmzBlfu2PHDoqKihxBrbo8PDzo2rVrpX1paWk89thjLFmyhPT0dMrKyigoKHB8zo0bN9K8eXNH+PmtuLg4OnXqxP/93/8xbdo03n//fWJjY+nfv/8F1SoiFyaroJiV+46xYt8xlu87yv6M/ErPe7ubrTyXdzBnWG4eVLV/P6XhUQCqCTbbed+KstKIESMwDINvvvmGXr168csvv/D8888D8Ne//pXFixfzr3/9izZt2uDt7c11111HcfHps5b+noMHD3L11Vdz5513MmvWLIKDg1m2bBm33347xcXF+Pj44O199plOz/Uc4OjIfOoq8CUlJacd5+3tjc1WeSjq+PHjOXbsGC+88AKxsbF4enrSu3dvx+f8vfcGsxXolVdeYdq0abz99ttMmDDhtPcRkdqVkVvE5sNZrDmQyfJ9R9mWnFOpW6SLDbpEBdCnTSh9W4fSq6VGakllCkCNiJeXF6NHj+aDDz5g7969tG/fnu7duwNmh+Rbb72VUaNGAZCXl+foUFxV69evx26389xzzznCyscff1zpmK5du5KQkMDf//73017ftm1bvL29SUhIYOLEiac937RpUwBSUlIICgoCzJab87F8+XJeffVVhg8fDkBSUhJHjx6tVNfhw4fZvXv3WVuBbr75Zh566CFefPFFtm/f7rhNJyK1I6ugmC1Hstl8OJvNh7PYfDiblOzC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HR1d64uhFpWW0f6xRQBsmjlUs0GLiIhcgKoshmpZC1BxcTHr169nyJAhJ4txcWHIkCGsXLnyHK88ad68eYwdO9YRfux2O9988w3t2rVj2LBhNGvWjPj4eD7//PNznmf27NkEBAQ4tujo6Gp/rqqouP3lYgM/L3XHEhERcRbLAtDRo0cpKysjLCys0v6wsDBSU1N/9/Vr1qxh69atTJw40bEvPT2dvLw8nn76aa644gq+//57Ro0axejRo1m6dOlZzzV9+nSys7MdW1JSUvU/WBVkF2gleBERESvU22aHefPm0aVLF+Li4hz77HY7ANdccw33338/ABdffDErVqzg9ddfZ8CAAWc8l6enJ56enrVf9G8cdwyBVwdoERERZ7KsBSg0NBRXV1fS0tIq7U9LSyM8PPycr83Pz2f+/Pncfvvtp53Tzc2Njh07Vtp/0UUX1clRYI6V4DUEXkRExKksC0AeHh706NGDhIQExz673U5CQgK9e/c+52sXLlxIUVERN99882nn7NWrF7t27aq0f/fu3cTG1r3VdSuWwdAIMBEREeey9BbY1KlTGT9+PD179iQuLo65c+eSn5/PhAkTALjllluIiopi9uzZlV43b948Ro4cSUhIyGnnfPDBB7nhhhvo378/l19+OYsWLeKrr75iyZIlzvhIVVLRB0hzAImIiDiXpQHohhtuICMjg5kzZ5KamsrFF1/MokWLHB2jExMTcXGp3Ei1a9culi1bxvfff3/Gc44aNYrXX3+d2bNnc88999C+fXv++9//0q9fv1r/PFV1XLfARERELGHpPEB1VVXmEbgQj3y2hQ9XJ3LfkLbcN6QG1l4RERFpxOrFPEBy8hZYoFqAREREnEoByEJZJ8xbYEG+6gMkIiLiTApAFjqer5XgRURErKAAZKHsE5oIUURExAoKQBaqmAhRfYBEREScSwHIIsWldvKLywDNAyQiIuJsCkAWqegAbdNK8CIiIk6nAGQRrQQvIiJiHQUgizjWAVP/HxEREadTALJIVoFGgImIiFhFAcgiFeuAaSV4ERER51MAsoiWwRAREbGOApBFKkaB6RaYiIiI8ykAWeRkHyC1AImIiDibApBFsnQLTERExDIKQBbRLTARERHrKABZpKIFKEC3wERERJxOAcgiFQFI64CJiIg4nwKQRbQSvIiIiHUUgCxw6krwGgUmIiLi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DBo0iGuuuYZt27YButa1ae3atfz73/+ma9eulfbrmtesTp06kZKS4tiWLVvmeK5Wr7UhThEXF2dMnjzZ8XtZWZkRGRlpzJ4928KqGh7A+Oyzzxy/2+12Izw83PjnP//p2JeVlWV4enoaH330kQUVNjzp6ekGYCxdutQwDPP6uru7GwsXLnQcs2PHDgMwVq5caVWZDUpQUJDxn//8R9e6FuXm5hpt27Y1Fi9ebAwYMMC49957DcPQ33dNe/zxx41u3bqd8bnavtZqAXKC4uJi1q9fX2mVehcXF4YMGcLKlSstrKzhO3DgAKmpqZWufUBAAPHx8br2NSQ7OxuA4OBgANavX09JSUmla96hQwdiYmJ0zS9QWVkZ8+fPJz8/n969e+ta16LJkydz1VVXVbq2oL/v2rBnzx4iIyNp1aoVN910E4mJiUDtX2vLF0NtDI4ePUpZWZljgdcKYWFh7Ny506KqGofU1FSAM177iuek+ux2O/fddx99+/alc+fOgHnNPTw8CAwMrHSsrnn1bdmyhd69e1NYWEiTJk347LPP6NixIxs3btS1rgXz589nw4YNrF279rTn9Pdds+Lj43nnnXdo3749KSkp/P3vf+eyyy5j69attX6tFYBEpNomT57M1q1bK92zl5rXvn17Nm7cSHZ2Np988gnjx49n6dKlVpfVICUlJXHvvfeyePFivLy8rC6nwbvyyisdP3ft2pX4+HhiY2P5+OOP8fb2rtX31i0wJwgNDcXV1fW0nutpaWmEh4dbVFXjUHF9de1r3pQpU/j666/56aefaN68uWN/eHg4xcXFZGVlVTpe17z6PDw8aNOmDT169GD27Nl069aNF154Qde6Fqxfv5709HS6d++Om5sbbm5uLF26lBdffBE3NzfCwsJ0zWtRYGAg7dq1Y+/evbX+960A5AQeHh706NGDhIQExz673U5CQgK9e/e2sLKGr2XLloSHh1e69jk5OaxevVrXvpoMw2DKlCl89tln/Pjjj7Rs2bLS8z169MDd3b3SNd+1axeJiYm65jXEbrdTVFSka10LBg8ezJYtW9i4caNj69mzJzfddJPjZ13z2pOXl8e+ffuIiIio/b/vC+5GLedl/vz5hqenp/HOO+8Y27dvN+644w4jMDDQSE1Ntbq0ei83N9f49ddfjV9//dUAjDlz5hi//vqrcejQIcMwDOPpp582AgMDjS+++MLYvHmzcc011xgtW7Y0Tpw4YXHl9dOdd95pBAQEGEuWLDFSUlIcW0FBgeOYSZMmGTExMcaPP/5orFu3zujdu7fRu3dvC6uuv6ZNm2YsXbrUOHDggLF582Zj2rRphs1mM77//nvDMHStneHUUWCGoWtekx544AFjyZIlxoEDB4zly5cbQ4YMMUJDQ4309HTDMGr3WisAOdFLL71kxMTEGB4eHkZcXJyxatUqq0tqEH766ScDOG0bP368YRjmUPgZM2YYYWFhhqenpzF48GBj165d1hZdj53pWgPG22+/7TjmxIkTxl133WUEBQUZPj4+xqhRo4yUlBTriq7HbrvtNiM2Ntbw8PAwmjZtagwePNgRfgxD19oZfhuAdM1rzg033GBEREQYHh4eRlRUlHHDDTcYe/fudTxfm9faZhiGceHtSCIiIiL1h/oAiYiISKOjACQiIiKNjgKQiIiINDoKQCIiItLoKACJiIhIo6MAJCIiIo2OApCIiIg0OgpAIiIi0ugoAImInIXNZuPzzz+3ugwRqQUKQCJSJ916663YbLbTtiuuuMLq0kSkAXCzugARkbO54oorePvttyvt8/T0tKgaEWlI1AIkInWWp6cn4eHhlbagoCDAvD312muvceWVV+Lt7U2rVq345JNPKr1+y5YtDBo0CG9vb0JCQrjjjjvIy8urdMxbb71Fp06d8PT0JCIigilTplR6/ujRo4waNQofHx/atm3Ll19+6Xju+PHj3HTTTTRt2hRvb2/atm17WmATkbpJAUhE6q0ZM2Zw7bXXsmnTJm666SbGjh3Ljh07AMjPz2fYsGEEBQWxdu1aFi5cyA8//FAp4Lz22mtMnjyZO+64gy1btvDll1/Spk2bSu/x97//neuvv57NmzczfPhwbrrpJjIzMx3vv337dr777jt27NjBa6+9RmhoqPMugIhUX42sKS8iUsPGjx9vuLq6Gr6+vpW2WbNmGYZhGIAxadKkSq+Jj4837rzzTsMwDOONN94wgoKCjLy8PMfz33zzjeHi4mKkpqYahmEYkZGRxqOPPnrWGgDjsccec/yel5dnAMZ3331nGIZhjBgxwpgwYULNfGARcSr1ARKROuvyyy/ntddeq7QvODjY8XPv3r0rPde7d282btwIwI4dO+jWrRu+vr6O5/v27YvdbmfXrl3YbDaSk5MZPHjwOWvo2rWr42dfX1/8/f1JT08H4M477+Taa69lw4YNDB06lJEjR9KnT59qfVYRcS4FIBGps3x9fU+7JVVTvL29z+s4d3f3Sr/bbDbsdjsAV155JYcOHeLbb79l8eLFDB48mMmTJ/Ovf/2rxusVkZqlPkAiUm+tWrXqtN8vuugiAC666CI2bdpEfn6+4/nly5fj4uJC+/bt8fPzo0WLFiQkJFxQDU2bNmX8+PG8//77zJ07lzfeeOOCzicizqEWIBGps4qKikhNTa20z83NzdHReOHChfTs2ZN+/frxwQcfsGbNGubNmwfATTfdxOOPP8748eP529/+RkZGBnfffTfjxo0jLCwMgL/97W9MmjSJZs2aceWVV5Kbm8vy5cu5++67z6u+mTNn0qNHDzp16kRRURFff/21I4CJSN2mACQiddaiRYuIiIiotK99+/bs3LkTMEdozZ8/n7vuuouIiAg++ugjOnbsCICPjw//+9//uPfee+nVqxc+Pj5ce+21zJkzx3Gu8ePHU1hYyPPPP89f//pXQkNDue666867Pg8PD6ZPn87Bgwfx9vbmsssuY/78+TXwyUWkttkMwzCsLkJEpKpsNhufffYZI0eOtLoUEamH1AdIREREGh0FIBEREWl01AdIROol3b0XkQuhFiARERFpdBSAREREpNFRABIREZFGRwFIREREGh0FIBEREWl0FIBERESk0VEAEhERkUZHAUhEREQanf8HVDFUQlk2EMYAAAAASUVORK5CYII=\n"},"metadata":{}},{"output_type":"display_data","data":{"text/plain":["
"],"image/png":"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D/PryHZg9641jxV+REREWgrDgM0fw1d/PtbTM+h30O96iOsG/iHW1uchFH5ERERagsJMmHMP7PjafB7bFS59BtqcaW1dHkjhR0REpDlzOmDFSzDvMagpAx9/GHoPnH03+AZYXZ1H8q6bfOKWdu3aMXPmzJM612az8emnnzZqPSIiXi9rE7xyIcy93ww+bdLg1sVw3v0KPr9APT8iIiKepKIAts2B7C1QUw61lVBTUf+v+bvBWQsB4ebGogNu9LrBy6dD4UdERMRqlUWw7UtzsPKu+eCsOfnXdh8Do56E8MTGq6+FUfhxl2GYydwKfsEnveLmSy+9xMMPP8z+/fux/+R/BZdddhkxMTH83//9H1OmTGHZsmWUlZXRvXt3pk+fzvDhwxuk1I0bN3LnnXeydOlSgoODGTt2LDNmzCA0NBSABQsWcN9997F582b8/Pzo2bMn7777Lm3btmX9+vXcddddrFq1CpvNRufOnXnxxRcZNGhQg9QmImKJqlLYPhc2fQw7v6u72GB8L+hwHgSEgW+gudhgfb+GxkGrrpb9CM2Vwo+7asrhiSRrvvdfDp70tMWrrrqKO+64g/nz5zNs2DAA8vPzmTt3Ll9++SWlpaWMHj2av/71rwQEBPDmm28yZswY0tPTadOmjVtllpWVMWLECNLS0li5ciU5OTnccsst3H777bz++uvU1tZy+eWXM3HiRN577z2qq6tZsWIFtiPBbty4cfTv359Zs2bh4+PDunXr8PPzc6smERFLGAbs+BbWvQ3bv4HaimPHYrtCryuh55XQqot1NXoBhR8vERUVxahRo3j33Xdd4efDDz8kNjaW888/H7vdTt++fV3nP/bYY3zyySd89tln3H777W5973fffZfKykrefPNNQkLMsPbss88yZswY/v73v+Pn50dRURGXXHIJHTt2BKB79+6u12dkZPCnP/2Jbt26AdC5c2e36hERsUTxIfjyXtj2xbG26A5m2Ol1JcT1aFH7Z3kyhR93+QWbPTBWfe9TMG7cOCZOnMjzzz9PQEAA77zzDtdeey12u53S0lIefvhh5syZw6FDh6itraWiooKMjIxff+NfsXXrVvr27esKPgBnnXUWTqeT9PR0zjnnHG688UZGjBjBhRdeyPDhw7n66qtJTDTvX0+ZMoVbbrmFt956i+HDh3PVVVe5QpKIiMczDFj7Fnz9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Pfcc7dq1IzAwkNTUVFasWHFSr5s9ezY2m43LL7+8TvuNN96IzWar8xg5cmQjVO75YkMDeG/imfRKDievrJrfvryMTQeKrC5LRETEUpaGn/fff58pU6bw0EMPsWbNGvr27cuIESPIycn5xdft3buXe++9l6FDh9Z7fOTIkRw6dMj1eO+99xqj/GYhKsSfd245k34pkRSW1/Dbl5exVoOgRUTEi1kafmbMmMHEiRO56aab6NGjBy+88ALBwcG8+uqrJ3yNw+Fg3LhxPPLII3To0KHecwICAkhISHA9oqKiGutHaBYigvx4+5ZUzmgXRUllLTe8soKVe/OtLktERMQSloWf6upqVq9ezfDhw48VY7czfPhwli5desLXPfroo8TFxXHzzTef8JwFCxYQFxdH165due2228jL++X9rqqqqiguLq7zaGlCA3x543eDGdIxhtKqWsa/soIfd+VaXZaIiEiTsyz85Obm4nA4iI+Pr9MeHx9PVlZWva9ZvHgxr7zyCi+//PIJ33fkyJG8+eabzJs3j7///e8sXLiQUaNG4XCceLuH6dOnExER4XqkpKSc3g/l4YL9fXn1xjM4p0srKmoc3PTaShZuP2x1WSIiIk3K8gHPJ6ukpIQbbriBl19+mdjY2BOed+2113LppZfSu3dvLr/8cr744gtWrlzJggULTviaqVOnUlRU5HpkZmY2wk/gGQL9fHjphoEM7x5HVa2TiW+sYt7WbKvLEhERaTKWhZ/Y2Fh8fHzIzq77wZudnU1CQsJx5+/atYu9e/cyZswYfH198fX15c033+Szzz7D19eXXbt21ft9OnToQGxsLDt37jxhLQEBAYSHh9d5tGSBfj48P24go3olUO1wcuvbq/nvypYb+ERERH7KsvDj7+/PwIEDmTdvnqvN6XQyb9480tLSjju/W7dubNy4kXXr1rkel156Keeffz7r1q074a2q/fv3k5eXR2JiYqP9LM2Rv6+df/+2P5f1S6LGYXDfRxt4/IstOJyG1aWJiIg0Kl8rv/mUKVOYMGECgwYNYvDgwcycOZOysjJuuukmAMaPH09ycjLTp08nMDCQXr161Xl9ZGQkgKu9tLSURx55hLFjx5KQkMCuXbu477776NSpEyNGjGjSn6058PWx8/TV/WgfG8LM73bwn8V72JFTyr+v6094oJ/V5YmIiDQKS8PPNddc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qauyxsHuw2VsPzIVf3vWL0/JBwj0s9MuJoS2McG0iwmhXaz5dfvYEOLDAhs8GJ3s57dvg35XERERaZEC/XzokRROj6S6oaKsqpYdOaWulax355ayN7eMzIIKKmucbDvS/nN/HtmN287r2FTl16HwIyIiIqctJMCXfimR9EuJrNNe43ByoKCCvXll7M0tY29eOXvzytiXV05mfjltY4KtKRiFHxEREWkEfj522sWat7roWvdYjcOJlYNuFH5ERESkSfn52C39/tZ+dxEREZEmpvAjIiIiXkXhR0RERLyKwo+IiIh4FYUfERER8SoKPyIiIuJVFH5ERETEqyj8iIiIiFdR+BERERGvovAjIiIiXkXhR0RERLyKwo+IiIh4FYUfERER8Sra1b0ehmEAUFxcbHElIiIicrKOfm4f/Rw/EYWfepSUlACQkpJicSUiIiJyqkpKSoiIiDjhcZvxa/HICzmdTg4ePEhYWBg2m63B3re4uJiUlBQyMzMJDw9vsPeV+ul6Ny1d76ana960dL2b1ulcb8MwKCkpISkpCbv9xCN71PNTD7vdTuvWrRvt/cPDw/UXpwnpejctXe+mp2vetHS9m9apXu9f6vE5SgOeRURExKso/IiIiIhXUfhpQgEBATz00EMEBARYXYpX0PVuWrreTU/XvGnpejetxrzeGvAsIiIiXkU9PyIiIuJVFH5ERETEqyj8iIiIiFdR+BERERGvovDThJ577jnatWtHYGAgqamprFixwuqSWoQffviBMWPGkJSUhM1m49NPP61z3DAMpk2bRmJiIkFBQQwfPpwdO3ZYU2wLMH36dM444wzCwsKIi4vj8ssvJz09vc45lZWVTJ48mZiYGEJDQxk7dizZ2dkWVdy8zZo1iz59+rgWektLS+Orr75yHde1bjx/+9vfsNls3HXXXa42Xe+G9fDDD2Oz2eo8unXr5jreWNdb4aeJvP/++0yZMoWHHnqINWvW0LdvX0aMGEFOTo7VpTV7ZWVl9O3bl+eee67e4//4xz945plneOGFF1i+fDkhISGMGDGCysrKJq60ZVi4cCGTJ09m2bJlfPvtt9TU1HDRRRdRVlbmOufuu+/m888/54MPPmDhwoUcPHiQK6+80sKqm6/WrVvzt7/9jdWrV7Nq1SouuOACLrvsMjZv3gzoWjeWlStX8uKLL9KnT5867breDa9nz54cOnTI9Vi8eLHrWKNdb0OaxODBg43Jkye7njscDiMpKcmYPn26hVW1PIDxySefuJ47nU4jISHBePLJJ11thYWFRkBAgPHee+9ZUGHLk5OTYwDGwoULDcMwr6+fn5/xwQcfuM7ZunWrARhLly61qswWJSoqyvjPf/6ja91ISkpKjM6dOxvffvutce655xp33nmnYRj6s90YHnroIaNv3771HmvM662enyZQXV3N6tWrGT58uKvNbrczfPhwli5damFlLd+ePXvIysqqc+0jIiJITU3VtW8gRUVFAERHRwOwevVqampq6lzzbt260aZNG11zNzkcDmbPnk1ZWRlpaWm61o1k8uTJXHzxxXWuK+jPdmPZsWMHSUlJdOjQgXHjxpGRkQE07vXWxqZNIDc3F4fDQXx8fJ32+Ph4tm3bZlFV3iErKwug3mt/9JicPqfTyV133cVZZ51Fr169APOa+/v7ExkZWedcXfPTt3HjRtLS0qisrCQ0NJRPPvmEHj16sG7dOl3rBjZ79mzWrFnDypUrjzumP9sNLzU1lddff52uXbty6NAhHnnkEYYOHcqmTZsa9Xor/IjIaZs8eTKbNm2qc49eGl7Xrl1Zt24dRUVFfPjhh0yYMIGFCxdaXVaLk5mZyZ133sm3335LYGCg1eV4hVGjRrm+7tOnD6mpqbRt25b//ve/BAUFNdr31W2vJhAbG4uPj89xI9Szs7NJSEiwqCrvcPT66to3vNtvv50vvviC+fPn07p1a1d7QkIC1dXVFBYW1jlf1/z0+fv706lTJwYOHMj06dPp27cv//rXv3StG9jq1avJyclhwIAB+Pr64uvry8KFC3nmmWfw9fUlPj5e17uRRUZG0qVLF3bu3Nmof74VfpqAv78/AwcOZN68ea42p9PJvHnzSEtLs7Cylq99+/YkJCTUufbFxcUsX75c1/40GYbB7bffzieffML3339P+/bt6xwfOHAgfn5+da55eno6GRkZuuYNxOl0UlVVpWvdwIYNG8bGjRtZt26d6zFo0CDGjRvn+lrXu3GVlpaya9cuEhMTG/fPt1vDpeWkzZ492wgICDBef/11Y8uWLcakSZOMyMhIIysry+rSmr2SkhJj7dq1xtq1aw3AmDFjhrF27Vpj3759hmEYxt/+9jcjMjLS+N///mds2LDBuOyyy4z27dsbFRUVFlfePN12221GRESEsWDBAuPQoUOuR3l5ueucW2+91WjTpo3x/fffG6tWrTLS0tKMtLQ0C6tuvu6//35j4cKFxp49e4wNGzYY999/v2Gz2YxvvvnGMAxd68b209lehqHr3dDuueceY8GCBcaePXuMJUuWGMOHDzdiY2ONnJwcwzAa73or/DShf//730abNm0Mf39/Y/DgwcayZcusLqlFmD9/vgEc95gwYYJhGOZ09wcffNCIj483AgICjGHDhhnp6enWFt2M1XetAeO1115znVNRUWH84Q9/MKKioozg4GDjiiuuMA4dOmRd0c3Y7373O6Nt27aGv7+/0apVK2PYsGGu4GMYutaN7efhR9e7YV1zzTVGYmKi4e/vbyQnJxvXXHONsXPnTtfxxrreNsMwDPf6jkRERESaD435EREREa+i8CMiIiJeReFHREREvIrCj4iIiHgVhR8RERHxKgo/IiIi4lUUfkRERMSrKPyIiIiIV1H4ERGph81m49NPP7W6DBFpBAo/IuJxbrzxRmw223GPkSNHWl2aiLQAvlYXICJSn5EjR/Laa6/VaQsICLCoGhFpSdTzIyIeKSAggISEhDqPqKgowLwlNWvWLEaNGkVQUBAdOnTgww8/rPP6jRs3csEFFxAUFERMTAyTJk2itLS0zjmvvvoqPXv2JCAggMTERG6//fY6x3Nzc7niiisIDg6mc+fOfPbZZ65jBQUFjBs3jlatWhEUFETnzp2PC2si4pkUfkSkWXrwwQcZO3Ys69evZ9y4cVx77bVs3boVgLKyMkaMGEFUVBQrV67kgw8+4LvvvqsTbmbNmsXkyZOZNGkSGzdu5LPPPqNTp051vscjjzzC1VdfzYYNGxg9ejTjxo0jPz/f9f23bNnCV199xdatW5k1axaxsbFNdwFE5PS5vS+8iEgDmzBhguHj42OEhITUefz1r381DMMwAOPWW2+t85rU1FTjtttuMwzDMF566SUjKirKKC0tdR2fM2eOYbfbjaysLMMwDCMpKcn4v//7vxPWABgPPPCA63lpaakBGF999ZVhGIYxZswY46abbmqYH1hEmpTG/IiIRzr//POZNWtWnbbo6GjX12lpaXWOpaWlsW7dOgC2bt1K3759CQkJcR0/66yzcDqdpKenY7PZOHjwIMOGDfvFGvr06eP6OiQkhPDwcHJycgC47bbbGDt2LGvWrOGiiy7i8ssvZ8iQIaf1s4pI01L4ERGPFBISctxtqIYSFBR0Uuf5+fnVeW6z2XA6nQCMGjWKffv28eWXX/Ltt98ybNgwJk+ezFNPPdXg9YpIw9KYHxFplpYtW3bc8+7duwPQvXt31q9fT1lZmev4kiVLsNvtdO3albCwMNq1a8e8efPcqqFVq1ZMmDCBt99+m5kzZ/LSSy+59X4i0jTU8yMiHqmqqoqsrKw6bb6+vq5BxR988AGDBg3i7LPP5p133mHFihW88sorAIwbN46HHnqICRMm8PDDD3P48GHuuOMObrjhBuLj4wF4+OGHufXWW4mLi2PUqFGUlJSwZMkS7rjjjpOqb9q0aQwcOJCePXtSVVXFF1984QpfIuLZFH5ExCPNnTuXxMTEOm1du3Zl27ZtgDkTa/bs2fzhD38gMTGR9957jx49egAQHBzM119/zZ133skZZ5xBcHAwY8eOZcaMGa73mjBhApWVlTz99NPce++9xMbG8pvf/Oak6/P392fq1Kns3buXoKAghg4dyuzZsxvgJxeRxmYzDMOwuggRkVNhs9n45JNPuPzyy60uRUSaIY35EREREa+i8CMiIiJeRWN+RKTZ0d16EXGHen5ERETEqyj8iIiIiFdR+BERERGvovAjIiIiXkXhR0RERLyKwo+IiIh4FYUfERER8SoKPyIiIuJV/h8jiyN989ap/QAAAABJRU5ErkJggg==\n"},"metadata":{}}]},{"cell_type":"markdown","source":["# Recurrent Neural Networks"],"metadata":{"id":"Isx7N5pa5Dgw"}},{"cell_type":"code","source":["\"J'étais content, maintenant je suis enervé\" negatif\n","\"J'étais enervé, maintenant je suis content\" positif"],"metadata":{"id":"3JB_3QK73d7o"},"execution_count":null,"outputs":[]},{"cell_type":"code","source":["embedding_dim = 16\n","model = tf.keras.models.Sequential(\n"," [\n"," tf.keras.layers.Embedding(vocab_size, embedding_dim),\n"," tf.keras.layers.SimpleRNN(10),\n"," tf.keras.layers.Dense(8, activation='relu'),\n"," tf.keras.layers.Dense(1, activation='sigmoid')\n"," ]\n",")\n","\n","model.compile(loss='binary_crossentropy', optimizer=\"adam\", metrics=['accuracy'])\n","model_ckp = tf.keras.callbacks.ModelCheckpoint(filepath=\"best_model.h5\",\n"," monitor=\"val_accuracy\",\n"," mode=\"max\",\n"," save_best_only=True)\n","stop = tf.keras.callbacks.EarlyStopping(monitor=\"val_accuracy\", patience=2, restore_best_weights=True)"],"metadata":{"id":"K4fCIca-5h8A","executionInfo":{"status":"ok","timestamp":1687971797560,"user_tz":-60,"elapsed":7,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}}},"execution_count":80,"outputs":[]},{"cell_type":"code","source":["model.summary()"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"c6BFoyxX5iKX","executionInfo":{"status":"ok","timestamp":1687971797560,"user_tz":-60,"elapsed":6,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"051ae6cd-d860-4c4d-a0db-7cbad49b59e8"},"execution_count":81,"outputs":[{"output_type":"stream","name":"stdout","text":["Model: \"sequential_6\"\n","_________________________________________________________________\n"," Layer (type) Output Shape Param # \n","=================================================================\n"," embedding_6 (Embedding) (None, None, 16) 1120000 \n"," \n"," simple_rnn (SimpleRNN) (None, 10) 270 \n"," \n"," dense_12 (Dense) (None, 8) 88 \n"," \n"," dense_13 (Dense) (None, 1) 9 \n"," \n","=================================================================\n","Total params: 1,120,367\n","Trainable params: 1,120,367\n","Non-trainable params: 0\n","_________________________________________________________________\n"]}]},{"cell_type":"code","source":["h = model.fit(training_padded, training_labels, epochs=50, batch_size=2048,\n"," validation_data=(test_padded, test_labels),\n"," callbacks=[model_ckp])"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"Qq495Pqa9Ydo","executionInfo":{"status":"ok","timestamp":1687972420783,"user_tz":-60,"elapsed":596047,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"b7fc10f2-893c-4814-d94b-9adea4fce492"},"execution_count":82,"outputs":[{"output_type":"stream","name":"stdout","text":["Epoch 1/50\n","625/625 [==============================] - 59s 88ms/step - loss: 0.5091 - accuracy: 0.7526 - val_loss: 0.4794 - val_accuracy: 0.7732\n","Epoch 2/50\n","625/625 [==============================] - 17s 28ms/step - loss: 0.4585 - accuracy: 0.7870 - val_loss: 0.4738 - val_accuracy: 0.7762\n","Epoch 3/50\n","625/625 [==============================] - 15s 24ms/step - loss: 0.4408 - accuracy: 0.7960 - val_loss: 0.4776 - val_accuracy: 0.7737\n","Epoch 4/50\n","625/625 [==============================] - 12s 20ms/step - loss: 0.4265 - accuracy: 0.8040 - val_loss: 0.4792 - val_accuracy: 0.7724\n","Epoch 5/50\n","625/625 [==============================] - 12s 19ms/step - loss: 0.4140 - accuracy: 0.8109 - val_loss: 0.4883 - val_accuracy: 0.7712\n","Epoch 6/50\n","625/625 [==============================] - 13s 21ms/step - loss: 0.4037 - accuracy: 0.8166 - val_loss: 0.4930 - val_accuracy: 0.7666\n","Epoch 7/50\n","625/625 [==============================] - 13s 21ms/step - loss: 0.3951 - accuracy: 0.8212 - val_loss: 0.5016 - val_accuracy: 0.7654\n","Epoch 8/50\n","625/625 [==============================] - 11s 18ms/step - loss: 0.3880 - accuracy: 0.8253 - val_loss: 0.5047 - val_accuracy: 0.7638\n","Epoch 9/50\n","625/625 [==============================] - 10s 16ms/step - loss: 0.3814 - accuracy: 0.8290 - val_loss: 0.5184 - val_accuracy: 0.7642\n","Epoch 10/50\n","625/625 [==============================] - 11s 17ms/step - loss: 0.3757 - accuracy: 0.8322 - val_loss: 0.5171 - val_accuracy: 0.7601\n","Epoch 11/50\n","625/625 [==============================] - 11s 17ms/step - loss: 0.3709 - accuracy: 0.8346 - val_loss: 0.5256 - val_accuracy: 0.7593\n","Epoch 12/50\n","625/625 [==============================] - 12s 19ms/step - loss: 0.3662 - accuracy: 0.8371 - val_loss: 0.5320 - val_accuracy: 0.7573\n","Epoch 13/50\n","625/625 [==============================] - 13s 21ms/step - loss: 0.3620 - accuracy: 0.8392 - val_loss: 0.5401 - val_accuracy: 0.7559\n","Epoch 14/50\n","625/625 [==============================] - 11s 17ms/step - loss: 0.3578 - accuracy: 0.8415 - val_loss: 0.5439 - val_accuracy: 0.7572\n","Epoch 15/50\n","625/625 [==============================] - 10s 16ms/step - loss: 0.3542 - accuracy: 0.8432 - val_loss: 0.5509 - val_accuracy: 0.7538\n","Epoch 16/50\n","625/625 [==============================] - 11s 18ms/step - loss: 0.3509 - accuracy: 0.8450 - val_loss: 0.5574 - val_accuracy: 0.7485\n","Epoch 17/50\n","625/625 [==============================] - 11s 18ms/step - loss: 0.3480 - accuracy: 0.8462 - val_loss: 0.5629 - val_accuracy: 0.7523\n","Epoch 18/50\n","625/625 [==============================] - 11s 18ms/step - loss: 0.3450 - accuracy: 0.8477 - val_loss: 0.5706 - val_accuracy: 0.7515\n","Epoch 19/50\n","625/625 [==============================] - 10s 16ms/step - loss: 0.3425 - accuracy: 0.8489 - val_loss: 0.5798 - val_accuracy: 0.7514\n","Epoch 20/50\n","625/625 [==============================] - 10s 16ms/step - loss: 0.3399 - accuracy: 0.8500 - val_loss: 0.5849 - val_accuracy: 0.7502\n","Epoch 21/50\n","625/625 [==============================] - 11s 17ms/step - loss: 0.3376 - accuracy: 0.8510 - val_loss: 0.5905 - val_accuracy: 0.7493\n","Epoch 22/50\n","625/625 [==============================] - 11s 17ms/step - loss: 0.3355 - accuracy: 0.8521 - val_loss: 0.5922 - val_accuracy: 0.7484\n","Epoch 23/50\n","625/625 [==============================] - 13s 20ms/step - loss: 0.3332 - accuracy: 0.8531 - val_loss: 0.6000 - val_accuracy: 0.7464\n","Epoch 24/50\n","625/625 [==============================] - 9s 14ms/step - loss: 0.3312 - accuracy: 0.8540 - val_loss: 0.6005 - val_accuracy: 0.7467\n","Epoch 25/50\n","625/625 [==============================] - 11s 18ms/step - loss: 0.3295 - accuracy: 0.8547 - val_loss: 0.6115 - val_accuracy: 0.7464\n","Epoch 26/50\n","625/625 [==============================] - 11s 17ms/step - loss: 0.3277 - accuracy: 0.8556 - val_loss: 0.6194 - val_accuracy: 0.7438\n","Epoch 27/50\n","625/625 [==============================] - 11s 17ms/step - loss: 0.3260 - accuracy: 0.8562 - val_loss: 0.6149 - val_accuracy: 0.7459\n","Epoch 28/50\n","625/625 [==============================] - 9s 14ms/step - loss: 0.3244 - accuracy: 0.8568 - val_loss: 0.6295 - val_accuracy: 0.7437\n","Epoch 29/50\n","625/625 [==============================] - 10s 17ms/step - loss: 0.3229 - accuracy: 0.8575 - val_loss: 0.6388 - val_accuracy: 0.7463\n","Epoch 30/50\n","625/625 [==============================] - 11s 18ms/step - loss: 0.3214 - accuracy: 0.8583 - val_loss: 0.6382 - val_accuracy: 0.7435\n","Epoch 31/50\n","625/625 [==============================] - 10s 17ms/step - loss: 0.3200 - accuracy: 0.8589 - val_loss: 0.6406 - val_accuracy: 0.7429\n","Epoch 32/50\n","625/625 [==============================] - 9s 14ms/step - loss: 0.3188 - accuracy: 0.8592 - val_loss: 0.6478 - val_accuracy: 0.7415\n","Epoch 33/50\n","625/625 [==============================] - 11s 17ms/step - loss: 0.3175 - accuracy: 0.8599 - val_loss: 0.6544 - val_accuracy: 0.7449\n","Epoch 34/50\n","625/625 [==============================] - 11s 17ms/step - loss: 0.3161 - accuracy: 0.8605 - val_loss: 0.6517 - val_accuracy: 0.7421\n","Epoch 35/50\n","625/625 [==============================] - 10s 16ms/step - loss: 0.3151 - accuracy: 0.8609 - val_loss: 0.6640 - val_accuracy: 0.7434\n","Epoch 36/50\n","625/625 [==============================] - 9s 14ms/step - loss: 0.3138 - accuracy: 0.8614 - val_loss: 0.6681 - val_accuracy: 0.7426\n","Epoch 37/50\n","625/625 [==============================] - 11s 17ms/step - loss: 0.3131 - accuracy: 0.8617 - val_loss: 0.6806 - val_accuracy: 0.7434\n","Epoch 38/50\n","625/625 [==============================] - 10s 17ms/step - loss: 0.3120 - accuracy: 0.8622 - val_loss: 0.6701 - val_accuracy: 0.7416\n","Epoch 39/50\n","625/625 [==============================] - 10s 17ms/step - loss: 0.3109 - accuracy: 0.8626 - val_loss: 0.6924 - val_accuracy: 0.7412\n","Epoch 40/50\n","625/625 [==============================] - 9s 15ms/step - loss: 0.3099 - accuracy: 0.8629 - val_loss: 0.6927 - val_accuracy: 0.7435\n","Epoch 41/50\n","625/625 [==============================] - 11s 17ms/step - loss: 0.3091 - accuracy: 0.8634 - val_loss: 0.6882 - val_accuracy: 0.7414\n","Epoch 42/50\n","625/625 [==============================] - 13s 21ms/step - loss: 0.3081 - accuracy: 0.8638 - val_loss: 0.6929 - val_accuracy: 0.7394\n","Epoch 43/50\n","625/625 [==============================] - 10s 17ms/step - loss: 0.3073 - accuracy: 0.8644 - val_loss: 0.7028 - val_accuracy: 0.7393\n","Epoch 44/50\n","625/625 [==============================] - 9s 14ms/step - loss: 0.3068 - accuracy: 0.8641 - val_loss: 0.7062 - val_accuracy: 0.7434\n","Epoch 45/50\n","625/625 [==============================] - 10s 16ms/step - loss: 0.3055 - accuracy: 0.8650 - val_loss: 0.7120 - val_accuracy: 0.7405\n","Epoch 46/50\n","625/625 [==============================] - 11s 17ms/step - loss: 0.3049 - accuracy: 0.8652 - val_loss: 0.7209 - val_accuracy: 0.7403\n","Epoch 47/50\n","625/625 [==============================] - 11s 17ms/step - loss: 0.3041 - accuracy: 0.8656 - val_loss: 0.7022 - val_accuracy: 0.7390\n","Epoch 48/50\n","625/625 [==============================] - 9s 14ms/step - loss: 0.3034 - accuracy: 0.8657 - val_loss: 0.7305 - val_accuracy: 0.7422\n","Epoch 49/50\n","625/625 [==============================] - 10s 16ms/step - loss: 0.3029 - accuracy: 0.8658 - val_loss: 0.7257 - val_accuracy: 0.7393\n","Epoch 50/50\n","625/625 [==============================] - 12s 19ms/step - loss: 0.3023 - accuracy: 0.8661 - val_loss: 0.7306 - val_accuracy: 0.7389\n"]}]},{"cell_type":"code","source":["plot_graphs(h, 'accuracy')\n","plot_graphs(h, \"loss\")"],"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":881},"id":"mSrMvoYC9f6z","executionInfo":{"status":"ok","timestamp":1687973555311,"user_tz":-60,"elapsed":1993,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"4c950713-1858-4420-eb19-c58fe066b14f"},"execution_count":83,"outputs":[{"output_type":"display_data","data":{"text/plain":["
"],"image/png":"iVBORw0KGgoAAAANSUhEUgAAAkAAAAGwCAYAAABB4NqyAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABr7klEQVR4nO3deZiN9f/H8eeZfTEbsxnGkH0dskz2QrQpLaKEtPgpKmmjLG2aVqkoKXzbRCqlSDShLCGSfSfbrJbZ93P//rg5mgxmP7O8Htd1XzPnPve5z/vcyXn53J/FYhiGgYiIiEgV4mDvAkRERETKmgKQiIiIVDkKQCIiIlLlKACJiIhIlaMAJCIiIlWOApCIiIhUOQpAIiIiUuU42buA8shqtXLixAm8vLywWCz2LkdEREQKwDAMkpOTCQkJwcHh0m08CkD5OHHiBKGhofYuQ0RERIrg6NGj1K5d+5LHKADlw8vLCzAvoLe3t52rERERkYJISkoiNDTU9j1+KQpA+Th328vb21sBSEREpIIpSPcVdYIWERGRKkcBSERERKocBSARERGpctQHqBhyc3PJzs62dxlSjjk7O+Po6GjvMkRE5D8UgIrAMAxiYmI4c+aMvUuRCsDX15fg4GDNKSUiUo4oABXBufATGBiIh4eHvtgkX4ZhkJaWRlxcHAA1a9a0c0UiInKOAlAh5ebm2sJPjRo17F2OlHPu7u4AxMXFERgYqNthIiLlhDpBF9K5Pj8eHh52rkQqinN/VtRfTESk/FAAKiLd9pKC0p8VEZHyRwFIREREqhwFIBEREalyFIBERESkytEoMBERESkThmGQnp3L6bRsnBwsBHm72a0WBSCxm+zsbJydne1dhoiIXIRhGGTlWsnKsZKda5CZk0tGtpWM7FwysnNJz84l89zjs8+lZeVyJi2LU6lZnEnL5vR/fs/MsQLQv21t3ugfbrfPpgBUAs4l2rLm7uxYqBFGS5cu5eWXX2b79u04OjrSsWNH3nnnHerXrw/AsWPHeOqpp/j555/JzMykadOmTJ8+nYiICAB++OEHXnzxRbZt20a1atXo2rUrCxcuBMyRTgsXLqRfv3629/P19WXq1Knce++9HD58mHr16jFv3jzef/991q9fz4wZM+jbty+jRo3it99+4/Tp09SvX59nn32Wu+66y3Yeq9XKm2++ycyZMzl69ChBQUH83//9H8899xw9evSgWbNmTJs2zXZ8fHw8tWrV4qeffqJnz57FucQiIpVGVo6V2KQMTpxJJzoxgxOJ6USfySA6MZ0TZzJITM8mO9dKVq6V7JyzP3ONUqnFxdGBXKN0zl1QCkAlID07l2YTfy7z9935Yh88XAr+nzA1NZUxY8bQqlUrUlJSmDhxIrfeeitbtmwhLS2N7t27U6tWLRYtWkRwcDCbN2/GajWT+uLFi7n11lt57rnn+PTTT8nKymLJkiWFrnns2LG89dZbtGnTBjc3NzIyMmjbti3PPPMM3t7eLF68mMGDB1O/fn06dOgAwLhx4/joo494++236dKlC9HR0ezevRuABx54gFGjRvHWW2/h6uoKwOeff06tWrXo0aNHoesTEalI4pMziU/ONFtc0rI4nZbN6dQsTqdlnf1ptrrEJGYQn5JJcTOHk4MFd2dHXJ0dcXN2wM3ZEfd//e7q5IiHiyO+Hs74erhQ3cMZP0+Xs7+74Hv2sadL4f4BXxoUgKqQ22+/Pc/j2bNnExAQwM6dO1m7di3x8fFs3LiR6tWrA9CgQQPbsZMnT2bgwIG88MILtn3h4YVvuhw9ejS33XZbnn1PPvmk7fdHHnmEn3/+ma+++ooOHTqQnJzMO++8w7Rp0xg6dCgA9evXp0uXLgDcdtttjBo1iu+//54777wTgP/973/ce++9dv+fS0SkpB0/k84fB07yx8GT/HHoJEdPpRfq9S5ODtT0cSPEx52avnl/+nm64OLogIuTBRdHR5ydLLg4OuDs5GDud3TAwaHy/L2qAFQC3J0d2fliH7u8b2Hs27ePiRMnsn79ehISEmytO0eOHGHLli20adPGFn7+a8uWLTz44IPFrrldu3Z5Hufm5vLKK6/w1Vdfcfz4cbKyssjMzLTNnrxr1y4yMzMveivLzc2NwYMHM3v2bO688042b97M9u3bWbRoUbFrFREpSUkZ2eyLTWFfbDKn07LxcXfG72xLiZ+nM34eLvi4O+P2r7/bj51O44+Dp/jj4EnW5xN4HCxQ/V8tLOfO4+fpgp/H2d89XAjydqOmrxs1PF30j8OzFIBKgMViKdStKHvp27cvYWFhfPTRR4SEhGC1WmnRogVZWVm2Nasu5nLPWywWjP+0rea39IOnp2eex2+88QbvvPMOU6dOpWXLlnh6ejJ69GiysrIK9L5g3gZr3bo1x44dY86cOfTo0YOwsLDLvk5EpDScCzr745LZG5vC3thk9selEJ2YUaDXuzs74ufhjAEXvMbRwULLWj5cdUUNrrqiOu3qVqeaa/n//imPdNWqiJMnT7Jnzx4++ugjunbtCsDq1attz7dq1YqPP/6YU6dO5dsK1KpVK6Kiohg2bFi+5w8ICCA6Otr2eN++faSlpV22rjVr1nDLLbdwzz33AGaH571799KsWTMAGjZsiLu7O1FRUTzwwAP5nqNly5a0a9eOjz76iLlz5+bpEC0iUpIyc3KJS8rkxJl0YpIyiE7MIPpsp+KYpAxOnMkgISXzoq8P9najYVA1ArxcSUrP5nRaNmfSzBFSZ9KzybWag2rSE82BNY4OFlrVPhd4atA2zE+Bp4ToKlYRfn5+1KhRg5kzZ1KzZk2OHDnC2LFjbc/fddddvPLKK/Tr14/IyEhq1qzJX3/9RUhICB07dmTSpEn07NmT+vXrM3DgQHJycliyZAnPPPMMAD169GDatGl07NiR3NxcnnnmmQINcW/YsCFff/01a9euxc/PjylTphAbG2sLQG5ubjzzzDM8/fTTuLi40LlzZ+Lj49mxYwf333+/7TznOkN7enpy6623lvDVE5GqJCM7lyOn0jgYn8rhk6kcik/l0MlUDiekEpd88XDzb0HerjQK8qJBYDUaBXnRKKgaDQK98HG/+N+LVqtBcmYOZ852Zs7KsdI8xBtPBZ5SoataRTg4ODBv3jweffRRWrRoQePGjXn33Xe5+uqrAXBxcWHZsmU88cQT3HDDDeTk5NCsWTOmT58OwNVXX82CBQt46aWXePXVV/H29qZbt26287/11lsMGzaMrl27EhISwjvvvMOmTZsuW9f48eM5ePAgffr0wcPDg+HDh9OvXz8SExNtx0yYMAEnJycmTpzIiRMnqFmzJiNGjMhznrvuuovRo0dz11134eZmv4m1RKR8ysjOJTE9mzNp2Wd/ZpGYnm3bTqVm2ULPicT0S46WOteR2NzcCfZxI8THjWAfd2r6uBHq54GPR+HnOHNwsODj7oyPuzNhNYrxYaVALMZ/O24ISUlJ+Pj4kJiYiLe3d57nMjIyOHToEPXq1dMXbTly+PBh6tevz8aNG7nyyivtXU4e+jMjUnoMwyApI4fos3PaHD+Tbvv9xNn5bWKTMmyT7xWUl6sT9QI8qefvSd0anlwRYP4Mre6Bn4ezOhKXU5f6/v4vtQBJhZadnc3JkycZP348V111VbkLPyJSMjKyczkYn8qB+JSzWyoH4lI4ciqNlMycAp3D8V8tLN7uzvie/d3H3RlfD2dCq3tQz98MPRotVfkpAEmFtmbNGq655hoaNWrE119/be9yRKQIDMMgMT2bhJQsElIyzS05kyOn0m2B5/iZS9+W8vNwpqaPOyG+7oT4up393Y0QX3eCvd3w9XCmmquTQo3YKABJhXb11VdfMPxeRMoPq9UgPiWTo6fSOHo6jaOn0jl2Oo245HNBJ4uTqZkFWnLB18OZBgHVqB9QjfqBntQPqEZYDU9q+brj7lK4edFE7B6Apk+fzhtvvEFMTAzh4eG89957tiUQ8jN16lQ++OADjhw5gr+/P3fccQeRkZF5+lYcP36cZ555hp9++om0tDQaNGjAnDlzLpiET0REiscwDE6nZXPsdBrHTqfnCTpHz+7LKmD/G283J/yruZqblws1fdxpEHg28AR4UqOaayl/GqlK7BqA5s+fz5gxY5gxYwYRERFMnTqVPn36sGfPHgIDAy84fu7cuYwdO5bZs2fTqVMn9u7da1vyYMqUKQCcPn2azp07c8011/DTTz8REBDAvn378PPzK+uPJyJSKeTkWjl8Mo39cckcO51uCzrm72mkZl16MWgHC9T0cSe0ujuhfh6EVvcg2NsNfy8XW+CpUc0FVye14kjZsWsAmjJlCg8++KBtcr0ZM2awePFiZs+enWeOmnPWrl1L586dufvuuwGoW7cud911F+vXr7cd89prrxEaGsqcOXNs++rVq1fKn0REpHKIT85kd0wSe2KS2RWdzJ7YJPbGply2FSfQy5XQ6h7U8s0bdEL9PKjp64azo0MZfQKRgrFbAMrKymLTpk2MGzfOts/BwYFevXqxbt26fF/TqVMnPv/8czZs2ECHDh04ePAgS5YsYfDgwbZjFi1aRJ8+fejfvz+rVq2iVq1aPPzww5dcxyozM5PMzPOTWyUlJZXAJxQRKb8ysnPZF5vC7pgkdsckmz+jkzmZmpXv8R4ujjQMrEadGp7U9nOntp8Zcmr7mR2P3Qq5NqGIvdktACUkJJCbm0tQUFCe/UFBQezevTvf19x9990kJCTQpUsXDMMgJyeHESNG8Oyzz9qOOXjwIB988AFjxozh2WefZePGjTz66KO4uLjYVhP/r8jIyDyrnIuIVBaGYXDsdDp7zoacXTHJ7I5O4lBCKtZ8+h1bLFCvhieNg71oEuxN42Avmtb0ItTPo1KtBC5i907QhbFy5UpeeeUV3n//fSIiIti/fz+PPfYYL730EhMmTADMtaTatWvHK6+8AkCbNm3Yvn07M2bMuGgAGjduHGPGjLE9TkpKIjQ0tPQ/kIhIMSSkmGtSxSdnEpecSVxSJvEpGcQlmY/jkzOJT8m86O0rPw9nmtb0Pht2vGha05uGgV4aUSVVgt0CkL+/P46OjsTGxubZHxsbS3BwcL6vmTBhAoMHD7YtitmyZUtSU1MZPnw4zz33HA4ODtSsWdO2jtQ5TZs25ZtvvrloLa6urri6anTB5dStW5fRo0czevRoe5ciUqVk5Vg5EJ/Cruiks5vZmpOQkv/tqv9ydrRQP6AaTWt60yTYiyY1vWka7EWAl6vmxZEqy24ByMXFhbZt2xIVFUW/fv0As/UmKiqKUaNG5fuatLQ0HBzydqRzdDT/pXJuLpjOnTuzZ8+ePMfs3buXsLCwEv4EIiIlLy0rh+3Hk9h67Aw7z4ad/XHJ+c6T42CBQC83ArxcCfRyPf/T242Aaq4EersSUM2VIG83XJzUCVnk3+x6C2zMmDEMHTqUdu3a0aFDB6ZOnUpqaqptVNiQIUOoVasWkZGRAPTt25cpU6bQpk0b2y2wCRMm0LdvX1sQevzxx+nUqROvvPIKd955Jxs2bGDmzJnMnDnTbp9T7C83NxeLxXJBgBaxp5xcK3tik9l6LJG/j55hy9Ez7I1NzrdvjpebE02DvWla07xV1bSmN42CdLtKpMgMO3vvvfeMOnXqGC4uLkaHDh2MP/74w/Zc9+7djaFDh9oeZ2dnG88//7xRv359w83NzQgNDTUefvhh4/Tp03nO+cMPPxgtWrQwXF1djSZNmhgzZ84sVE2JiYkGYCQmJl7wXHp6urFz504jPT39/E6r1TAyU8p+s1oL/Jk+/PBDo2bNmkZubm6e/TfffLMxbNgwY//+/cbNN99sBAYGGp6enka7du2M5cuX5zk2LCzMePvttwv0fm+99ZbRokULw8PDw6hdu7bx0EMPGcnJyXmOWb16tdG9e3fD3d3d8PX1NXr37m2cOnXKMAzDyM3NNV577TWjfv36houLixEaGmq8/PLLhmEYxooVKwwgz3/3v/76ywCMQ4cOGYZhGHPmzDF8fHyM77//3mjatKnh6OhoHDp0yNiwYYPRq1cvo0aNGoa3t7fRrVs3Y9OmTXnqOn36tDF8+HAjMDDQcHV1NZo3b2788MMPRkpKiuHl5WUsWLAgz/ELFy40PDw8jKSkpHyvRb5/ZqTKsVqtxpGTqcaiLceNF3/YYdz+/hqj8fglRtgzP16wRUz+xXjwk43G1OV7jZ+3RxtHTqYa1kL8/y5SVV3q+/u/7N4JetSoURe95bVy5co8j52cnJg0aRKTJk265DlvuukmbrrpppIq8fKy0+CVkLJ7v3OePQEungU6tH///jzyyCOsWLGCnj17AnDq1CmWLl3KkiVLSElJ4YYbbmDy5Mm4urry6aef0rdvX/bs2UOdOnUKXZqDgwPvvvsu9erV4+DBgzz88MM8/fTTvP/++wBs2bKFnj17ct999/HOO+/g5OTEihUryM01J1QbN24cH330EW+//TZdunQhOjr6oqMDLyYtLY3XXnuNjz/+mBo1ahAYGMjBgwcZOnQo7733HoZh8NZbb3HDDTewb98+vLy8sFqtXH/99SQnJ/P5559Tv359du7ciaOjI56engwcOJA5c+Zwxx132N7n3GMvL69CXyepvJIystl6NJEtR0+z5WzrTn59drxcnWgV6kN4bV/CQ30Jr+1LsI9bPmcUkZJk9wAkZcPPz4/rr7+euXPn2gLQ119/jb+/P9dccw0ODg6Eh4fbjn/ppZdYuHAhixYtumhAvZR/d5SuW7cuL7/8MiNGjLAFoNdff5127drZHgM0b94cgOTkZN555x2mTZtmG7lXv359unTpUqgasrOzef/99/N8rh49euQ5ZubMmfj6+rJq1SpuuukmfvnlFzZs2MCuXbto1KgRAFdccYXt+AceeIBOnToRHR1NzZo1iYuLY8mSJfzyyy+Fqk0qD8MwiE7MYH+cuWjnzhNJbDl6hv3xKRcs3unkYKFZiDfhtX1pHWoGniv8PTW8XMQOFIBKgrOH2Rpjj/cthEGDBvHggw/y/vvv4+rqyhdffMHAgQNxcHAgJSWF559/nsWLFxMdHU1OTg7p6ekcOXKkSKX98ssvREZGsnv3bpKSksjJySEjI4O0tDQ8PDzYsmUL/fv3z/e1u3btIjMz0xbUisrFxYVWrVrl2RcbG8v48eNZuXIlcXFx5ObmkpaWZvucW7ZsoXbt2rbw818dOnSgefPmfPLJJ4wdO5bPP/+csLAwunXrVqxapfzLzMnlcEKaLeic2w7Gp5J2kaUgavu50zrUDDtt6vjSPMRHEwaKlBMKQCXBYinwrSh76tu3L4ZhsHjxYtq3b8/vv//O22+/DcCTTz7J8uXLefPNN2nQoAHu7u7ccccdZGUVbJjtvx0+fJibbrqJhx56iMmTJ1O9enVWr17N/fffT1ZWFh4eHri7u1/09Zd6DrB1ZDb+9c/r7OzsfM/z3yG+Q4cO5eTJk7zzzjuEhYXh6upKx44dbZ/zcu8NZivQ9OnTGTt2LHPmzGHYsGEaSlyJWK0Gx8+km7MjRyexOzaZPTHJHEpIJTe/3smYLTthNTyoH1CNRkFettadAC9NryFSXikAVSFubm7cdtttfPHFF+zfv5/GjRtz5ZVXArBmzRruvfdebr31VgBSUlI4fPhwkd5n06ZNWK1W3nrrLVtY+eqrr/Ic06pVK6KiovKdgbthw4a4u7sTFRVlm/Pp3wICAgCIjo62LXK7ZcuWAtW2Zs0a3n//fW644QYAjh49SkJCQp66jh07xt69ey/aCnTPPffw9NNP8+6777Jz586LTrAp5Z9hGOyLS2H9wZPsjDaXhNgbk3zRxT293JyoH1Atzwrl9QOrUae6h9a6EqlgFICqmEGDBnHTTTexY8cO7rnnHtv+hg0b8u2339K3b18sFgsTJkzAar304ocX06BBA7Kzs3nvvffo27cva9asYcaMGXmOGTduHC1btuThhx9mxIgRuLi4sGLFCvr374+/vz/PPPMMTz/9NC4uLnTu3Jn4+Hh27NjB/fffT4MGDQgNDeX5559n8uTJ7N27l7feeqtAtTVs2JDPPvuMdu3akZSUxFNPPZWn1ad79+5069aN22+/nSlTptCgQQN2796NxWLhuuuuA8z+VLfddhtPPfUUvXv3pnbt2kW6TlL2DMPgYEIq6w6cZN3Bk6w/eDLfjskujg7UD6xGk2Av2yzJTYK9CfLWxIEilYUCUBXTo0cPqlevzp49e7j77rtt+6dMmcJ9991Hp06dbAGkqIvChoeHM2XKFF577TXGjRtHt27diIyMZMiQIbZjGjVqxLJly3j22Wfp0KED7u7uREREcNdddwHmrN9OTk5MnDiREydOULNmTUaMGAGAs7MzX375JQ899BCtWrWiffv2vPzyyxftU/Rvs2bNYvjw4Vx55ZWEhobyyiuv8OSTT+Y55ptvvuHJJ5/krrvuIjU1lQYNGvDqq6/mOeb+++9n7ty53HfffUW6RlI2DMPgn5NprDt4knUHTvLHwZPEJWfmOcbVyYF2df1oHepL42BzhuS6/p5q0RGp5CyG8d9xCpKUlISPjw+JiYl4e3vneS4jI4NDhw5Rr1493Nw0VLWq+uyzz3j88cc5ceIELi4ulzxWf2bKzsmUTLYeS2TL0TP8fewMfx89w+m0vP3DXJwcuLKOLx2v8Kdj/RqEh/rg6qSOySKVwaW+v/9LLUAihZCWlkZ0dDSvvvoq//d//3fZ8COlJyM79/wMysfOsPXYGY6eSr/gOGdHC61Dfel4RQ2uql+DK+v4aSSWiCgASeF98cUX/N///V++z4WFhbFjx44yrqjsvP7660yePJlu3boxbtw4e5dTpVitBrtikli9L4HV+xPYcOgUmfmscl4/wJPws0PPW9X2pWlNL7XwiMgFdAssH7oFdmnJycnExsbm+5yzs7MWnv0P/ZkpuhNn0lm9L4Hf9yewdn8CJ1PzdlgO8HLlyjrmkPPWtX1pUdsHbzdnO1UrIvamW2BloCrnRi8vLy37UAhV+c9KYWVk5/LHwZOs3BPPb3vjOZiQmud5DxdHrrqiBl0a+NO1oT8NAqtpVJaIFIkCUCE5O5v/ukxLSyvQpHkiaWlpwPk/O5LX0VNprNwTx4o98aw9kEBG9vnbWg4WCA/1pWsDf7o0DKB1qC8uThqdJSLFpwBUSI6Ojvj6+hIXFweAh4eH/gUq+TIMg7S0NOLi4vD19cXRUf1QwFxS4s/Dp1mxO44Ve+I4EJ+3lSfY241rmgTQvVEAHev74+Ou4CgiJU8BqAiCg4MBbCFI5FJ8fX1tf2aqqrikDFbsiePX3XGs3peQZ6ZlRwcLbcP8uKZxINc0CaBxkJf+USEipU4BqAgsFgs1a9YkMDAw3zWoRM5xdnauki0/VqvB1uOJ/Lo7jhW749h2PDHP8/7VXLmmcQDXNAmkcwO18ohI2VMAKgZHR8cq+eUmkp/kjGx+35fAr7vjWLkn7oIlJsJr+9CjSRA9mgTSPMQbBwe18oiI/SgAiUiRGIbBgfhUVuw2b21tPHyKnH+tll7N1YmuDf3p0SSQqxsHamV0ESlXFIBEpMAysnNZf+iULfQcOZWW5/kr/D25pkkgPZsE0q5udY3YEpFySwFIRC7pZEomUbvjWL4zltX7EkjPPt+B2cXRgYgrqnNN40B6NAmkrr+nHSsVESk4BSARucCRk2ks2xnDsp2x/Hn4FP+6s0WQt+vZEVuBdGngj6er/hoRkYpHf3OJCIZhsONEEst2xrJsRwy7Y5LzPN+iljfXNg2mZ1OzA7OGqYtIRacAJFJFGYbBtuOJ/PD3CZZsi+H4mfMrqTs6WOhQtzq9mwdxbbMgavt52LFSEZGSpwAkUsXsj0tm0ZYT/LA1mkP/WmvLzdmB7o0C6N0smB5NAvHzdLFjlSIipUsBSKQKOHY6jR/+jmbR3yfYFZ1k2+/m7EDPpkH0bRVC90YBuLtoXisRqRoUgEQqqbSsHL776wTfbD7Gpn9O2/Y7OVjo1iiAm8ND6NUsiGrqxCwiVZD+5hOpZI6cTOOzPw4zf+NRkjJyALBYIKJedW4Or8X1LYJ1e0tEqjwFIJFKwDAMVu9P4JO1h4naHYdxdth6neoe3HNVHW4Or0Wwj5t9ixQRKUcUgEQqsJTMHL7dfIxP1h7mQPz5Ds3dGgVwb6cwrm4UqDW3RETyoQAkUsEYhsHfxxJZuPkY324+TnKmeZvL08WRO9rWZkinutQPqGbnKkVEyjcFIJEK4lBCKt/9dZxFf5/IM3z9Cn9PhnQM4/a2tfFyc7ZjhSIiFYcCkEg5Fp+cyY9bT/DdlhP8ffSMbb+bswO9mwVze9vadG3gr9tcIiKFpAAkUs5k51pZsi2abzYfZ83+BHLPLsTl6GChSwN/+rUJoXezYK3BJSJSDPobVKScyMm18t2WE7wbtY8jp9Js+8NDfenXOoSbWoUQ4OVqxwpFRCoPBSARO8u1Giz6+zjvRu239e3xr+bCoIgw+rWpRT1/TztXKCJS+SgAidiJ1Wrw47Zo3vllr20Iu5+HMyO612dwxzA8XPS/p4hIadHfsCJlzGo1WLojhqm/7GVvbAoAPu7ODO92BUM71dXSFCIiZUB/04qUEcMwWLYzlreX72V3TDIAXm5OPNj1CoZ1rqsh7CIiZUgBSKSUGYbByj3xTFm+l23HEwGo5urEfV3qcX+Xevi4K/iIiJQ1BSCRUnJufa4py/fy15EzAHi4OHJvp7oM73YFvh5akFRExF4UgERKwfqDJ3lr+V42HDoFmBMXDulYl//rdgU1qmkou4iIvSkAiZSgzUdOM2XZXlbvTwDAxdGBuyPq8PDV9Qn01mrsIiLlhQKQSAlISMlk0qIdLN4aDYCzo4U724UyqkcDavq427k6ERH5Lwd7FwAwffp06tati5ubGxEREWzYsOGSx0+dOpXGjRvj7u5OaGgojz/+OBkZGfke++qrr2KxWBg9enQpVC5VnWEYfL/lONdOWcXirdE4Oli4s11tfn3iaibf2lLhR0SknLJ7C9D8+fMZM2YMM2bMICIigqlTp9KnTx/27NlDYGDgBcfPnTuXsWPHMnv2bDp16sTevXu59957sVgsTJkyJc+xGzdu5MMPP6RVq1Zl9XGkColNyuC5hdv5ZVcsAE1revPGHa1oUcvHzpWJiMjl2L0FaMqUKTz44IMMGzaMZs2aMWPGDDw8PJg9e3a+x69du5bOnTtz9913U7duXXr37s1dd911QatRSkoKgwYN4qOPPsLPz68sPopUEYZhsODPo1w7ZRW/7IrF2dHCmGsb8f3Izgo/IiIVhF0DUFZWFps2baJXr162fQ4ODvTq1Yt169bl+5pOnTqxadMmW+A5ePAgS5Ys4YYbbshz3MiRI7nxxhvznPtiMjMzSUpKyrOJ5Of4mXSGztnIU19vJSkjh1a1ffjhkS482rMhLk52//eEiIgUkF1vgSUkJJCbm0tQUFCe/UFBQezevTvf19x9990kJCTQpUsXDMMgJyeHESNG8Oyzz9qOmTdvHps3b2bjxo0FqiMyMpIXXnih6B9EKj2r1eDLjUeIXLKblMwcXJwcGHNtIx7oUg8nRwUfEZGKpsL9zb1y5UpeeeUV3n//fTZv3sy3337L4sWLeemllwA4evQojz32GF988QVubgUbdjxu3DgSExNt29GjR0vzI0gFsy82mbs++oPnFm4nJTOHK+v4suTRrozoXl/hR0SkgrJrC5C/vz+Ojo7Exsbm2R8bG0twcHC+r5kwYQKDBw/mgQceAKBly5akpqYyfPhwnnvuOTZt2kRcXBxXXnml7TW5ubn89ttvTJs2jczMTBwdHfOc09XVFVdXTU4neaVm5vBu1D5mrT5EjtXAzdmBp/o04d5OdXF0sNi7PBERKQa7BiAXFxfatm1LVFQU/fr1A8BqtRIVFcWoUaPyfU1aWhoODnn/1X0u0BiGQc+ePdm2bVue54cNG0aTJk145plnLgg/Iv9lGAZLtsXw0o87iUkyp1e4tlkQE29qRmh1DztXJyIiJcHuw+DHjBnD0KFDadeuHR06dGDq1KmkpqYybNgwAIYMGUKtWrWIjIwEoG/fvkyZMoU2bdoQERHB/v37mTBhAn379sXR0REvLy9atGiR5z08PT2pUaPGBftF/utgfAqTFu3g933mTM6h1d154ebm9GgSdJlXiohIRWL3ADRgwADi4+OZOHEiMTExtG7dmqVLl9o6Rh85ciRPi8/48eOxWCyMHz+e48ePExAQQN++fZk8ebK9PoJUAulZuUxfsZ+Zvx0kK9eKi5MDI7rX5+Gr6+PmrFZDEZHKxmIYhmHvIsqbpKQkfHx8SExMxNvb297lSCn7ZWcskxbt4PiZdAC6NwrghZubU9ff086ViYhIYRTm+9vuLUAi9pKUkc3zi3bw7ebjAIT4uDGxb3P6NA/CYlEnZxGRykwBSKqktQcSeGrBVo6fScfBAg92vYLHejXEw0X/S4iIVAX6216qlIzsXN74eQ+zVh8CoE51D6bcGU67utXtXJmIiJQlBSCpMrYfT+Tx+VvYF5cCwF0d6jD+xqZ4uup/AxGRqkZ/80ull5Nr5YOVB3gnah85VgP/aq68fkdLDW0XEanCFICkUjuUkMqYr7bw15EzANzQMpiX+7WkuqeLfQsTERG7UgCSSskwDL5Yf4TJi3eRnp2Ll5sTL97SnH6ta2mEl4iIKABJ5ROfnMkz32zl191xAHRuUIM37ggnxNfdzpWJiEh5oQAklcovO2N55putnEzNwsXJgWeua8KwTnVx0OKlIiLyLwpAUimkZeXw8uJdzF1/BIAmwV5MHdiaJsGayVtERC6kACQV3t9HzzB6/hYOJaQC8GDXejzRu7HW8BIRkYtSAJIK69zw9qlR+8i1GgR7u/HWneF0buBv79JERKScUwCSCunEmXQe+fIvNv1zGoAbW9Vkcr8W+HpoeLuIiFyeApBUOPvjkhk8awPRiRl4uTrxYj8NbxcRkcJRAJIKZcvRMwybs4HTadnUD/Dkf8M6EFrdw95liYhIBaMAJBXG6n0JDP/sT9Kycgmv7cOcYR00o7OIiBSJApBUCEu2RTN63haycq10aeDPjMFtqaZFTEVEpIj0DSLl3tz1R3juu20YhrmW19sDWuPqpCHuIiJSdApAUm4ZhsH7Kw/wxs97ALirQx1e7tcCR83qLCIixaQAJOWS1WoweckuZq0+BMDIa+rzZO/GGuklIiIlQgFIyp3sXCvPfLOVbzcfB2D8jU15oOsVdq5KREQqEwUgKVdycq08+uVf/LQ9BkcHC6/f3orb29a2d1kiIlLJKABJuWG1Gjy54G9+2h6Di6MD0wddybXNguxdloiIVEIO9i5ABMwOz899t53vtpzAycGi8CMiIqVKAUjszjAMXvpxF19uOIKDBd4e0FrhR0RESpUCkNjdW8v2MnuNOdrrtdtb0Tc8xM4ViYhIZacAJHY1fcV+pq3YD8CLtzSnf7tQO1ckIiJVgQKQ2M2cNYdskxyOvb4JQzrWtW9BIiJSZSgAiV3M33iEF37YCcCjPRsyont9O1ckIiJViQKQlLnvtxxn7LfbAHiwaz0e79XQzhWJiEhVowAkZWrZjhjGfPU3hgH3XFWHZ29oquUtRESkzCkASZn568hpRn35F7lWg9uvrM2LN7dQ+BEREbtQAJIycfxMOg9+uomsHCu9mgby2u0tcdCq7iIiYicKQFLqUjJzuP9/G0lIyaRpTW/eGdgGJ0f90RMREfvRt5CUqlyrwWNf/sXumGT8q7ny8dB2eLpqCToREbEvBSApVa/+tIuo3XG4Ojnw0ZC21PJ1t3dJIiIiCkBSeuZtOMJHv5tLXLzZP5w2dfzsXJGIiIhJAUhKxdoDCYz/bjsAj/dqpPW9RESkXFEAkhJ3MD6Fhz7fTI7V4ObwEB7t2cDeJYmIiOShACQl6kxaFg988ieJ6dm0qePL63e00lw/IiJS7igASYnJzrXy8BebOZiQSi1fd2YOboebs6O9yxIREbmAApCUCMMwmPj9DtYeOImniyMfD21HgJervcsSERHJV7kIQNOnT6du3bq4ubkRERHBhg0bLnn81KlTady4Me7u7oSGhvL444+TkZFhez4yMpL27dvj5eVFYGAg/fr1Y8+ePaX9Maq0r/48ypcbjmCxwLt3taFpTW97lyQiInJRdg9A8+fPZ8yYMUyaNInNmzcTHh5Onz59iIuLy/f4uXPnMnbsWCZNmsSuXbuYNWsW8+fP59lnn7Uds2rVKkaOHMkff/zB8uXLyc7Opnfv3qSmppbVx6pSdsckMfH7HQA82bsxPZsG2bkiERGRS7MYhmHYs4CIiAjat2/PtGnTALBarYSGhvLII48wduzYC44fNWoUu3btIioqyrbviSeeYP369axevTrf94iPjycwMJBVq1bRrVu3y9aUlJSEj48PiYmJeHurJeNSUjJzuHnaag7Gp9K9UQBz7m2vNb5ERMQuCvP9bdcWoKysLDZt2kSvXr1s+xwcHOjVqxfr1q3L9zWdOnVi06ZNtttkBw8eZMmSJdxwww0XfZ/ExEQAqlevnu/zmZmZJCUl5dnk8gzD4LmF2zgYn0qwtxtvD2it8CMiIhWCXRdlSkhIIDc3l6CgvLdMgoKC2L17d76vufvuu0lISKBLly4YhkFOTg4jRozIcwvs36xWK6NHj6Zz5860aNEi32MiIyN54YUXivdhqqB5G4/y/ZYTODpYmHZ3G6p7uti7JBERkQKxex+gwlq5ciWvvPIK77//Pps3b+bbb79l8eLFvPTSS/keP3LkSLZv3868efMues5x48aRmJho244ePVpa5VcaO08kMWmR2e/nqT6NaVc3/9Y1ERGR8siuLUD+/v44OjoSGxubZ39sbCzBwcH5vmbChAkMHjyYBx54AICWLVuSmprK8OHDee6553BwOJ/pRo0axY8//shvv/1G7dq1L1qHq6srrq4asl1QyRnZjJy7mawcK9c0DmB41yvsXZKIiEih2LUFyMXFhbZt2+bp0Gy1WomKiqJjx475viYtLS1PyAFwdDQn2zvXn9swDEaNGsXChQv59ddfqVevXil9gqrHMAzGfbuNQwmphPi4MeVO9fsREZGKx64tQABjxoxh6NChtGvXjg4dOjB16lRSU1MZNmwYAEOGDKFWrVpERkYC0LdvX6ZMmUKbNm2IiIhg//79TJgwgb59+9qC0MiRI5k7dy7ff/89Xl5exMTEAODj44O7u7t9Pmgl8cX6I/y4NRonBwvv3X0lfur3IyIiFZDdA9CAAQOIj49n4sSJxMTE0Lp1a5YuXWrrGH3kyJE8LT7jx4/HYrEwfvx4jh8/TkBAAH379mXy5Mm2Yz744AMArr766jzvNWfOHO69995S/0yV1fbjibz4404Anr6uMW3D/OxckYiISNHYfR6g8kjzAF0oKSObvu+t5p+TafRqGshHQ9ppkVMRESlXKsw8QFIxGIbBuG+28c/JNGr5uvNm/3CFHxERqdAUgOSyvt18nMXbzvX7aYOvh/r9iIhIxaYAJJeUmJbNK0t2AfD4tY24so76/YiISMWnACSX9OayPZxMzaJBYDUe1Hw/IiJSSSgAyUVtPXaGz9f/A8CLtzTHxUl/XEREpHLQN5rkK9dqMP677RgG9GsdQqf6/vYuSUREpMQoAEm+vtxwhK3HEvFydeLZG5vauxwREZESpQAkF0hIyeT1pbsBeKJ3IwK93OxckYiISMlSAJILRC7ZTVJGDs1DvLnnqjB7lyMiIlLiFIAkjw2HTvHN5mNYLPByvxY4OeqPiIiIVD5F+nZbsWJFSdch5UB2rpUJ320HYGD7OrTRnD8iIlJJFSkAXXfdddSvX5+XX36Zo0ePlnRNYif/W3OYPbHJ+Hk483SfxvYuR0REpNQUKQAdP36cUaNG8fXXX3PFFVfQp08fvvrqK7Kyskq6Pikj0YnpTP1lLwDjrm+Kn6eWuxARkcqrSAHI39+fxx9/nC1btrB+/XoaNWrEww8/TEhICI8++ih///13SdcppezlH3eRmpVL2zA/7mhb297liIiIlKpi93C98sorGTduHKNGjSIlJYXZs2fTtm1bunbtyo4dO0qiRillv+2NZ/G2aBwdLLzcrwUODlrpXUREKrciB6Ds7Gy+/vprbrjhBsLCwvj555+ZNm0asbGx7N+/n7CwMPr371+StUopyMjOZeL3ZsfnoR3r0rSmt50rEhERKX1ORXnRI488wpdffolhGAwePJjXX3+dFi1a2J739PTkzTffJCQkpMQKldIxe80hDp9MI9DLlcevbWjvckRERMpEkQLQzp07ee+997jttttwdXXN9xh/f38Nly/nkjOy+XDVQQDGXt8ELzdnO1ckIiJSNooUgKKioi5/YicnunfvXpTTSxn535rDJKZnUz/Ak1ta17J3OSIiImWmSH2AIiMjmT179gX7Z8+ezWuvvVbsoqT0JaZn89HvZuvPY70a4aiOzyIiUoUUKQB9+OGHNGnS5IL9zZs3Z8aMGcUuSkrfnDWHSMrIoWFgNW5sWdPe5YiIiJSpIgWgmJgYata88EszICCA6OjoYhclpSsxLZtZqw8BMFqtPyIiUgUVKQCFhoayZs2aC/avWbNGI78qgFmrD5KckUOTYC+ubxFs73JERETKXJE6QT/44IOMHj2a7OxsevToAZgdo59++mmeeOKJEi1QStaZtCxmrzkMwGM9G2rSQxERqZKKFICeeuopTp48ycMPP2xb/8vNzY1nnnmGcePGlWiBUrI+/v0QKZk5NK3pTZ/mav0REZGqyWIYhlHUF6ekpLBr1y7c3d1p2LDhRecEqmiSkpLw8fEhMTERb+/KMzPyqdQsur72K6lZuXw4uK0CkIiIVCqF+f4uUgvQOdWqVaN9+/bFOYWUoY9+P0hqVi7NQ7zp3SzI3uWIiIjYTZED0J9//slXX33FkSNHbLfBzvn222+LXZiUrJMpmXyy9jAAj/dqhMWivj8iIlJ1FWkU2Lx58+jUqRO7du1i4cKFZGdns2PHDn799Vd8fHxKukYpATN/O0haVi6tavvQs2mgvcsRERGxqyIFoFdeeYW3336bH374ARcXF9555x12797NnXfeSZ06dUq6RimmhJRMPl33DwCjezVU64+IiFR5RQpABw4c4MYbbwTAxcWF1NRULBYLjz/+ODNnzizRAqX4Plx1gPTsXMJDfbmmsVp/REREihSA/Pz8SE5OBqBWrVps374dgDNnzpCWllZy1UmxxSVn8NkfZuvP42r9ERERAYrYCbpbt24sX76cli1b0r9/fx577DF+/fVXli9fTs+ePUu6RimGGSsPkpFtpU0dX7o3CrB3OSIiIuVCkQLQtGnTyMjIAOC5557D2dmZtWvXcvvttzN+/PgSLVCKLjYpgy/Wn2v90cgvERGRcwodgHJycvjxxx/p06cPAA4ODowdO7bEC5Pi+2DlATJzrLQL86NrQ397lyMiIlJuFLoPkJOTEyNGjLC1AEn5lJiWzfyNRwF4TH1/RERE8ihSJ+gOHTqwZcuWEi5FStL8P4+Qnp1Lk2AvujRQ64+IiMi/FakP0MMPP8yYMWM4evQobdu2xdPTM8/zrVq1KpHipGhycq18stbs+3Nf53pq/REREfmPIgWggQMHAvDoo4/a9lksFgzDwGKxkJubWzLVSZEs2xnL8TPpVPd04ebWIfYuR0REpNwpUgA6dOhQSdchJWj2avO/zz0RdXBzdrRzNSIiIuVPkQJQWFhYSdchJeTvo2f485/TODtauOcq/XcSERHJT5EC0KeffnrJ54cMGVKkYqT45qwxW3/6tgoh0NvNztWIiIiUT0UKQI899liex9nZ2aSlpeHi4oKHh0ehA9D06dN54403iImJITw8nPfee48OHTpc9PipU6fywQcfcOTIEfz9/bnjjjuIjIzEzc2tyOesDGKTMvhxazQAwzrXs3M1IiIi5VeRhsGfPn06z5aSksKePXvo0qULX375ZaHONX/+fMaMGcOkSZPYvHkz4eHh9OnTh7i4uHyPnzt3LmPHjmXSpEns2rWLWbNmMX/+fJ599tkin7Oy+GzdP+RYDTrUrU7L2j72LkdERKTcshiGYZTUyf7880/uuecedu/eXeDXRERE0L59e6ZNmwaA1WolNDSURx55JN8ZpkeNGsWuXbuIioqy7XviiSdYv349q1evLtI5/yspKQkfHx8SExPx9vYu8Gexp4zsXDpGRnE6LZsZ91zJdS1q2rskERGRMlWY7+8itQBdjJOTEydOnCjw8VlZWWzatIlevXqdL8jBgV69erFu3bp8X9OpUyc2bdrEhg0bADh48CBLlizhhhtuKPI5MzMzSUpKyrNVNN/9dZzTadnU9nPn2mbB9i5HRESkXCtSH6BFixbleWwYBtHR0UybNo3OnTsX+DwJCQnk5uYSFBSUZ39QUNBFW5HuvvtuEhIS6NKlC4ZhkJOTw4gRI2y3wIpyzsjISF544YUC113eGIbB7LOdn+/tVBdHB018KCIicilFCkD9+vXL89hisRAQEECPHj146623SqKui1q5ciWvvPIK77//PhEREezfv5/HHnuMl156iQkTJhTpnOPGjWPMmDG2x0lJSYSGhpZUyaVuzf6T7I1NwdPFkTvbV5y6RURE7KVIAchqtZbIm/v7++Po6EhsbGye/bGxsQQH538bZ8KECQwePJgHHngAgJYtW5Kamsrw4cN57rnninROV1dXXF1dS+AT2ces1QcB6N8uFG83ZztXIyIiUv6VaB+gwnJxcaFt27Z5OjRbrVaioqLo2LFjvq9JS0vDwSFv2Y6O5mzHhmEU6ZwV2YH4FFbsicdiMW9/iYiIyOUVKQDdfvvtvPbaaxfsf/311+nfv3+hzjVmzBg++ugjPvnkE3bt2sVDDz1Eamoqw4YNA8xJFceNG2c7vm/fvnzwwQfMmzePQ4cOsXz5ciZMmEDfvn1tQehy56xM/rfmMAA9mwRR19/z0geLiIgIUMRbYL/99hvPP//8Bfuvv/76QvcBGjBgAPHx8UycOJGYmBhat27N0qVLbZ2Yjxw5kqfFZ/z48VgsFsaPH8/x48cJCAigb9++TJ48ucDnrCwS07L5etMxAO7rUte+xYiIiFQgRZoHyN3dnS1bttC4ceM8+3fv3k2bNm1IT08vsQLtoaLMA/ThqgNE/rSbJsFe/PRYVywWjf4SEZGqq9TnAWrZsiXz58+/YP+8efNo1qxZUU4phZSTa+WTtYcBuK9LPYUfERGRQijSLbAJEyZw2223ceDAAXr06AFAVFQUX375JQsWLCjRAiV/P++I5URiBjU8Xbg5PMTe5YiIiFQoRQpAffv25bvvvuOVV17h66+/xt3dnVatWvHLL7/QvXv3kq5R8nFu4sNBV4Xh5uxo52pEREQqliIFIIAbb7yRG2+8sSRrkQLaG5vMpn9O4+Rg4Z6IOvYuR0REpMIpUh+gjRs3sn79+gv2r1+/nj///LPYRcmlzd94FICeTQMJ9HazczUiIiIVT5EC0MiRIzl69OgF+48fP87IkSOLXZRcXFaOlYV/HQfgznZa9kJERKQoihSAdu7cyZVXXnnB/jZt2rBz585iFyUXF7UrllOpWQR6udK9UYC9yxEREamQihSAXF1dL1hrCyA6OhonpyJ3K5ICmP+n2fJ2R9vaODnadSUTERGRCqtI36C9e/dm3LhxJCYm2vadOXOGZ599lmuvvbbEipO8ohPT+W1vPKDbXyIiIsVRpOaaN998k27duhEWFkabNm0A2LJlC0FBQXz22WclWqCc9/Wfx7AaEFGvutb9EhERKYYiBaBatWqxdetWvvjiC/7++2/c3d0ZNmwYd911F87OziVdowBWq8FXm8zbX2r9ERERKZ4id9jx9PSkS5cu1KlTh6ysLAB++uknAG6++eaSqU5s/jh4kqOn0vFydeKGljXtXY6IiEiFVqQAdPDgQW699Va2bduGxWLBMIw8a1Hl5uaWWIFi+ups5+e+rUNwd9HMzyIiIsVRpE7Qjz32GPXq1SMuLg4PDw+2b9/OqlWraNeuHStXrizhEiUxPZuftscAMEC3v0RERIqtSC1A69at49dff8Xf3x8HBwccHR3p0qULkZGRPProo/z1118lXWeVtmjLcTJzrDQJ9qJVbR97lyMiIlLhFakFKDc3Fy8vLwD8/f05ceIEAGFhYezZs6fkqhPg/Nw/d7YLzXOrUURERIqmSC1ALVq04O+//6ZevXpERETw+uuv4+LiwsyZM7niiitKusYqbceJRLYfT8LZ0UK/NrXsXY6IiEilUKQANH78eFJTUwF48cUXuemmm+jatSs1atRg/vz5JVpgVffV2YVPezcLprqni52rERERqRyKFID69Olj+71Bgwbs3r2bU6dO4efnp1s0JSgjO5fvtpi3F+9sr87PIiIiJaXEFu6qXr16SZ1Kzlq2M5bE9GxCfNzo0sDf3uWIiIhUGlpNsxw7d/vrjnahODqoZU1ERKSkKACVU0dPpbF6fwIA/dvWtnM1IiIilYsCUDm1YNMxADo3qEFodQ87VyMiIlK5KACVQ7lWg6//1MKnIiIipUUBqBxasz+BE4kZ+Lg706d5sL3LERERqXQUgMqhczM/92sdgpuzFj4VEREpaQpA5UxSRjbLd8QCmvtHRESktCgAlTOH4lPJyrUS5O1K8xAtfCoiIlIaFIDKmdikDACCvd3sXImIiEjlpQBUzsQmZwIQqAAkIiJSahSAypm4sy1AQd6udq5ERESk8lIAKmfO3QIL8lILkIiISGlRACpnYpPMW2BBugUmIiJSahSAyplzLUCBugUmIiJSahSAypn4ZLUAiYiIlDYFoHIkK8fKydQsQAFIRESkNCkAlSPxKWbrj7OjBT8PZztXIyIiUnkpAJUjtv4/Xm5YLBY7VyMiIlJ5KQCVI5oDSEREpGwoAJUjGgIvIiJSNhSAyhHbJIgKQCIiIqVKAagcOdcCpDmARERESle5CEDTp0+nbt26uLm5ERERwYYNGy567NVXX43FYrlgu/HGG23HpKSkMGrUKGrXro27uzvNmjVjxowZZfFRiiUuWctgiIiIlAW7B6D58+czZswYJk2axObNmwkPD6dPnz7ExcXle/y3335LdHS0bdu+fTuOjo7079/fdsyYMWNYunQpn3/+Obt27WL06NGMGjWKRYsWldXHKhLdAhMRESkbdg9AU6ZM4cEHH2TYsGG2lhoPDw9mz56d7/HVq1cnODjYti1fvhwPD488AWjt2rUMHTqUq6++mrp16zJ8+HDCw8Mv2rKUmZlJUlJSns0ezneC1i0wERGR0mTXAJSVlcWmTZvo1auXbZ+DgwO9evVi3bp1BTrHrFmzGDhwIJ6enrZ9nTp1YtGiRRw/fhzDMFixYgV79+6ld+/e+Z4jMjISHx8f2xYaGlq8D1YEGdm5JKZnAxCoFiAREZFSZdcAlJCQQG5uLkFBQXn2BwUFERMTc9nXb9iwge3bt/PAAw/k2f/ee+/RrFkzateujYuLC9dddx3Tp0+nW7du+Z5n3LhxJCYm2rajR48W/UMVUdzZ1h83Zwe83ZzK/P1FRESqkgr9TTtr1ixatmxJhw4d8ux/7733+OOPP1i0aBFhYWH89ttvjBw5kpCQkDytTee4urri6mrf206xyef7/2gWaBERkdJl1wDk7++Po6MjsbGxefbHxsYSHBx8ydempqYyb948XnzxxTz709PTefbZZ1m4cKFtZFirVq3YsmULb775Zr4BqDywdYDWCDAREZFSZ9dbYC4uLrRt25aoqCjbPqvVSlRUFB07drzkaxcsWEBmZib33HNPnv3Z2dlkZ2fj4JD3ozk6OmK1Wkuu+BKmOYBERETKjt1vgY0ZM4ahQ4fSrl07OnTowNSpU0lNTWXYsGEADBkyhFq1ahEZGZnndbNmzaJfv37UqFEjz35vb2+6d+/OU089hbu7O2FhYaxatYpPP/2UKVOmlNnnKqw4DYEXEREpM3YPQAMGDCA+Pp6JEycSExND69atWbp0qa1j9JEjRy5ozdmzZw+rV69m2bJl+Z5z3rx5jBs3jkGDBnHq1CnCwsKYPHkyI0aMKPXPU1SxWghVRESkzFgMwzDsXUR5k5SUhI+PD4mJiXh7e5fJe9418w/WHTzJOwNbc0vrWmXyniIiIpVJYb6/7T4RopjOjQILVCdoERGRUqcAVE6cmwcoqJoTbPgIdiwENc6JiIiUCrv3ARJIycwhJTOHaqRRZ9n9cGC5+USTm6Dvu+BZ49InEBERkUJRC1A5EJeUQW1LPN+6voDTgeXg5AYOzrD7R/igI+xbbu8SRUREKhUFoHIgdf9avnOZQCPLUagWDMN+ggejIKAJpMTCF3fA4ichK83epYqIiFQKCkD29vd8mi2/G39LEoecG8CDv0KtK6FmOAxfCRFnh+5v/AhmdocTW+xZrYiISKWgAGQvVitEvQQLh+NozWZpbns+qPce+PxrCLyzO1z/GtzzrdkylLAXPu4Jv78F1lz71S4iIlLBKQDZQ1YafH0v/P4mAKuDh/BQ9mP4+frlf3yDnvDwOmh6M1hzIOpF+N+NcPpwmZUsIiJSmSgAlbWkaJhzPez83uzo3O8D5nkPw8CBwEstg+FRHe78FPp9AC5ecGQdTGsPC4bBgV/NFiUREREpEAWgsnRiC3x0DURvAY8aMPQHaH33+TmALrcMhsUCre+Gh1ZDWBfIzYId38Jnt8I74bDyVThztNQ/hoiISEWnAFSWjv8JydHm6K4HoiDMXPH+3CzQBV4I1a8uDFsMw1dB+wfA1QcSj8DKSJja0gxE27+FnMxS+iAiIiIVmyZCLEvtHwCLA7S4Hdx8ADAM4/xCqIVdBiOktbn1fhl2/QCbP4XDv5u3xA78Cu7VodUAaNUfQq40W5BEREREAajMtbsvz8OkjBwyss3+O4FFXQne2R1a3Wlupw7CX1/AlrmQfALWf2Bu1a+Alv3Nzb9hcT+FiIhIhaZbYHYWd7b1x8fdGTdnx+KfsPoV0HMCPL4d7l5gtjY5uZvBaNVrMK0dfNgN1r4HiceL/34iIiIVkFqA7Cy2oB2gC8vBERr1NrfMFNizBLYtgP1REP23uS2bAGGdzVtkrQeBo3PJ1iAiIlJOKQDZma3/T0E7QBeFa7Xzt8hST8LO72Db13BkLfyz2twOroQ75qifkIiIVAm6BWZn50aABRa2A3RRedaA9vfDfT/B6O3QcxI4OMGOhbBhZtnUICIiYmcKQHZW4DmASoNvKHQdY44iA/j5OTi6sezrEBERKWMKQHZWJrfALidiBDS/FazZsGAopCbYrxYREZEyoABkZ3HJdmwBOsdigZvfgxoNIek4fPOAFlsVEZFKTQHIzs61AF1yHbCy4OoFAz4DZw84uMIcMi8iIlJJKQDZkWEY/+oDZOcABBDYFG6aav6+6nXY94tdyxERESktCkB2dCYtm6xccxbogGp2vAX2b+EDzs5WbcC3D2hxVRERqZQUgOzo3BD4Gp4uuDiVo/8U170KIW0g/bTZKVqLqoqISCVTjr51q55zs0Dbvf/Pfzm5Qv9PwM0Xjm8yh8eLiIhUIgpAdnR+CHw5uf31b35hcNtH5u8bP4KtC+xbj4iISAlSALKjcwuhBpXVLNCF1ag3dH3S/P2HR83WIBERkUpAAciOSm0h1JJ0zbNQrztkp8FHPWBGV1g9VZ2jRUSkQlMAsqNyMwfQpTg4wh2zofGN5pphMVvhl0kwtQXM6g3rZ0JKnL2rFBERKRStBm9HscnlaA6gS/H0h7vmmivJ7/oetn8Lh1fD0fXmtvQZqNcNWtwBTfuCu6+9KxYREbkkBSA7iivPnaDz41nDnCOo3X2QdMJcQX77N2bfoIMrzW3pWPP5jiPBK9jeFYuIiORLt8DsxGo1bOuABZbXTtCX4h1ihpwHf4VH/4Ie48G/EWSlwNp3YWpL+OExOHXQ3pWKiIhcQAHITk6mZpFrNbBYwL+ai73LKZ7qV0C3p2DkBrhrPoRGQG4WbPofvNcWvr4Porfau0oREREb3QKzk3MdoP2rueLkWElyqMUCja8zt3/Wwu9TYP9y8zbZ9m+gwbXQdQyEdYLcbPM2WuKxs9vRvD8NqzkPUUhre38qERGphBSA7CQuuYL1/ymssE7mFr0VVr8NO78zw9D+5eDhD2knAePS5/hyoHmLzTukLCoWEZEqRAHITmxzAFXE/j+FUbMV9J8DJ8ebfYO2zIW0BPM5RxfwqX12Cz3/u1cILHsO4nebIWjYT+Diad/PISIilYoCkJ1UiDmASlKN+tD3HegxAc4cMYOOhz84XOT2n38Dc+LF6L/h2+Fw52cXP1ZERKSQ9I1iJxViFujS4OkPta6EaoGXDjR+dWHgXLOVaPeP8OuLZVaiiIhUfgpAdnJ+DqAq0gJUFHWugpunmb+vfhv++sK+9YiISKWhAGQnsZW9E3RJCR9gDrEHc16hw2vsW4+IiFQKCkB2cu4WWIWcBLGsXf0sNOsH1myYPwhOHrB3RSIiUsEpANlBTq6VhJQKsg5YeeDgALfOgFptIf00zB1g/hQRESmichGApk+fTt26dXFzcyMiIoINGzZc9Nirr74ai8VywXbjjTfmOW7Xrl3cfPPN+Pj44OnpSfv27Tly5Ehpf5QCSUjJwjDA0cFCDc8KPgt0WXF2h4FfgndtOLkPvhpqTqYoIiJSBHYPQPPnz2fMmDFMmjSJzZs3Ex4eTp8+fYiLi8v3+G+//Zbo6Gjbtn37dhwdHenfv7/tmAMHDtClSxeaNGnCypUr2bp1KxMmTMDNrXy0ttiGwHu54uBgsXM1FYhXENw9D5w94dAqWPIkGJeZTFFERCQfFsOw7zdIREQE7du3Z9o0c7SP1WolNDSURx55hLFjx1729VOnTmXixIlER0fj6WlOljdw4ECcnZ357LPPClRDZmYmmZmZtsdJSUmEhoaSmJiIt7d3ET7VpS3bEcPwzzYRHurL9yM7l/j5K709P8GXdwEGBDSB2u3PbwFNNF+QiEgVlZSUhI+PT4G+v+36TZGVlcWmTZvo1auXbZ+DgwO9evVi3bp1BTrHrFmzGDhwoC38WK1WFi9eTKNGjejTpw+BgYFERETw3XffXfQckZGR+Pj42LbQ0NBifa7LiU0+Nwu0RoAVSePr4frXweJozhb912fww6PwQUd4LQw+vQV+fRn2/gypJ+1drYiIlEN2DUAJCQnk5uYSFBSUZ39QUBAxMTGXff2GDRvYvn07DzzwgG1fXFwcKSkpvPrqq1x33XUsW7aMW2+9ldtuu41Vq1ble55x48aRmJho244ePVq8D3YZmgOoBEQMhyf2mP2CuoyBul3NW2OZSXBwJfz2Bsy9E964Aj6/A+J227tiEREpRyr0UhizZs2iZcuWdOjQwbbParUCcMstt/D4448D0Lp1a9auXcuMGTPo3r37BedxdXXF1bXsWmNikzQHUImoFgBNbjA3gNwciN8FxzbCsT/Nnwl7zQVYD/wK7e6Dq8eBZw371i0iInZn1xYgf39/HB0diY2NzbM/NjaW4ODgS742NTWVefPmcf/9919wTicnJ5o1a5Znf9OmTcvNKDDbHEBqASpZjk4Q3NIMOv3eh1Eb4ZHN0OQmMHJh40fwXhtYNx1ysuxdrYiI2JFdA5CLiwtt27YlKirKts9qtRIVFUXHjh0v+doFCxaQmZnJPffcc8E527dvz549e/Ls37t3L2FhYSVXfDHE6hZY2alRHwZ+AUN/gKCWkJEIPz8L718FuxdrFJmISBVl91tgY8aMYejQobRr144OHTowdepUUlNTGTZsGABDhgyhVq1aREZG5nndrFmz6NevHzVqXHg746mnnmLAgAF069aNa665hqVLl/LDDz+wcuXKsvhIlxWXXEUXQrWnet3g/1bBli8g6iU4dQDm3W3u7/OK2XIkIiJVht0D0IABA4iPj2fixInExMTQunVrli5dausYfeTIERz+M6x5z549rF69mmXLluV7zltvvZUZM2YQGRnJo48+SuPGjfnmm2/o0qVLqX+ey8nMyeVUqnn7JUjLYJQtB0e4cgg0vxV+n2LeCjv0G8zoCq0GmB2ra7Ut+vljd5qTNDa+0bwdJyIi5Zbd5wEqjwozj0BhHTudRpfXVuDi6MCel6/DYtFEiHZz+h/4ZRLsWHh+X8iV0OFBMyQ5u1/+HGmnYPs38NfnEL3F3Nf0Zrh9Fjhplm8RkbJUYeYBqorOd4B2VfixN78w6P8/ePBXswXI0QVObIbvHoIpTWHZBDh16MLX5ebA3mXmchxvNTZnpI7eAg5O4OAMuxbBV4MhO6OsP5GIiBSQ2unLmOYAKodqtYXbZkLvyeakin/OhsSjsPZdWPseNLwW2j8IvnXg77nw93xI+dc8VcEtofUgaNnfDELzBsHepfDlQBg4F1w87PbRREQkfwpAZUxzAJVj1QKg6xjo/Jg5i/TGj+FAFOxbZm7/5lEDWt4Jre+Gmq3O72/QCwYtgLkD4eAK+OIOuHs+uHqV7WcREZFLUgAqY+eWwQhUB+jyy8Hx/ASLJw+YLUJ/fQaZKdCojxl6Gva5eB+fet1g8EIz/PyzBj67FQZ9De6+ZfoxRETk4hSAypjmAKpgatSHPpOh5ySwZoOLZ8FeVycChnxvhp9jG+HTm2Hwd+BRvVTLFRGRglEn6DIWrzmAKiYnl4KHn3NqXQn3LgYPf4j+G/53I6TElU59IiJSKApAZUwtQFVMcAsYtgSqBUPcTphzAySdsHdVIiJVngJQGTs3DF4tQFVIQGMzBPmEmhMlzrkezhy1d1UiIlWaAlAZysjOJTE9G9BCqFVOjfpmCPKrC6cPwzcPgNVq76pERKosBaAyFHe29cfd2REvV/U/r3J868CQReBSDY7+Ya5OLyIidqEAVIZik8/PAaRZoKsovzC49gXz91+eN1uDRESkzCkAlaFzHaB1+6uKa3sfhHWB7DRY9AgUdTm+vctg61dw6mDRzyEiUkXpPkwZCvRyo1/rEOoHVLN3KWJPDg5w87vwQWdzNfrNn0Dbewt3jg0fmWuQneMZAKERULu9+TOkdcEWcxURqaK0Gnw+SnM1eBGbddPh52fBxQtG/gE+tQv2um1fm52oMSCgiTlbtTU77zEOzuYSHaERENjMnMPI2cMMRbafZ3938QBnT3DUv4dEpGIrzPe3/sYTsZeIEbBjoTlT9I+Pw91fweX6hu1dBgv/DzCgw3C4/nXIyTQnWjy6/uy2AVLj4PgmcysIRxeo3xOa3wqNrwM3n2J/PBGR8kwtQPlQC5CUmfg9MKML5GbBrR9C+MCLH/vPOnNpjZx0c+X5W2eat9P+yzDgzD9mEDq6Hk7/A9npZp8j289//W78Zzi+LQz1g8bXKwyJSIVRmO9vBaB8KABJmfr9LYh6Edx8YeQG8Aq68JiYbTDnRshMhIa9YeBccHQu/nsbhhm+Tu6Hnd/Dju8gYc/55xWGRKQCUQAqJgUgKVO52fBxT/M2VpObYMDneW+FnTwAs68zb2vV6Qj3fGv22yktcbvMW3P/DUMOzmYn67pdoG5nqN2hdOsQESkkBaBiUgCSMhezDWZeDdYc6P8/sy8OQFI0zO4NZ45AUEu490dw9y27uuJ2mUFo53cQvzvvcw7OUKutGYbCOpsdrl01wlFE7EcBqJgUgMQuVkTCqlfN1eNHbjBbgebcAPG7wK8e3Pdz/rfHysrJA3B4tbn9swaSjud93sEJQtrAFVdDg15Qq51GlolImVIAKiYFILGLnCyY2d1cNb7ZLeaq8cc2gldNuG+puY5YeWEY5izW58LQ4dWQ+J8FXl19oP7VZhiq3xN8atmjUhGpQhSAikkBSOzm+GazP9C5kVluvjDsJwhqZteyCuT0P3D4dzjwq7mln877fEBTaNDTDERhncDJ1T51ikilpQBUTApAYlfLJ8GaqebkhEO+h9D29q6o8Ky5cOIv2P+LuR3flHe4fbVg6DkBwu8CB0f71SkilYoCUDEpAIld5WSZy2OERpizOVcGaafg4ArYHwX7lpsj2gCCW0LvyXBFd/vWJyKVggJQMSkAiZSinEzYMBNWvWHOawTQ+Aa49kXwb2jf2kSkQivM97dWgxeRsuXkCp0egUf/MpfzsDjCniXw/lWw5GmztUhEpJSpBSgfagESKUPxe2H5RNj7k/nYzQe6PQ0dHjRbi1LjzS0l7vzv5x5npZjHe9QA9+rmT4/qZ7ez+zz9zcVgRaTS0y2wYlIAErGDgyvh5/EQu818bHG4cJ2yorA4QLv7zL5Gzm7FP19xHV4Ne5dCxEOaGkCkhCkAFZMCkIidWHPh7y8h6iVIiTH3uVQDzwBzqxZotuh4BpqPXatBRiKknTRvnaWdhPRTZ38/+zg30zxPcCtzlu0a9QtfV0YirJ1mtiRd9VDRhvBbc+G3N2Dlq4Bh1t//E3MmbREpEQpAxaQAJGJnOVmQEmvexirOemOGYY48WzjcDEMuXnDLe+eXGinI67d+BcvGnx+5FtAEbp5WuOkJUuLh2wfMVi4wA1xqnDl7du/JEPF/edd/E5EiUSdoEanYnFzAN7T4i61aLNCwF/zf7+ZCslnJsOBeWPwkZGdc+rWxO8ylSBYON8NK9fpmq038bph1LSwdB1mpl6/h8BqY0cUMP84ecOuH8Njf0LK/ufbb0mdg4f9BVlrxPquIFIoCkIhUfj61YOiP0GWM+XjjR+Yis6cOXnhsRhIsfRZmdIUja83Q0nMSPLzOXKMt/C7AgD/eh/c7nm/V+S+rFX5/Cz65ybyd598YHlwB4QPNYHfbR9An0hwFt3W+Wc/pw6V0AS4hOwO+edD8LEc3lv37i9iJboHlQ7fARCqxfcvh2+FmXyFXb7j5PWjez7zdtf0b+Pm58/2Pmt4MfV4xW6PynOMX+HH0+fXPrhwC174E7r7m47RT5nvsX24+bjUQbpqS/2i0Q7+brVJpCeDuB7fPMpcMKQvZ6TBvEByIMh87usCNb5mfR6QCUh+gYlIAEqnkEo/D1/fB0T/Mx23vPbva/e/m4+pXwPVvmLfPLiYzGX55wWxNAnN5j5umgIc/fD0Mko6Dkxvc8Aa0GXzpPj6Jx2D+YDix2Ry11mMCdHm8dPsFZaXBlwPh0CqzlSu0w/nWrHb3wXWvmbciRSoQBaBiUgASqQJys2HFZFj99vl9Tu7Q7Qno9GjBR3r9sxa+HwWnDpiPzw3fr14f7vwUglsU7DzZGbDkSfjrM/Nx05uh+zMQ0BgcnQv+uQoiMwXmDoB/Vpuj7AYtgNCrYPVb8OtkwDCXYrnzU/AKLtn3Lo8MA04fAp864Ohk72qkGBSAikkBSKQK2bsMfnr67LpkL4NfWOHPkZ0Oq16DNe+CkQvNb4O+74BbIf/+MAzYNMecEduabe5zdIXApmZ9NcPN4fxBzc0pAIoiMxm+6A9H1pmj4u75BupEnH9+789mn6DMRPCqCXd+dvkRb7nZcOBX+HueueabT6jZohQaAbXbg1/dy7dmWa1wcr+5cO7xTeZiutUCofPovPWVtMTj5u3MfcsgsDnc+CaEdSq99yuoLV/Cxo/NENyot72rqTAUgIpJAUhEiiRul/mF2qBn8W5fHd0Av74EJ7ZAZlI+B1jM+YyCW0GDXuaw/oKMmMtIhM9vh2MbwdUHBi+E2m0vPO7kAZh3tznizdEFbngT2g7Ne4xhQMxWM/RsW2DOzn0xngHnw1BoBwhpA+lnzoedc4En388K1O8BV48zX1tSDMNsbfv5uQvfN/wuc226aoEl936FsXcZfDng7ESgFrOWTo9oqoQCUAAqJgUgESkXrFY4cxhitkH0VjNwxGyD5Oi8x7l6m8Pq294LNVvlf6700/DZbWY/IzdfGPKdGUQuJjMZvnsIdv1gPm47DK5/3ZxPadtXZvCJ23n+eA9/s4Zmt5j1HdtoBrnov8+3Zp1zsVm+ndwhpDXUags1W5t9srZ8YU4XAFC/59kgVIg5mPJz5ggsetRsrQKo1Q76TIYtc2Hzp4BhBsSeE8z+UA6OxXu/wojZBrOvM5d5qV7//K3V1oPgpreLNglnFaIAVEwKQCJSrqXEQ8zfcOxPc+bsfw+fD2kDVw6FlneAq5e5L+0UfHqLGaDcq8PQReYttcsxDHMo/68vAwZ414bkE+fDi6MrNLnBbDGp3yP/vkrZGRC9xQxDxzaYQ+1TYswQFNgMal1pBp5abSGg6YV9cE4fht/eNMOJkWvua9DLDEK12xXuulmtsGk2LJ9kBgwnN+gxHq56+HzIOfYnLB5jBjcwW9lunFL80FUQSdHwcU+zA33drnDPt/DnbPh5nHnNQyNgwBdQLaD0a/mv3BxYPsFsrbtxSsH7tpUxBaBiUgASkQrDaoXDv8GmT8zWmnOtLc6e0OI2aHG7OZN17HbzVtSQRRDUrHDvsW85fHO/eQsNzEklwwdCs37nh/4XlGFAcozZP6owi9SeOgS/v2n2jbEFoWuh0yhzdm7PQHC4xNR2pw7BokfOj/Sr09Gc0du/wYXHWnPN4BH1ktkXCsypAXo+D541Cl5zYWSmwJzrzZDq3wjuX2ZOiwCw/xdYcJ9Zi08o3PVlwQJsSclKM0c27l1qPnapBrd/DI2vL7saCkgBqJgUgESkQkpNMFuENn0CJ/flfa5aEAz9wRxVVhSnD5tBqEFPc5oAezl1EH57y/yc54IQmH2VvGuZczb5nNtqm49jd5p9qrLTzk9s2WH4pQMTmC1tyyfC33PNx+5+5hQFVw4t2dFi1lxzPqa9P5m3Eh/4BarXy3tM/F6zX9Cpg2a4vW0mNL2p5Gq4mPTTMHegOWWEk5vZAf/4Jsy+SS+YIybLUd+kCheApk+fzhtvvEFMTAzh4eG89957dOiQf2e3q6++mlWrVl2w/4YbbmDx4sUX7B8xYgQffvghb7/9NqNHjy5QPQpAIlKhGYY5ymvTJ7DzO/NLdch34N/Q3pWVnJMH4PcpZj+e5Oj8+xT9V92u5sSX/w0Xl/PPOlj8BMTtMB8HNIU+L5u34krC0nHmzOKOrnDvjxfv7J12ypw089DZ78AeE6DrE6UXQJJOmJ3m43aafaLunmd2ZF/ylDlaEcpd36QKFYDmz5/PkCFDmDFjBhEREUydOpUFCxawZ88eAgMv7IF/6tQpsrKybI9PnjxJeHg4H3/8Mffee2+eYxcuXMgLL7xAfHw8Tz31lAKQiFQ9WWnmF6Szu70rKT252WYIOnPUnFQy8ci/fj8KuVlmS0XbYZdv9bnoe+TAn7NgZaTZKgJmAOr9sjlNQVFt+Mic/wngjtnmLctL1pENPz8LG2aaj1vcAVc9ZN5OdKlmTo/g4lX8FqqE/fDZrea1rBZsTpdwrt+PYZjvv3SsGTzrdIIBn4Gnf/HeswRUqAAUERFB+/btmTZtGgBWq5XQ0FAeeeQRxo4de9nXT506lYkTJxIdHY2n5/n7ycePHyciIoKff/6ZG2+8kdGjRysAiYhI8aSfNjtlr//Q7G9lcTBviV3zbOGHzf97uHuPCdDtyYK/duMssyXm37cB/83JLW8gqtUGWt4JYZ0vHwKPb4Yv7jBH/FWvD4O/Nedy+q99v5h9gzKTwDcM7p5fvDBYAirMavBZWVls2rSJXr3ONyM6ODjQq1cv1q1bV6BzzJo1i4EDB+YJP1arlcGDB/PUU0/RvHnzy54jMzOTpKSkPJuIiMgF3P3MIfMj10PTvmZ42TQH3r3SvCWXnVGw88RsM8ODYTVvI3V9onB1tL/fvK1Zu705g7W7Hzj8axReToa5vtzpwxC7zRze/8lNMLWl2a8pdkf+5z2wAj7pa4afmq3hvp/zDz9gLhXzwC/m82f+gY+vNfuJVRB2nfM7ISGB3NxcgoKC8uwPCgpi9+7dl339hg0b2L59O7Nmzcqz/7XXXsPJyYlHH320QHVERkbywgsvFLxwERGp2mrUhwGfw+E15i2p6C0Q9QL8OQfaDjHnZnJ2N+c2cnY7+/Ps74YBXw0xh+LX7Qo3TS1aP5563cwA8m85mZCVas7jlJViji5LO2l2sN7xPSQdgzXvmFtQC3Puppb9wacWbP/WXMTXmg31usPAL85PpXAxAY3hwRXmWnb/rIa5d5oTN4bfBR41ylUH6f+y6y2wEydOUKtWLdauXUvHjh1t+59++mlWrVrF+vXrL/n6//u//2PdunVs3brVtm/Tpk3ceOONbN68mZCQEADq1q17yVtgmZmZZGZm2h4nJSURGhqqW2AiInJ5Vqs5OeQvL5jzJBVUjYbwwPLzw91LW3aGueTH1vnmz9xz/Wkt5jxMxzcBhjm9wW0zC9exOSfLnD/p3Fp2YN6G86l9fkSe7efZzbuWGQhLUGFugdm1Bcjf3x9HR0diY2Pz7I+NjSU4+NIL8KWmpjJv3jxefPHFPPt///134uLiqFOnjm1fbm4uTzzxBFOnTuXw4cMXnMvV1RVX1/LRg11ERCoYBwdzXqSmN5sdpWN3mOvD5WSYQ++zMyAn3fyZnW7+7lfXnEunrMIPmGGj2c3mln4adn4PW7+Cf9bA8T/NY9o/YM74XdjZr51czBF2QS1g7bvmZI45Geb6bif35/+ahr3NhXjtxK4ByMXFhbZt2xIVFUW/fv0As/9OVFQUo0aNuuRrFyxYQGZmJvfcc0+e/YMHD87TpwigT58+DB48mGHDhpVo/SIiIjYuHuaaXRWBu5+5dErbe82lQXZ8Z05q2WZw0W9bWSxw1Qhzy8k0h9EnHjs/Gi/x6L8eHzNbhOzIrgEIYMyYMQwdOpR27drRoUMHpk6dSmpqqi2sDBkyhFq1ahEZGZnndbNmzaJfv37UqJF3Vs4aNWpcsM/Z2Zng4GAaNy7iBGAiIiKVlW8d6FywPrMF5uRqzrd0sTmXDONft+Dsw+4BaMCAAcTHxzNx4kRiYmJo3bo1S5cutXWMPnLkCA7/GbK3Z88eVq9ezbJly+xRsoiIiBSHxWL3yRPtPg9QeaR5gERERCqeCjMPkIiIiIg9KACJiIhIlaMAJCIiIlWOApCIiIhUOQpAIiIiUuUoAImIiEiVowAkIiIiVY4CkIiIiFQ5CkAiIiJS5SgAiYiISJWjACQiIiJVjgKQiIiIVDl2Xw2+PDq3PmxSUpKdKxEREZGCOve9XZB13hWA8pGcnAxAaGionSsRERGRwkpOTsbHx+eSx1iMgsSkKsZqtXLixAm8vLywWCwleu6kpCRCQ0M5evQo3t7eJXpuuZCud9nS9S5but5lS9e7bBXlehuGQXJyMiEhITg4XLqXj1qA8uHg4EDt2rVL9T28vb31P1AZ0vUuW7reZUvXu2zpepetwl7vy7X8nKNO0CIiIlLlKACJiIhIlaMAVMZcXV2ZNGkSrq6u9i6lStD1Llu63mVL17ts6XqXrdK+3uoELSIiIlWOWoBERESkylEAEhERkSpHAUhERESqHAUgERERqXIUgMrQ9OnTqVu3Lm5ubkRERLBhwwZ7l1Qp/Pbbb/Tt25eQkBAsFgvfffddnucNw2DixInUrFkTd3d3evXqxb59++xTbCUQGRlJ+/bt8fLyIjAwkH79+rFnz548x2RkZDBy5Ehq1KhBtWrVuP3224mNjbVTxRXbBx98QKtWrWyTwXXs2JGffvrJ9ryudel69dVXsVgsjB492rZP17zkPP/881gsljxbkyZNbM+X5rVWACoj8+fPZ8yYMUyaNInNmzcTHh5Onz59iIuLs3dpFV5qairh4eFMnz493+dff/113n33XWbMmMH69evx9PSkT58+ZGRklHGllcOqVasYOXIkf/zxB8uXLyc7O5vevXuTmppqO+bxxx/nhx9+YMGCBaxatYoTJ05w22232bHqiqt27dq8+uqrbNq0iT///JMePXpwyy23sGPHDkDXujRt3LiRDz/8kFatWuXZr2tespo3b050dLRtW716te25Ur3WhpSJDh06GCNHjrQ9zs3NNUJCQozIyEg7VlX5AMbChQttj61WqxEcHGy88cYbtn1nzpwxXF1djS+//NIOFVY+cXFxBmCsWrXKMAzz+jo7OxsLFiywHbNr1y4DMNatW2evMisVPz8/4+OPP9a1LkXJyclGw4YNjeXLlxvdu3c3HnvsMcMw9Oe7pE2aNMkIDw/P97nSvtZqASoDWVlZbNq0iV69etn2OTg40KtXL9atW2fHyiq/Q4cOERMTk+fa+/j4EBERoWtfQhITEwGoXr06AJs2bSI7OzvPNW/SpAl16tTRNS+m3Nxc5s2bR2pqKh07dtS1LkUjR47kxhtvzHNtQX++S8O+ffsICQnhiiuuYNCgQRw5cgQo/WutxVDLQEJCArm5uQQFBeXZHxQUxO7du+1UVdUQExMDkO+1P/ecFJ3VamX06NF07tyZFi1aAOY1d3FxwdfXN8+xuuZFt23bNjp27EhGRgbVqlVj4cKFNGvWjC1btuhal4J58+axefNmNm7ceMFz+vNdsiIiIvjf//5H48aNiY6O5oUXXqBr165s37691K+1ApCIFNnIkSPZvn17nnv2UvIaN27Mli1bSExM5Ouvv2bo0KGsWrXK3mVVSkePHuWxxx5j+fLluLm52bucSu/666+3/d6qVSsiIiIICwvjq6++wt3dvVTfW7fAyoC/vz+Ojo4X9FyPjY0lODjYTlVVDeeur659yRs1ahQ//vgjK1asoHbt2rb9wcHBZGVlcebMmTzH65oXnYuLCw0aNKBt27ZERkYSHh7OO++8o2tdCjZt2kRcXBxXXnklTk5OODk5sWrVKt59912cnJwICgrSNS9Fvr6+NGrUiP3795f6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\n"},"metadata":{}},{"output_type":"display_data","data":{"text/plain":["
"],"image/png":"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Z41zkpOTjYkTJxqGYRivvfaaERERYRQVFbneX7BggWG3242srCzDMAyjVatWxl//+teT1gAYf/vb31yvi4qKDMD44osvDMMwjBEjRhgTJkyonx9YRBqVxtyIiCUuuugiZsyYUWNfixYtXM9TUlJqvJeSksL69esBSE1NpXfv3gQFBbneHzhwIE6nk7S0NGw2G/v27WPw4MG11tCrVy/X86CgIEJDQ8nJyQFg4sSJjB49mrVr13LJJZcwatQozj333NP6WUWkcSnciIglgoKCjusmqi8BAQF1Os7Hx6fGa5vNhtPpBGD48OGkp6ezcOFCvvrqKwYPHsykSZP45z//We/1ikj90pgbEXFLK1asOO51YmIiAImJiWzYsIHi4mLX+8uWLcNut9O1a1dCQkJo164dS5YsOaMaWrZsyfjx43nvvfeYNm0ar7322hl9nog0DrXciIglysvLycrKqrHP29vbNWj3448/pl+/fpx33nm8//77rFy5kpkzZwIwduxYHnvsMcaPH8/jjz/OgQMHuOeee7jpppuIiYkB4PHHH+fOO+8kOjqa4cOHU1hYyLJly7jnnnvqVN+jjz5KUlISPXr0oLy8nPnz57vClYi4N4UbEbHEokWLiIuLq7Gva9eubN26FTDvZJo1axZ33XUXcXFxfPjhh3Tv3h2AwMBAvvzyS+677z769+9PYGAgo0eP5vnnn3d91vjx4ykrK+Pf//43f/rTn4iKiuKaa66pc32+vr5MmTKF3bt3ExAQwKBBg5g1a1Y9/OQi0tBshmEYVhchInIsm83GnDlzGDVqlNWliEgTpDE3IiIi4lEUbkRERMSjaMyNiLgd9ZaLyJlQy42IiIh4FIUbERER8SgKNyIiIuJRFG5ERETEoyjciIiIiEdRuBERERGPonAjIiIiHkXhRkRERDzK/wfa9QiffSo2LwAAAABJRU5ErkJggg==\n"},"metadata":{}}]},{"cell_type":"code","source":[],"metadata":{"id":"G6YXWB1IEFxG"},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":["# LSTM"],"metadata":{"id":"OjV7aQnGFpcF"}},{"cell_type":"code","source":["Je vis en , J'ai vécu dans différentes villes jusque-là, sauf la capital PARIS"],"metadata":{"id":"Z_exPUgoFqfb"},"execution_count":null,"outputs":[]},{"cell_type":"code","source":["adam = tf.keras.optimizers.Adam()"],"metadata":{"id":"1cpJByx8MVMy"},"execution_count":null,"outputs":[]},{"cell_type":"code","source":["embedding_dim = 16\n","model = tf.keras.models.Sequential(\n"," [\n"," tf.keras.layers.Embedding(vocab_size, embedding_dim),\n"," tf.keras.layers.Bidirectional(tf.keras.layers.LSTM(16, return_sequences=True, dropout=0.25)),\n"," tf.keras.layers.Bidirectional(tf.keras.layers.LSTM(16)),\n"," tf.keras.layers.Dense(8, activation='relu'),\n"," tf.keras.layers.Dense(1, activation='sigmoid')\n"," ]\n",")\n","\n","model.compile(loss='binary_crossentropy', optimizer=\"adam\", metrics=['accuracy'])\n","model_ckp = tf.keras.callbacks.ModelCheckpoint(filepath=\"best_model.h5\",\n"," monitor=\"val_accuracy\",\n"," mode=\"max\",\n"," save_best_only=True)\n","stop = tf.keras.callbacks.EarlyStopping(monitor=\"val_accuracy\", patience=2, restore_best_weights=True)"],"metadata":{"id":"CQ4iRjLkHx-j","executionInfo":{"status":"ok","timestamp":1687974746755,"user_tz":-60,"elapsed":2059,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}}},"execution_count":84,"outputs":[]},{"cell_type":"code","source":["model.summary()"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"p4PAUZ1pIo3g","executionInfo":{"status":"ok","timestamp":1687974750794,"user_tz":-60,"elapsed":6,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"fbc30d68-514d-4292-9a0f-43aca589aedf"},"execution_count":85,"outputs":[{"output_type":"stream","name":"stdout","text":["Model: \"sequential_7\"\n","_________________________________________________________________\n"," Layer (type) Output Shape Param # \n","=================================================================\n"," embedding_7 (Embedding) (None, None, 16) 1120000 \n"," \n"," bidirectional (Bidirectiona (None, None, 32) 4224 \n"," l) \n"," \n"," bidirectional_1 (Bidirectio (None, 32) 6272 \n"," nal) \n"," \n"," dense_14 (Dense) (None, 8) 264 \n"," \n"," dense_15 (Dense) (None, 1) 9 \n"," \n","=================================================================\n","Total params: 1,130,769\n","Trainable params: 1,130,769\n","Non-trainable params: 0\n","_________________________________________________________________\n"]}]},{"cell_type":"code","source":["h = model.fit(training_padded, training_labels, epochs=50, batch_size=2048,\n"," validation_data=(test_padded, test_labels),\n"," callbacks=[model_ckp])"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"KjfzqSTsIqF1","executionInfo":{"status":"ok","timestamp":1687975231194,"user_tz":-60,"elapsed":447967,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"857b6933-654d-4251-8f02-b6898d2e44b4"},"execution_count":86,"outputs":[{"output_type":"stream","name":"stdout","text":["Epoch 1/50\n","625/625 [==============================] - 60s 82ms/step - loss: 0.4975 - accuracy: 0.7528 - val_loss: 0.4657 - val_accuracy: 0.7776\n","Epoch 2/50\n","625/625 [==============================] - 16s 26ms/step - loss: 0.4500 - accuracy: 0.7862 - val_loss: 0.4624 - val_accuracy: 0.7798\n","Epoch 3/50\n","625/625 [==============================] - 11s 17ms/step - loss: 0.4359 - accuracy: 0.7933 - val_loss: 0.4666 - val_accuracy: 0.7792\n","Epoch 4/50\n","625/625 [==============================] - 11s 17ms/step - loss: 0.4250 - accuracy: 0.7985 - val_loss: 0.4743 - val_accuracy: 0.7784\n","Epoch 5/50\n","625/625 [==============================] - 10s 16ms/step - loss: 0.4149 - accuracy: 0.8033 - val_loss: 0.4811 - val_accuracy: 0.7775\n","Epoch 6/50\n","625/625 [==============================] - 8s 13ms/step - loss: 0.4054 - accuracy: 0.8081 - val_loss: 0.4933 - val_accuracy: 0.7770\n","Epoch 7/50\n","625/625 [==============================] - 8s 12ms/step - loss: 0.3961 - accuracy: 0.8124 - val_loss: 0.5052 - val_accuracy: 0.7764\n","Epoch 8/50\n","625/625 [==============================] - 12s 19ms/step - loss: 0.3878 - accuracy: 0.8165 - val_loss: 0.5240 - val_accuracy: 0.7764\n","Epoch 9/50\n","625/625 [==============================] - 9s 14ms/step - loss: 0.3795 - accuracy: 0.8205 - val_loss: 0.5341 - val_accuracy: 0.7733\n","Epoch 10/50\n","625/625 [==============================] - 7s 12ms/step - loss: 0.3720 - accuracy: 0.8240 - val_loss: 0.5585 - val_accuracy: 0.7723\n","Epoch 11/50\n","625/625 [==============================] - 8s 13ms/step - loss: 0.3652 - accuracy: 0.8276 - val_loss: 0.5829 - val_accuracy: 0.7730\n","Epoch 12/50\n","625/625 [==============================] - 8s 13ms/step - loss: 0.3586 - accuracy: 0.8312 - val_loss: 0.5879 - val_accuracy: 0.7713\n","Epoch 13/50\n","625/625 [==============================] - 8s 12ms/step - loss: 0.3524 - accuracy: 0.8339 - val_loss: 0.6078 - val_accuracy: 0.7715\n","Epoch 14/50\n","625/625 [==============================] - 8s 13ms/step - loss: 0.3462 - accuracy: 0.8370 - val_loss: 0.6214 - val_accuracy: 0.7710\n","Epoch 15/50\n","625/625 [==============================] - 7s 12ms/step - loss: 0.3401 - accuracy: 0.8401 - val_loss: 0.6377 - val_accuracy: 0.7687\n","Epoch 16/50\n","625/625 [==============================] - 9s 14ms/step - loss: 0.3345 - accuracy: 0.8426 - val_loss: 0.6742 - val_accuracy: 0.7677\n","Epoch 17/50\n","625/625 [==============================] - 6s 10ms/step - loss: 0.3290 - accuracy: 0.8456 - val_loss: 0.6858 - val_accuracy: 0.7690\n","Epoch 18/50\n","625/625 [==============================] - 8s 12ms/step - loss: 0.3236 - accuracy: 0.8480 - val_loss: 0.7097 - val_accuracy: 0.7663\n","Epoch 19/50\n","625/625 [==============================] - 7s 12ms/step - loss: 0.3185 - accuracy: 0.8504 - val_loss: 0.7164 - val_accuracy: 0.7671\n","Epoch 20/50\n","625/625 [==============================] - 7s 11ms/step - loss: 0.3139 - accuracy: 0.8526 - val_loss: 0.7497 - val_accuracy: 0.7651\n","Epoch 21/50\n","625/625 [==============================] - 8s 13ms/step - loss: 0.3097 - accuracy: 0.8546 - val_loss: 0.7617 - val_accuracy: 0.7643\n","Epoch 22/50\n","625/625 [==============================] - 6s 10ms/step - loss: 0.3058 - accuracy: 0.8567 - val_loss: 0.7790 - val_accuracy: 0.7656\n","Epoch 23/50\n","625/625 [==============================] - 8s 12ms/step - loss: 0.3016 - accuracy: 0.8584 - val_loss: 0.8079 - val_accuracy: 0.7647\n","Epoch 24/50\n","625/625 [==============================] - 7s 11ms/step - loss: 0.2978 - accuracy: 0.8604 - val_loss: 0.8158 - val_accuracy: 0.7637\n","Epoch 25/50\n","625/625 [==============================] - 8s 13ms/step - loss: 0.2947 - accuracy: 0.8616 - val_loss: 0.8467 - val_accuracy: 0.7631\n","Epoch 26/50\n","625/625 [==============================] - 6s 10ms/step - loss: 0.2914 - accuracy: 0.8630 - val_loss: 0.8786 - val_accuracy: 0.7640\n","Epoch 27/50\n","625/625 [==============================] - 8s 13ms/step - loss: 0.2891 - accuracy: 0.8641 - val_loss: 0.8882 - val_accuracy: 0.7637\n","Epoch 28/50\n","625/625 [==============================] - 7s 11ms/step - loss: 0.2860 - accuracy: 0.8655 - val_loss: 0.8975 - val_accuracy: 0.7599\n","Epoch 29/50\n","625/625 [==============================] - 8s 12ms/step - loss: 0.2834 - accuracy: 0.8667 - val_loss: 0.9253 - val_accuracy: 0.7616\n","Epoch 30/50\n","625/625 [==============================] - 7s 11ms/step - loss: 0.2812 - accuracy: 0.8676 - val_loss: 0.9110 - val_accuracy: 0.7620\n","Epoch 31/50\n","625/625 [==============================] - 8s 12ms/step - loss: 0.2786 - accuracy: 0.8688 - val_loss: 0.9657 - val_accuracy: 0.7635\n","Epoch 32/50\n","625/625 [==============================] - 7s 12ms/step - loss: 0.2767 - accuracy: 0.8697 - val_loss: 0.9703 - val_accuracy: 0.7620\n","Epoch 33/50\n","625/625 [==============================] - 8s 13ms/step - loss: 0.2748 - accuracy: 0.8704 - val_loss: 0.9747 - val_accuracy: 0.7585\n","Epoch 34/50\n","625/625 [==============================] - 8s 12ms/step - loss: 0.2732 - accuracy: 0.8711 - val_loss: 0.9882 - val_accuracy: 0.7605\n","Epoch 35/50\n","625/625 [==============================] - 6s 10ms/step - loss: 0.2712 - accuracy: 0.8721 - val_loss: 1.0160 - val_accuracy: 0.7579\n","Epoch 36/50\n","625/625 [==============================] - 8s 12ms/step - loss: 0.2694 - accuracy: 0.8730 - val_loss: 0.9975 - val_accuracy: 0.7598\n","Epoch 37/50\n","625/625 [==============================] - 7s 11ms/step - loss: 0.2676 - accuracy: 0.8738 - val_loss: 1.0432 - val_accuracy: 0.7599\n","Epoch 38/50\n","625/625 [==============================] - 7s 12ms/step - loss: 0.2665 - accuracy: 0.8744 - val_loss: 1.0406 - val_accuracy: 0.7598\n","Epoch 39/50\n","625/625 [==============================] - 7s 10ms/step - loss: 0.2647 - accuracy: 0.8751 - val_loss: 1.0490 - val_accuracy: 0.7568\n","Epoch 40/50\n","625/625 [==============================] - 8s 12ms/step - loss: 0.2633 - accuracy: 0.8759 - val_loss: 1.0777 - val_accuracy: 0.7599\n","Epoch 41/50\n","625/625 [==============================] - 6s 10ms/step - loss: 0.2616 - accuracy: 0.8768 - val_loss: 1.0580 - val_accuracy: 0.7573\n","Epoch 42/50\n","625/625 [==============================] - 9s 14ms/step - loss: 0.2603 - accuracy: 0.8778 - val_loss: 1.1038 - val_accuracy: 0.7569\n","Epoch 43/50\n","625/625 [==============================] - 7s 11ms/step - loss: 0.2588 - accuracy: 0.8785 - val_loss: 1.0889 - val_accuracy: 0.7556\n","Epoch 44/50\n","625/625 [==============================] - 7s 12ms/step - loss: 0.2576 - accuracy: 0.8793 - val_loss: 1.1108 - val_accuracy: 0.7570\n","Epoch 45/50\n","625/625 [==============================] - 7s 12ms/step - loss: 0.2562 - accuracy: 0.8803 - val_loss: 1.1211 - val_accuracy: 0.7560\n","Epoch 46/50\n","625/625 [==============================] - 7s 11ms/step - loss: 0.2548 - accuracy: 0.8811 - val_loss: 1.1421 - val_accuracy: 0.7553\n","Epoch 47/50\n","625/625 [==============================] - 8s 13ms/step - loss: 0.2538 - accuracy: 0.8816 - val_loss: 1.1496 - val_accuracy: 0.7557\n","Epoch 48/50\n","625/625 [==============================] - 7s 11ms/step - loss: 0.2525 - accuracy: 0.8825 - val_loss: 1.1678 - val_accuracy: 0.7539\n","Epoch 49/50\n","625/625 [==============================] - 8s 12ms/step - loss: 0.2510 - accuracy: 0.8835 - val_loss: 1.1789 - val_accuracy: 0.7556\n","Epoch 50/50\n","625/625 [==============================] - 7s 12ms/step - loss: 0.2504 - accuracy: 0.8839 - val_loss: 1.1821 - val_accuracy: 0.7550\n"]}]},{"cell_type":"code","source":["plot_graphs(h, 'accuracy')\n","plot_graphs(h, \"loss\")"],"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":881},"id":"lwdBAx60IyKV","executionInfo":{"status":"ok","timestamp":1687975664753,"user_tz":-60,"elapsed":1364,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"e82597d0-25d8-4fd7-e329-84e31f6d5bcc"},"execution_count":87,"outputs":[{"output_type":"display_data","data":{"text/plain":["
"],"image/png":"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ET777DMMw2Do0KE88MADtGzZssgxiYmJhIaGYrVay6zYipKeno6Pjw9paWl4e3vbuxwpob+Gn89GXEmQwo+ISLVXku/vUs0EvWPHDmbOnMktt9yCq6trscf4+/truLxUOIUfERG5FKVqAaru1AJUNSn8iIjUbCX5/i5VH6Do6Gjmz59/wf758+fz6quvluaUIpdF4UdEREqiVAHoX//6F82aNbtgf4sWLZg7d+5lFyVSEgo/IiJSUqUKQImJiYSEhFywPyAggISEhMsuSuRS/Tn81Ff4ERGRS1SqABQREcGqVasu2L9q1SpCQ0MvuyiRS/HX8LNQ4UdERC5RqUaBPfjgg4wdO5b8/Hx69+4NQExMDE899RSPP/54mRYoUhyFHxERuRylCkBPPvkkJ0+eZNSoUbb1v9zc3Hj66aeZOHFimRYo8leHUrK46/21HE/LUfgREZFSuaxh8JmZmezcuRN3d3caN278t3MCVTUaBl957UvOZMgHa0lKz6VBgCefPajwIyIipnKfCPGcWrVq0alTp8s5hcgl252YwZAP1pKSmUeToFp8+sCVBHhVj9AtIiIVq9QBaOPGjXz++efEx8fbboOd8/XXX192YSJ/tv14Gnd/sI7T2flcEeLNJ/d3pk4thR8RESmdUo0CW7hwIV27dmXnzp0sXryY/Px8tm/fzq+//oqPj09Z1yg13B9HU7nrfTP8tA734bMHoxR+RETkspQqAE2bNo233nqL//3vf7i4uPD222+za9cubr/9durWrVvWNUoNFnv4NEPeX0famXza1fXlkwei8PVwsXdZIiJSxZUqAO3fv58bbrgBABcXF7KysrBYLIwbN4733nuvTAuUmmvdgZPcM28dGbkFdK5Xm4/vj8LbzdneZYmISDVQqgDk5+dHRkYGAGFhYWzbtg2A1NRUsrOzS3y+2bNnU69ePdzc3IiKimL9+vUXPX7GjBk0bdoUd3d3IiIiGDduHDk5Obbno6Oj6dSpE15eXgQGBjJw4EB2795d4rrEflbtS+HeDzeQlVdI14Z1+Oi+TtRyvaw++yIiIjalCkA9evTg559/BuC2227jscce48EHH+TOO++kT58+JTrXokWLGD9+PM899xybNm2iTZs29OvXj+Tk5GKPX7BgARMmTOC5555j586dzJs3j0WLFvHMM8/YjlmxYgWjR49m7dq1/Pzz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DZeek8/oBZvIK7RybfMg7tUipyIiUgMoANVghmEw8autxJ/KJszXnddvbaN+PyIiUiMoANVg/1lzmCVbE3BysDDzrnZa50tERGoMBaAaasuRVF5esgMw+/20r+tn54pEREQqjgJQDZSWnc+oTzeRX2hwXYtghnerZ++SREREKpQCUA1jGAaPfxHHsdQz1K3twWu3tVa/HxERqXEqRQCaPXs29erVw83NjaioKNavX3/R42fMmEHTpk1xd3cnIiKCcePGkZOTc1nnrCne//0Av+w01/maM6Q93prvR0REaiC7B6BFixYxfvx4nnvuOTZt2kSbNm3o168fycnJxR6/YMECJkyYwHPPPcfOnTuZN28eixYt4plnnin1OWuKjYdO8eqf1vlqGab5fkREpGayGIZh2LOAqKgoOnXqxKxZswCwWq1ERETwyCOPMGHChAuOHzNmDDt37iQmJsa27/HHH2fdunWsXLmyVOf8q/T0dHx8fEhLS8Pbu3osBnoyM5cb3llJYnoON7UNZcYdbXXrS0REqpWSfH/btQUoLy+P2NhY+vbta9vn4OBA3759WbNmTbGv6dq1K7GxsbZbWgcOHOD777+nf//+pT5nbm4u6enpRbbqxGo1GLsojsT0HBoGeDLtZq3zJSIiNVuZrQZfGikpKRQWFhIUFFRkf1BQELt27Sr2NXfddRcpKSl0794dwzAoKChg5MiRtltgpTlndHQ0L7zwQhl8ospp9rJ9/L43BTdnB+YM6YCnq13/s4uIiNid3fsAldTy5cuZNm0ac+bMYdOmTXz99dcsWbKEl156qdTnnDhxImlpabbtyJEjZVixfa3el8Jbv+wB4OWBrWga7GXnikREROzPrk0B/v7+ODo6kpSUVGR/UlISwcHBxb5m8uTJDB06lAceeACAVq1akZWVxYgRI3j22WdLdU5XV1dcXV3L4BNVLsnpOTy6cDNWA27vGM6tHcLtXZKIiEilYNcWIBcXFzp06FCkQ7PVaiUmJoYuXboU+5rs7GwcHIqW7ejoCJhz3JTmnNWR1Wow7vM4UjLzaBbsxQv/19LeJYmIiFQadu8MMn78eIYNG0bHjh3p3LkzM2bMICsri+HDhwNwzz33EBYWRnR0NAADBgxg+vTptGvXjqioKPbt28fkyZMZMGCALQj90zlrgo/XHmbVvpO4OTswe0h73F0c7V2S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ZGvWrJnt+fK81gpAFWTRokWMHz+e5557jk2bNtGmTRv69etHcnKyvUur8rKysmjTpg2zZ88u9vnXXnuNd955h7lz57Ju3To8PT3p168fOTk5FVxp9bBixQpGjx7N2rVr+fnnn8nPz+faa68lKyvLdsy4ceP43//+xxdffMGKFSs4fvw4t9xyix2rrrrCw8N55ZVXiI2NZePGjfTu3ZubbrqJ7du3A7rW5WnDhg3861//onXr1kX265qXrRYtWpCQkGDbVq5caXuuXK+1IRWic+fOxujRo22PCwsLjdDQUCM6OtqOVVU/gLF48WLbY6vVagQHBxuvv/66bV9qaqrh6upqfPbZZ3aosPpJTk42AGPFihWGYZjX19nZ2fjiiy9sx+zcudMAjDVr1tirzGrFz8/P+OCDD3Sty1FGRobRuHFj4+effzZ69uxpPPbYY4Zh6Pe7rD333HNGmzZtin2uvK+1WoAqQF5eHrGxsfTt29e2z8HBgb59+7JmzRo7Vlb9HTx4kMTExCLX3sfHh6ioKF37MpKWlgZA7dq1AYiNjSU/P7/INW/WrBl169bVNb9MhYWFLFy4kKysLLp06aJrXY5Gjx7NDTfcUOTagn6/y8PevXsJDQ2lQYMGDBkyhPj4eKD8r7UWQ60AKSkpFBYWEhQUVGR/UFAQu3btslNVNUNiYiJAsdf+3HNSelarlbFjx9KtWzdatmwJmNfcxcUFX1/fIsfqmpfe1q1b6dKlCzk5OdSqVYvFixfTvHlz4uLidK3LwcKFC9m0aRMbNmy44Dn9fpetqKgoPvroI5o2bUpCQgIvvPACV111Fdu2bSv3a60AJCKlNnr0aLZt21bknr2UvaZNmxIXF0daWhpffvklw4YNY8WKFfYuq1o6cuQIjz32GD///DNubm72Lqfau/76620/t27dmqioKCIjI/n8889xd3cv1/fWLbAK4O/vj6Oj4wU915OSkggODrZTVTXDueura1/2xowZw3fffceyZcsIDw+37Q8ODiYvL4/U1NQix+ual56LiwuNGjWiQ4cOREdH06ZNG95++21d63IQGxtLcnIy7du3x8nJCScnJ1asWME777yDk5MTQUFBuublyNfXlyZNmrBv375y//1WAKoALi4udOjQgZiYGNs+q9VKTEwMXbp0sWNl1V/9+vUJDg4ucu3T09NZt26drn0pGYbBmDFjWLx4Mb/++iv169cv8nyHDh1wdnYucs13795NfHy8rnkZsVqt5Obm6lqXgz59+rB161bi4uJsW8eOHRkyZIjtZ13z8pOZmcn+/fsJCQkp/9/vy+5GLZdk4cKFhqurq/HRRx8ZO3bsMEaMGGH4+voaiYmJ9i6tysvIyDA2b95sbN682QCM6dOnG5s3bzYOHz5sGIZhvPLKK4avr6/x3//+1/jjjz+Mm266yahfv75x5swZO1deNT388MOGj4+PsXz5ciMhIcG2ZWdn244ZOXKkUbduXePXX381Nm7caHTp0sXo0qWLHauuuiZMmGCsWLHCOHjwoPHHH38YEyZMMCwWi/HTTz8ZhqFrXRH+PArMMHTNy9Ljjz9uLF++3Dh48KCxatUqo2/fvoa/v7+RnJxsGEb5XmsFoAo0c+ZMo27duoaLi4vRuXNnY+3atfYuqVpYtmyZAVywDRs2zDAMcyj85MmTjaCgIMPV1dXo06ePsXv3bvsWXYUVd60B48MPP7Qdc+bMGWPUqFGGn5+f4eHhYdx8881GQkKC/Yquwu677z4jMjLScHFxMQICAow+ffrYwo9h6FpXhL8GIF3zsnPHHXcYISEhhouLixEWFmbccccdxr59+2zPl+e1thiGYVx+O5KIiIhI1aE+QCIiIlLjKACJiIhIjaMAJCIiIjWOApCIiIjUOApAIiIiUuMoAImIiEiNowAkIiIiNY4CkIiIiNQ4CkAiIn/DYrHwzTff2LsMESkHCkAiUinde++9WCyWC7brrrvO3qWJSDXgZO8CRET+znXXXceHH35YZJ+rq6udqhGR6kQtQCJSabm6uhIcHFxk8/PzA8zbU++++y7XX3897u7uNGjQgC+//LLI67du3Urv3r1xd3enTp06jBgxgszMzCLHzJ8/nxYtWuDq6kpISAhjxowp8nxKSgo333wzHh4eNG7cmG+//db23OnTpxkyZAgBAQG4u7vTuHHjCwKbiFROCkAiUmVNnjyZQYMGsWXLFoYMGcLgwYPZuXMnAFlZWfTr1w8/Pz82bNjAF198wS+//FIk4Lz77ruMHj2aESNGsHXrVr799lsaNWpU5D1eeOEFbr/9dv744w/69+/PkCFDOHXqlO39d+zYwQ8//MDOnTt599138ff3r7gLICKlVyZryouIlLFhw4YZjo6OhqenZ5Ft6tSphmEYBmCMHDmyyGuioqKMhx9+2DAMw3jvvfcMPz8/IzMz0/b8kiVLDAcHByMxMdEwDMMIDQ01nn322b+tATAmTZpke5yZmWkAxg8//GAYhmEMGDDAGD58eNl8YBGpUOoDJCKV1tVXX827775bZF/t2rVtP3fp0qXIc126dCEuLg6AnTt30qZNGzw9PW3Pd+vWDavVyu7du7FYLBw/fpw+ffpctIbWrVvbfvb09MTb25vk5GQAHn74YQYNGsSmTZu49tprGThwIF27di3VZxWRiqUAJCKVlqen5wW3pMqKu7v7JR3n7Oxc5LHFYsFqtQJw/fXXc/jwYb7//nt+/vln+vTpw+jRo3njjTfKvF4RKVvqAyQiVdbatWsveHzFFVcAcMUVV7BlyxaysrJsz69atQoHBweaNm2Kl5cX9erVIyYm5rJqCAgIYNiwYXzyySfMmDGD995777LOJyIVQy1AIlJp5ebmkpiYWGSfk5OTraPxF198QceOHenevTuffvop69evZ968eQAMGTKE5557jmHDhvH8889z4sQJHnnkEYYOHUpQUBAAzz//PCNHjiQwMJDrr7+ejIwMVq1axSOPPHJJ9U2ZMoUOHTrQokULcnNz+e6772wBTEQqNwUgEam0li5dSkhISJF9TZs2ZdeuXYA5QmvhwoWMGjWKkJAQPvvsM5o3bw6Ah4cHP/74I4899hidOnXCw8ODQYMGMX36dNu5hg0bRk5ODm+99RZPPPEE/v7+3HrrrZdcn4uLCxMnTuTQoUO4u7tz1VVXsXDhwjL45CJS3iyGYRj2LkJEpKQsFguLFy9m4MCB9i5FRKog9QESERGRGkcBSERERGoc9QESkSpJd+9F5HKoBUhERERqHAUgERERqXEUgERERKTGUQASERGRGkcBSERERGocBSARERGpcRSAREREpMZRABIREZEa5/8BohOsJCPeBxYAAAAASUVORK5CYII=\n"},"metadata":{}},{"output_type":"display_data","data":{"text/plain":["
"],"image/png":"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6tXYyl4oNXLkSLp27cq0adOw2+1s3LiRgAA9zigidUxmCqx7Bza8B7npZY026H4nXP038HdYWp63UbjxAZGRkQwcOJAZM2Z4ws2cOXOIjo6mb9+++Pn50aVLF8/xf/nLX5g7dy6fffYZ48ePP6/PnjFjBoWFhbz77ruEhJhB7NVXX2Xw4MH87W9/IyAggKysLK699lpatmwJQPv27T3np6Sk8Mc//pF27doB0Lp16/OqR0TEa7hdsPMrWPumORcUZb31ITFw0SjoNtqcD0rOmcLNmQQEmz0oVn32WRo5ciR33303r732Gk6nkw8++ICbb74ZPz8/cnNzefrpp5k/fz4HDhygtLSUgoICUlJSzrvErVu30qVLF0+wAejduzdut5vt27dz6aWXcscddzBgwACuvPJK+vfvz0033URcXBwAEydOZMyYMbz33nv079+fG2+80ROCRER8UlEurJwG69+BrNTj7c0vg+53QdtB6qk5TxpzcyY2m3lryIrlHOYCGTx4MIZhMH/+fFJTU/nuu+8YOXIkAH/4wx+YO3cuzz33HN999x0bN26kU6dOFBcXV9dVK+ett95ixYoV9OrVi1mzZtGmTRtWrlwJwNNPP83PP//MNddcwzfffEOHDh2YO3dujdQlIlLjsvbBmwNgyV/NYBMUCUnjYfw6GP0ZdByqYFMF1HPjIwIDAxk2bBgffPABu3btom3btlx00UUALF++nDvuuIPrr78egNzcXPbs2VMln9u+fXvefvtt8vLyPL03y5cvx8/Pj7Zt23qO69q1K127dmXSpEkkJSUxY8YMLr74YgDatGlDmzZtePDBB7nlllt46623PLWKiPiM/RthxgjITTNvPV35ZzPMBARZXZnPUc+NDxk5ciTz58/nzTff9PTagDmO5ZNPPmHjxo38+OOP3HrrrSc9WXU+nxkYGMjo0aPZvHkzS5YsYcKECdx+++3ExsaSnJzMpEmTWLFiBXv37mXRokXs3LmT9u3bU1BQwPjx41m6dCl79+5l+fLlrFmzptyYHBGRWuPLx8ynmPZ8f+7nbl8Abw00g02D9nD3YrjwFgWbaqKeGx9yxRVXEBUVxfbt27n11ls97S+++CJ33XUXvXr1Ijo6mkceeYTs7Owq+czg4GC+/PJL7r//fnr06EFwcDDDhw/nxRdf9Ozftm0b77zzDocPHyYuLo5x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huWuf3Z2NqtWrdL1rwTDMBg/fjxz587lm2++oXnz5uX2d+vWjYCAgHLXe/v27aSkpOh6VxG3201RUZGudTXo168fmzZtYuPGjZ6le/fujBw50rOua159cnNz2b17N3FxcdX/9/u8hySLMXPmTMPpdBpvv/22sWXLFmPs2LFGRESEkZaWZnVpPiEnJ8fYsGGDsWHDBgMwXnzxRWPDhg3G3r17DcMwjOeff96IiIgwPv30U+Onn34yhgwZYjRv3twoKCiwuHLvc++99xrh4eHG0qVLjQMHDniW/Px8zzH33HOP0bRpU+Obb74x1q5dayQlJRlJSUkWVu29Hn30UWPZsmVGcnKy8dNPPxmPPvqoYbPZjEWLFhmGoWtdE058WsowdM2r0kMPPWQsXbrUSE5ONpYvX27079/fiI6ONjIyMgzDqN5rrXBTRf71r38ZTZs2NRwOh9GzZ09j5cqVVpfkM5YsWWIAJy2jR482DMN8HPyJJ54wYmNjDafTafTr18/Yvn27tUV7qVNdZ8B46623PMcUFBQYv//9743IyEgjODjYuP76640DBw5YV7QXu+uuu4xmzZoZDofDaNCggdGvXz9PsDEMXeua8Ntwo2tedUaMGGHExcUZDofDaNy4sTFixAhj165dnv3Vea1thmEY59//IyIiIlI7aMyNiIiI+BSFGxEREfEpCjciIiLiUxRuRERExKco3IiIiIhPUbgRERERn6JwIyIiIj5F4UZERER8isKNiNRJNpuNefPmWV2GiFQDhRsRqXF33HEHNpvtpOXqq6+2ujQR8QH+VhcgInXT1VdfzVtvvVWuzel0WlSNiPgS9dyIiCWcTicNGzYst0RGRgLmLaNp06YxcOBAgoKCaNGiBXPmzCl3/qZNm7jiiisICgqifv36jB07ltzc3HLHvPnmm3Ts2BGn00lcXBzjx48vt//QoUNcf/31BAcH07p1az777DPPvqNHjzJy5EgaNGhAUFAQrVu3PimMiUjtpHAjIrXSE088wfDhw/nxxx8ZOXIkN998M1u3bgUgLy+PAQMGEBkZyZo1a5g9ezZff/11ufAybdo0xo0bx9ixY9m0aROfffYZrVq1KvcZzzzzDDfddBM//fQTgwYNYuTIkRw5csTz+Vu2bGHBggVs3bqVadOmER0dXXMXQEQqr0rmFhcROQejR4827Ha7ERISUm559tlnDcMwDMC45557yp2TmJho3HvvvYZhGMYbb7xhREZGGrm5uZ798+fPN/z8/Iy0tDTDMAyjUaNGxmOPPXbaGgDj8ccf92zn5uYagLFgwQLDMAxj8ODBxp133lk1P7CI1CiNuRERS/Tt25dp06aVa4uKivKsJyUllduXlJTExo0bAdi6dStdunQhJCTEs79379643W62b9+OzWZj//799OvXr8IaOnfu7FkPCQkhLCyMjIwMAO69916GDx/O+vXrueqqqxg6dCi9evWq1M8qIjVL4UZELBESEnLSbaKqEhQUdFbHBQQElNu22Wy43W4ABg4cyN69e/niiy/46quv6NevH+PGjeOFF16o8npFpGppzI2I1EorV648abt9+/YAtG/fnh9//JG8vDzP/uXLl+Pn50fbtm0JDQ0lISGBxYsXn1cNDRo0YPTo0bz//vtMmTKFN95447y+n4jUDPXciIglioqKSEtLK9fm7+/vGbQ7e/ZsunfvTp8+ffjggw9YvXo1//3vfwEYOXIkTz31FKNHj+bpp5/m4MGDTJgwgdtvv53Y2FgAnn76ae655x5iYmIYOHAgOTk5LF++nAkTJpxVfU8++STdunWjY8eOFBUV8fnnn3vClYjUbgo3ImKJhQsXEhcXV66tbdu2bNu2DTCfZJo5cya///3viYuL48MPP6RDhw4ABAcH8+WXX3L//ffTo0cPgoODGT58OC+++KLne40ePZrCwkJeeukl/vCHPxAdHc0NN9xw1vU5HA4mTZrEnj17CAoK4pJLLmHmzJlV8JOLSHWzGYZhWF2EiMiJbDYbc+fOZejQoVaXIiJeSGNuRERExKco3IiIiIhP0ZgbEal1dLdcRM6Hem5ERETEpyjciIiIiE9RuBERERGfonAjIiIiPkXhRkRERHyKwo2IiIj4FIUbERER8SkKNyIiIuJT/h+IRvnDeYkhVAAAAABJRU5ErkJggg==\n"},"metadata":{}}]},{"cell_type":"markdown","source":["# Transfert Learning"],"metadata":{"id":"TiRpzji2MsRS"}},{"cell_type":"code","source":["glove_file = folder + \"glove.6B.50d.txt\""],"metadata":{"id":"1QoVSayuMJRe","executionInfo":{"status":"ok","timestamp":1687976210629,"user_tz":-60,"elapsed":298,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}}},"execution_count":88,"outputs":[]},{"cell_type":"code","source":["glove_file"],"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":35},"id":"TsKAEYqHOOyb","executionInfo":{"status":"ok","timestamp":1687976214644,"user_tz":-60,"elapsed":8,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"9187ad58-b8c9-4384-86c9-991bfc2b38a9"},"execution_count":89,"outputs":[{"output_type":"execute_result","data":{"text/plain":["'/gdrive/MyDrive/deep_learning_course/data/tweets/glove.6B.50d.txt'"],"application/vnd.google.colaboratory.intrinsic+json":{"type":"string"}},"metadata":{},"execution_count":89}]},{"cell_type":"code","source":["glove_embeddings = {}"],"metadata":{"id":"kKYx6iVtOpoh","executionInfo":{"status":"ok","timestamp":1687976481819,"user_tz":-60,"elapsed":476,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}}},"execution_count":97,"outputs":[]},{"cell_type":"code","source":["with open(glove_file) as f:\n"," for line in f:\n","\n"," values = line.split(\" \")\n"," word = values[0]\n"," vector = np.asarray(values[1:], dtype=\"float32\")\n"," glove_embeddings[word] = vector\n",""],"metadata":{"id":"88mKAVbGOP2v","executionInfo":{"status":"ok","timestamp":1687976502486,"user_tz":-60,"elapsed":5256,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}}},"execution_count":101,"outputs":[]},{"cell_type":"code","source":["glove_embeddings"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"kM0-ikmBOf1z","executionInfo":{"status":"ok","timestamp":1687976483024,"user_tz":-60,"elapsed":3,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"e1e092c8-7922-4c26-ddb4-d680004a1521"},"execution_count":99,"outputs":[{"output_type":"execute_result","data":{"text/plain":["{'the': array([ 4.1800e-01, 2.4968e-01, -4.1242e-01, 1.2170e-01, 3.4527e-01,\n"," -4.4457e-02, -4.9688e-01, -1.7862e-01, -6.6023e-04, -6.5660e-01,\n"," 2.7843e-01, -1.4767e-01, -5.5677e-01, 1.4658e-01, -9.5095e-03,\n"," 1.1658e-02, 1.0204e-01, -1.2792e-01, -8.4430e-01, -1.2181e-01,\n"," -1.6801e-02, -3.3279e-01, -1.5520e-01, -2.3131e-01, -1.9181e-01,\n"," -1.8823e+00, -7.6746e-01, 9.9051e-02, -4.2125e-01, -1.9526e-01,\n"," 4.0071e+00, -1.8594e-01, -5.2287e-01, -3.1681e-01, 5.9213e-04,\n"," 7.4449e-03, 1.7778e-01, -1.5897e-01, 1.2041e-02, -5.4223e-02,\n"," -2.9871e-01, -1.5749e-01, -3.4758e-01, -4.5637e-02, -4.4251e-01,\n"," 1.8785e-01, 2.7849e-03, -1.8411e-01, -1.1514e-01, -7.8581e-01],\n"," dtype=float32)}"]},"metadata":{},"execution_count":99}]},{"cell_type":"code","source":["glove_embeddings['the']"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"4-dJ-e0vPINQ","executionInfo":{"status":"ok","timestamp":1687976488242,"user_tz":-60,"elapsed":382,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"5d5204ab-ef47-4e8e-ca63-02f4fe788965"},"execution_count":100,"outputs":[{"output_type":"execute_result","data":{"text/plain":["array([ 4.1800e-01, 2.4968e-01, -4.1242e-01, 1.2170e-01, 3.4527e-01,\n"," -4.4457e-02, -4.9688e-01, -1.7862e-01, -6.6023e-04, -6.5660e-01,\n"," 2.7843e-01, -1.4767e-01, -5.5677e-01, 1.4658e-01, -9.5095e-03,\n"," 1.1658e-02, 1.0204e-01, -1.2792e-01, -8.4430e-01, -1.2181e-01,\n"," -1.6801e-02, -3.3279e-01, -1.5520e-01, -2.3131e-01, -1.9181e-01,\n"," -1.8823e+00, -7.6746e-01, 9.9051e-02, -4.2125e-01, -1.9526e-01,\n"," 4.0071e+00, -1.8594e-01, -5.2287e-01, -3.1681e-01, 5.9213e-04,\n"," 7.4449e-03, 1.7778e-01, -1.5897e-01, 1.2041e-02, -5.4223e-02,\n"," -2.9871e-01, -1.5749e-01, -3.4758e-01, -4.5637e-02, -4.4251e-01,\n"," 1.8785e-01, 2.7849e-03, -1.8411e-01, -1.1514e-01, -7.8581e-01],\n"," dtype=float32)"]},"metadata":{},"execution_count":100}]},{"cell_type":"code","source":["len(glove_embeddings)"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"Vbvu0DT4PM1b","executionInfo":{"status":"ok","timestamp":1687976529828,"user_tz":-60,"elapsed":3,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"386a695c-41cd-47f2-baf5-045a32bfaefc"},"execution_count":102,"outputs":[{"output_type":"execute_result","data":{"text/plain":["400000"]},"metadata":{},"execution_count":102}]},{"cell_type":"code","source":["words = word_index.keys()"],"metadata":{"id":"s3auHPuCPcwe","executionInfo":{"status":"ok","timestamp":1687976569312,"user_tz":-60,"elapsed":1,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}}},"execution_count":103,"outputs":[]},{"cell_type":"code","source":["i = 0\n","for word in words:\n"," if glove_embeddings.get(word) is not None:\n"," i = i + 1\n","print(i)"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"NkAjBf1QPmYB","executionInfo":{"status":"ok","timestamp":1687976649806,"user_tz":-60,"elapsed":433,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"f405c9fa-0bbc-4254-d874-28607d3f7b88"},"execution_count":106,"outputs":[{"output_type":"stream","name":"stdout","text":["56230\n"]}]},{"cell_type":"code","source":["len(words)"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"dHzuFJSBPnnt","executionInfo":{"status":"ok","timestamp":1687976658256,"user_tz":-60,"elapsed":365,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"1951c57f-f755-43c6-e0e1-160ba243b7c6"},"execution_count":107,"outputs":[{"output_type":"execute_result","data":{"text/plain":["248676"]},"metadata":{},"execution_count":107}]},{"cell_type":"code","source":["embedding_matrix = np.zeros((vocab_size, 50))"],"metadata":{"id":"VklKI0DNP701","executionInfo":{"status":"ok","timestamp":1687977080687,"user_tz":-60,"elapsed":2,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}}},"execution_count":108,"outputs":[]},{"cell_type":"code","source":["embedding_matrix.shape"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"38E8jQAzRkdY","executionInfo":{"status":"ok","timestamp":1687977090899,"user_tz":-60,"elapsed":4,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"90fd63f8-d6ff-460c-c7c8-0f0348a494c2"},"execution_count":109,"outputs":[{"output_type":"execute_result","data":{"text/plain":["(70000, 50)"]},"metadata":{},"execution_count":109}]},{"cell_type":"code","source":["embedding_matrix[0]"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"1jDLLFH8RkUh","executionInfo":{"status":"ok","timestamp":1687977102512,"user_tz":-60,"elapsed":718,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"9c109e85-bc04-4c40-d3c4-5e97b6680c2b"},"execution_count":110,"outputs":[{"output_type":"execute_result","data":{"text/plain":["array([0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,\n"," 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,\n"," 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.])"]},"metadata":{},"execution_count":110}]},{"cell_type":"code","source":["len(word_index)"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"4h26rDPWSgK1","executionInfo":{"status":"ok","timestamp":1687977336732,"user_tz":-60,"elapsed":3,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"516f6447-7de0-4f7a-e7d7-0bf8e536be18"},"execution_count":119,"outputs":[{"output_type":"execute_result","data":{"text/plain":["248676"]},"metadata":{},"execution_count":119}]},{"cell_type":"code","source":["for word, i in word_index.items():\n"," if i > vocab_size -1:\n"," break\n"," embedding_vector = glove_embeddings.get(word)\n"," if embedding_vector is not None:\n"," embedding_matrix[i] = embedding_vector\n"],"metadata":{"id":"9k_pp8QKRqPq","executionInfo":{"status":"ok","timestamp":1687977360597,"user_tz":-60,"elapsed":3,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}}},"execution_count":120,"outputs":[]},{"cell_type":"code","source":["embedding_matrix[5]"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"dWbsFif5Sphj","executionInfo":{"status":"ok","timestamp":1687977375563,"user_tz":-60,"elapsed":3,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"9dad98bd-de58-4a77-d417-6561858fac78"},"execution_count":121,"outputs":[{"output_type":"execute_result","data":{"text/plain":["array([-3.55859995e-01, 5.21300018e-01, -6.10700011e-01, -3.01310003e-01,\n"," 9.48620021e-01, -3.15389991e-01, -5.98309994e-01, 1.21880002e-01,\n"," -3.19430009e-02, 5.56949973e-01, -1.06210001e-01, 6.33989990e-01,\n"," -4.73399997e-01, -7.58949965e-02, 3.82470012e-01, 8.15690011e-02,\n"," 8.22139978e-01, 2.22200006e-01, -8.37639999e-03, -7.66200006e-01,\n"," -5.62529981e-01, 6.17590010e-01, 2.02920005e-01, -4.85979989e-02,\n"," 8.78149986e-01, -1.65489995e+00, -7.74179995e-01, 1.54349998e-01,\n"," 9.48230028e-01, -3.95200014e-01, 3.73020005e+00, 8.28549981e-01,\n"," -1.41039997e-01, 1.63950007e-02, 2.11150005e-01, -3.60849984e-02,\n"," -1.55870005e-01, 8.65830004e-01, 2.63090014e-01, -7.10150003e-01,\n"," -3.67700011e-02, 1.82819995e-03, -1.77039996e-01, 2.70319998e-01,\n"," 1.10260002e-01, 1.41330004e-01, -5.73219992e-02, 2.72069991e-01,\n"," 3.13050002e-01, 9.27709997e-01])"]},"metadata":{},"execution_count":121}]},{"cell_type":"code","source":["embedding_dim = 16\n","model = tf.keras.models.Sequential(\n"," [\n"," tf.keras.layers.Embedding(vocab_size, 50, weights=[embedding_matrix], trainable=False),\n"," tf.keras.layers.Bidirectional(tf.keras.layers.LSTM(16, return_sequences=True, dropout=0.25)),\n"," tf.keras.layers.Bidirectional(tf.keras.layers.LSTM(16)),\n"," tf.keras.layers.Dense(8, activation='relu'),\n"," tf.keras.layers.Dense(1, activation='sigmoid')\n"," ]\n",")\n","\n","model.compile(loss='binary_crossentropy', optimizer=\"adam\", metrics=['accuracy'])\n","model_ckp = tf.keras.callbacks.ModelCheckpoint(filepath=\"best_model.h5\",\n"," monitor=\"val_accuracy\",\n"," mode=\"max\",\n"," save_best_only=True)\n","stop = tf.keras.callbacks.EarlyStopping(monitor=\"val_accuracy\", patience=2, restore_best_weights=True)"],"metadata":{"id":"t-OJ0dQpRK3J","executionInfo":{"status":"ok","timestamp":1687977482776,"user_tz":-60,"elapsed":1630,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}}},"execution_count":123,"outputs":[]},{"cell_type":"code","source":["h = model.fit(training_padded, training_labels, epochs=50, batch_size=2048,\n"," validation_data=(test_padded, test_labels),\n"," callbacks=[model_ckp])"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"uLH7QWXmS2NX","executionInfo":{"status":"ok","timestamp":1687977887455,"user_tz":-60,"elapsed":389618,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"15ba5d2d-9db7-4533-922f-f4ccc9b66717"},"execution_count":124,"outputs":[{"output_type":"stream","name":"stdout","text":["Epoch 1/50\n","625/625 [==============================] - 17s 13ms/step - loss: 0.5946 - accuracy: 0.6744 - val_loss: 0.5520 - val_accuracy: 0.7128\n","Epoch 2/50\n","625/625 [==============================] - 7s 11ms/step - loss: 0.5594 - accuracy: 0.7058 - val_loss: 0.5362 - val_accuracy: 0.7243\n","Epoch 3/50\n","625/625 [==============================] - 7s 11ms/step - loss: 0.5500 - accuracy: 0.7138 - val_loss: 0.5289 - val_accuracy: 0.7304\n","Epoch 4/50\n","625/625 [==============================] - 7s 12ms/step - loss: 0.5449 - accuracy: 0.7178 - val_loss: 0.5250 - val_accuracy: 0.7334\n","Epoch 5/50\n","625/625 [==============================] - 7s 11ms/step - loss: 0.5414 - accuracy: 0.7207 - val_loss: 0.5247 - val_accuracy: 0.7338\n","Epoch 6/50\n","625/625 [==============================] - 7s 11ms/step - loss: 0.5388 - accuracy: 0.7226 - val_loss: 0.5222 - val_accuracy: 0.7350\n","Epoch 7/50\n","625/625 [==============================] - 7s 11ms/step - loss: 0.5365 - accuracy: 0.7242 - val_loss: 0.5188 - val_accuracy: 0.7380\n","Epoch 8/50\n","625/625 [==============================] - 6s 10ms/step - loss: 0.5349 - accuracy: 0.7257 - val_loss: 0.5168 - val_accuracy: 0.7392\n","Epoch 9/50\n","625/625 [==============================] - 7s 12ms/step - loss: 0.5333 - accuracy: 0.7269 - val_loss: 0.5162 - val_accuracy: 0.7408\n","Epoch 10/50\n","625/625 [==============================] - 6s 10ms/step - loss: 0.5322 - accuracy: 0.7277 - val_loss: 0.5150 - val_accuracy: 0.7409\n","Epoch 11/50\n","625/625 [==============================] - 7s 12ms/step - loss: 0.5306 - accuracy: 0.7290 - val_loss: 0.5138 - val_accuracy: 0.7420\n","Epoch 12/50\n","625/625 [==============================] - 7s 11ms/step - loss: 0.5299 - accuracy: 0.7296 - val_loss: 0.5126 - val_accuracy: 0.7430\n","Epoch 13/50\n","625/625 [==============================] - 7s 12ms/step - loss: 0.5285 - accuracy: 0.7305 - val_loss: 0.5116 - val_accuracy: 0.7439\n","Epoch 14/50\n","625/625 [==============================] - 7s 11ms/step - loss: 0.5278 - accuracy: 0.7313 - val_loss: 0.5116 - val_accuracy: 0.7439\n","Epoch 15/50\n","625/625 [==============================] - 8s 12ms/step - loss: 0.5271 - accuracy: 0.7312 - val_loss: 0.5131 - val_accuracy: 0.7434\n","Epoch 16/50\n","625/625 [==============================] - 7s 11ms/step - loss: 0.5264 - accuracy: 0.7320 - val_loss: 0.5097 - val_accuracy: 0.7453\n","Epoch 17/50\n","625/625 [==============================] - 7s 11ms/step - loss: 0.5255 - accuracy: 0.7331 - val_loss: 0.5095 - val_accuracy: 0.7455\n","Epoch 18/50\n","625/625 [==============================] - 6s 10ms/step - loss: 0.5246 - accuracy: 0.7339 - val_loss: 0.5096 - val_accuracy: 0.7456\n","Epoch 19/50\n","625/625 [==============================] - 7s 11ms/step - loss: 0.5245 - accuracy: 0.7338 - val_loss: 0.5090 - val_accuracy: 0.7461\n","Epoch 20/50\n","625/625 [==============================] - 6s 10ms/step - loss: 0.5239 - accuracy: 0.7345 - val_loss: 0.5084 - val_accuracy: 0.7470\n","Epoch 21/50\n","625/625 [==============================] - 9s 15ms/step - loss: 0.5230 - accuracy: 0.7347 - val_loss: 0.5069 - val_accuracy: 0.7476\n","Epoch 22/50\n","625/625 [==============================] - 6s 10ms/step - loss: 0.5228 - accuracy: 0.7349 - val_loss: 0.5064 - val_accuracy: 0.7484\n","Epoch 23/50\n","625/625 [==============================] - 7s 11ms/step - loss: 0.5224 - accuracy: 0.7353 - val_loss: 0.5069 - val_accuracy: 0.7475\n","Epoch 24/50\n","625/625 [==============================] - 7s 11ms/step - loss: 0.5216 - accuracy: 0.7362 - val_loss: 0.5057 - val_accuracy: 0.7488\n","Epoch 25/50\n","625/625 [==============================] - 7s 12ms/step - loss: 0.5210 - accuracy: 0.7359 - val_loss: 0.5053 - val_accuracy: 0.7489\n","Epoch 26/50\n","625/625 [==============================] - 6s 10ms/step - loss: 0.5209 - accuracy: 0.7364 - val_loss: 0.5068 - val_accuracy: 0.7481\n","Epoch 27/50\n","625/625 [==============================] - 7s 12ms/step - loss: 0.5204 - accuracy: 0.7364 - val_loss: 0.5041 - val_accuracy: 0.7494\n","Epoch 28/50\n","625/625 [==============================] - 6s 10ms/step - loss: 0.5200 - accuracy: 0.7369 - val_loss: 0.5044 - val_accuracy: 0.7496\n","Epoch 29/50\n","625/625 [==============================] - 7s 11ms/step - loss: 0.5198 - accuracy: 0.7372 - val_loss: 0.5035 - val_accuracy: 0.7507\n","Epoch 30/50\n","625/625 [==============================] - 7s 11ms/step - loss: 0.5193 - accuracy: 0.7374 - val_loss: 0.5032 - val_accuracy: 0.7501\n","Epoch 31/50\n","625/625 [==============================] - 8s 13ms/step - loss: 0.5192 - accuracy: 0.7376 - val_loss: 0.5036 - val_accuracy: 0.7500\n","Epoch 32/50\n","625/625 [==============================] - 7s 11ms/step - loss: 0.5190 - accuracy: 0.7376 - val_loss: 0.5027 - val_accuracy: 0.7505\n","Epoch 33/50\n","625/625 [==============================] - 8s 12ms/step - loss: 0.5184 - accuracy: 0.7381 - val_loss: 0.5036 - val_accuracy: 0.7499\n","Epoch 34/50\n","625/625 [==============================] - 7s 11ms/step - loss: 0.5182 - accuracy: 0.7382 - val_loss: 0.5028 - val_accuracy: 0.7507\n","Epoch 35/50\n","625/625 [==============================] - 7s 11ms/step - loss: 0.5181 - accuracy: 0.7386 - val_loss: 0.5030 - val_accuracy: 0.7502\n","Epoch 36/50\n","625/625 [==============================] - 6s 10ms/step - loss: 0.5178 - accuracy: 0.7383 - val_loss: 0.5020 - val_accuracy: 0.7508\n","Epoch 37/50\n","625/625 [==============================] - 8s 12ms/step - loss: 0.5175 - accuracy: 0.7385 - val_loss: 0.5012 - val_accuracy: 0.7512\n","Epoch 38/50\n","625/625 [==============================] - 6s 10ms/step - loss: 0.5171 - accuracy: 0.7389 - val_loss: 0.5011 - val_accuracy: 0.7516\n","Epoch 39/50\n","625/625 [==============================] - 7s 12ms/step - loss: 0.5170 - accuracy: 0.7388 - val_loss: 0.5014 - val_accuracy: 0.7518\n","Epoch 40/50\n","625/625 [==============================] - 6s 10ms/step - loss: 0.5169 - accuracy: 0.7394 - val_loss: 0.5022 - val_accuracy: 0.7512\n","Epoch 41/50\n","625/625 [==============================] - 7s 12ms/step - loss: 0.5164 - accuracy: 0.7395 - val_loss: 0.5006 - val_accuracy: 0.7519\n","Epoch 42/50\n","625/625 [==============================] - 6s 10ms/step - loss: 0.5163 - accuracy: 0.7398 - val_loss: 0.5005 - val_accuracy: 0.7525\n","Epoch 43/50\n","625/625 [==============================] - 8s 12ms/step - loss: 0.5161 - accuracy: 0.7397 - val_loss: 0.5010 - val_accuracy: 0.7521\n","Epoch 44/50\n","625/625 [==============================] - 6s 10ms/step - loss: 0.5160 - accuracy: 0.7394 - val_loss: 0.5003 - val_accuracy: 0.7525\n","Epoch 45/50\n","625/625 [==============================] - 7s 11ms/step - loss: 0.5158 - accuracy: 0.7399 - val_loss: 0.5002 - val_accuracy: 0.7520\n","Epoch 46/50\n","625/625 [==============================] - 6s 10ms/step - loss: 0.5155 - accuracy: 0.7404 - val_loss: 0.4996 - val_accuracy: 0.7528\n","Epoch 47/50\n","625/625 [==============================] - 8s 12ms/step - loss: 0.5154 - accuracy: 0.7402 - val_loss: 0.4996 - val_accuracy: 0.7524\n","Epoch 48/50\n","625/625 [==============================] - 6s 10ms/step - loss: 0.5152 - accuracy: 0.7404 - val_loss: 0.4992 - val_accuracy: 0.7525\n","Epoch 49/50\n","625/625 [==============================] - 7s 11ms/step - loss: 0.5148 - accuracy: 0.7405 - val_loss: 0.4991 - val_accuracy: 0.7527\n","Epoch 50/50\n","625/625 [==============================] - 6s 10ms/step - loss: 0.5147 - accuracy: 0.7406 - val_loss: 0.4998 - val_accuracy: 0.7520\n"]}]},{"cell_type":"code","source":["plot_graphs(h, 'accuracy')\n","plot_graphs(h, \"loss\")"],"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":881},"id":"WOQa9CcQTJIC","executionInfo":{"status":"ok","timestamp":1687978512414,"user_tz":-60,"elapsed":1951,"user":{"displayName":"Kevin Degila","userId":"02447322191644424226"}},"outputId":"2293475f-a048-46c2-d051-20faa6772426"},"execution_count":125,"outputs":[{"output_type":"display_data","data":{"text/plain":["
"],"image/png":"iVBORw0KGgoAAAANSUhEUgAAAkAAAAGwCAYAAABB4NqyAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABovElEQVR4nO3dd3gUdeLH8ffuJrsppIdUQu8tSItYEVAURbGCZ+E4u1jxp8Ip2MWKWFAOhTtPPUE89FAUxagoiKAgCAoBBAwlhRDSyya78/tjyGJMKAlJNuXzep55dnd2Zva7Y4793LdaDMMwEBEREWlBrN4ugIiIiEhDUwASERGRFkcBSERERFocBSARERFpcRSAREREpMVRABIREZEWRwFIREREWhwfbxegMXK73ezbt4+goCAsFou3iyMiIiLHwTAM8vPziYuLw2o9eh2PAlA19u3bR0JCgreLISIiIrWwe/du2rRpc9RjFICqERQUBJg3MDg42MulERERkeORl5dHQkKC53f8aBSAqlHR7BUcHKwAJCIi0sQcT/cVdYIWERGRFkcBSERERFocBSARERFpcdQH6AS4XC7Kysq8XQxpxHx9fbHZbN4uhoiI/IkCUC0YhkF6ejo5OTneLoo0AaGhocTExGhOKRGRRkQBqBYqwk9UVBQBAQH6YZNqGYZBUVERmZmZAMTGxnq5RCIiUkEBqIZcLpcn/ERERHi7ONLI+fv7A5CZmUlUVJSaw0REGgl1gq6hij4/AQEBXi6JNBUVfyvqLyYi0ngoANWSmr3keOlvRUSk8VEAEhERkRZHAUhERERaHAUgERERaXEUgERERJqz0nwoK/F2KRodDYMXrykrK8PX19fbxRARaZzcbrDWsp7CWQQpn8CG+fBbsrkvtB207g6tux167AqR3cDR6ujXcpVDaR6U5B7acqA450+PBw8/d7ug3anQfRTE9IVGOhBEAagOGIZBcZmrwT/X39dWoxFGS5cu5fHHH2fTpk3YbDaGDBnCiy++SKdOnQDYs2cP9957L5999hmlpaX06NGDWbNmkZSUBMBHH33Eo48+ysaNG2nVqhWnn346H3zwAWCOdPrggw8YM2aM5/NCQ0OZOXMmf/3rX9m1axcdOnRg/vz5vPrqq6xevZrZs2czevRobrvtNr755hsOHjxIp06d+Pvf/86VV17puY7b7ea5555jzpw57N69m+joaG666SYeeOABhg0bRs+ePXnllVc8x+/fv5/4+Hg+/fRThg8ffiK3WETk6AwDsnfAjq9h53LY+a0ZAGL6QGwixPY1HyO6gO0IP7mGAfnpkLah8pa/zzy3/WnQ7jRoNwT8Qo5cFrcbUr+DDe/CL/8DZ37l9w/uNLetn1beH5IAkV3Na5fmQcmhsFPxvKyw5vdl17ew/Cnz2t1GmWGo3algazz/p1cBqA4Ul7noOe2zBv/cXx8dSYD9+P8TFhYWMmnSJPr27UtBQQHTpk3j4osvZv369RQVFXHmmWcSHx/P4sWLiYmJYd26dbjdbgCWLFnCxRdfzAMPPMC///1vnE4nn3zySY3LPHnyZJ5//nlOOukk/Pz8KCkpYcCAAdx///0EBwezZMkSrrnmGjp16sTgwYMBmDJlCq+//jovvPACp512GmlpaWzZsgWA66+/nttuu43nn38eh8MBwNtvv018fDzDhg2rcflERI6pIBN2LIedX5uPuburHvP7CnOr4OMH0b0PByK/UEjfeDjsFGZW/1n7fjK3714Gi9WsUWl/mrm1HQL+oZC1HX6eDxsWQG7q4XND20LfcdB3LDiCICsF9qfA/i2HHlPMz83dXf13+DMffzMk+Yea5fcP+8PzP+wrL4Ftn8P2ZPO6a/5hbn4h0OUcMxB1HgF+wcd1u+uLxTAMw6slaITy8vIICQkhNzeX4ODK/4FKSkrYuXMnHTp0wM/PD4AiZ3mTCEB/lpWVRevWrdm4cSPfffcd//d//8euXbsIDw+vcuwpp5xCx44defvtt6u91vHWAM2cOZM777zzqOW64IIL6N69O8899xz5+fm0bt2aV155heuvv77KsSUlJcTFxTF79myuuOIKABITE7nkkkt46KGHanA36k91fzMi0oS43bB7NWz5GH77EjJ/rfy+1RcSBkPHodDhTLAHQNrPkP6zGW7SN4Kz4OifYbGazVGxiYe34FjY86NZm7JrJWT/9ueTzJCT8/vhXY5g6HkRJF5pBqRjNaEVZUPWVjMUlRWb5/sFH3oMOfT80GNNa2/Kis2asS1LYOtSKNx/+D2rLySOhYtm1eyax3C03+8/Uw1QHfD3tfHroyO98rk1sW3bNqZNm8bq1avJysry1O6kpqayfv16TjrppGrDD8D69eu54YYbTrjMAwcOrPTa5XLx5JNP8t5777F3716cTielpaWe2ZM3b95MaWnpEZuy/Pz8uOaaa5g3bx5XXHEF69atY9OmTSxevPiEyyoijVi50wwY2TvMTr7OAnAWQmmB2fTjeV4IhhviTjKbkNoOgcDIY1/fVW42J/36P9j8MRSkV34/ps+hwDPUvK49sOr7XGU+d7vNcqb/oXmrJA9ieh8KO/0gqqcZnP4svCP0Nf/PHXn7zCC061v4fSUc2G6GH4sNOg+HxHFm7Yqv//Hfx4BwaHuyudU1X3/odp65uV1mmEtZAls+gQPbwNe7KyooANUBi8VyQjUxDWX06NG0a9eO119/nbi4ONxuN71798bpdHrWrDqSY71vsVj4c2VidUs/BAZW/kfi2Wef5cUXX2TmzJn06dOHwMBA7rrrLpxO53F9LpjNYP369WPPnj3885//ZNiwYbRr1+6Y54lIE5KXBnvWwO41sOcH2LceXKXHf37qd/D9odqGyK5mEGp3ivkY2tbsqOsqM/vx/LrYrO0pOnD4fEeI+UPedaRZyxNYg7UgrVaI7GxuvS89/vP+LDgO+l5ubmDek4xNZrNYUHTtr9sQrDZom2RuZz8KWdu83h+o8f9qS504cOAAKSkpvP7665x++ukArFhxuH26b9++vPHGG2RnZ1dbC9S3b1+Sk5OZMGFCtddv3bo1aWlpntfbtm2jqKjomOVauXIlF110EVdffTVgdnjeunUrPXv2BKBLly74+/uTnJxcbRMYQJ8+fRg4cCCvv/46//nPfyp1iBaRJqjwgFlDsO+nw4Gnuj4q/uEQ3ctsqrG3Mkcz2QPBHvSH563MYLN7NaSuMpuvsraa27o3zesEx5vX2b3GHMXkuX4YdD8feo4xQ4+PvSG+/fELjjW3piiyi7dLoADUUoSFhREREcGcOXOIjY0lNTWVyZMne96/8sorefLJJxkzZgzTp08nNjaWn376ibi4OIYMGcJDDz3E8OHD6dSpE+PGjaO8vJxPPvmE+++/H4Bhw4bxyiuvMGTIEFwuF/fff/9xDXHv0qUL77//Pt999x1hYWHMmDGDjIwMTwDy8/Pj/vvv57777sNut3Pqqaeyf/9+fvnlF6677jrPdSo6QwcGBnLxxRfX8d0TkTpX7jRHJGVtM8NO1vZDj1vNIdV/ZrGazURtBpn9bdoMhohOxz/EOnGs+ViUDanfmzVCv6+CtPWQt9fcAAJbQ4/R0ONCs6NxIxq1JHVLAaiFsFqtzJ8/nzvuuIPevXvTrVs3XnrpJYYOHQqA3W7n888/55577mHUqFGUl5fTs2dPZs0yq4yHDh3KwoULeeyxx3jqqacIDg7mjDPO8Fz/+eefZ8KECZx++unExcXx4osvsnbt2mOW68EHH2THjh2MHDmSgIAAbrzxRsaMGUNubq7nmKlTp+Lj48O0adPYt28fsbGx3HzzzZWuc+WVV3LXXXdx5ZVXqqOxNG5ut1nL4B/WaOdHqVbWNrPvSmwiRHSuedld5bD7e0j5FLZ/YV7POMr0IcFtILqnGXQSBkH8AHMk04kKCDeHZHcfZb52Fpp9UzJ+Mb9b25PN5hpp9hrFKLBZs2bx7LPPkp6eTmJiIi+//LJnCPSfDR06lOXLl1fZP2rUKJYsWQLAX//6V958881K748cOZKlS5ceV3lqOgpMvG/Xrl106tSJH374gf79+3u7OJXob0YAc66XLR/DV0+azTBBsea8KBVDmmsTKo7G7TaHPe9dBzY7dDgdgmJqdo3CLNj0X3MyvX3rDu9vFX243O1PP3LZS3LNsJOy1BwW/cfmJTCbpyI6mXPkRHY1+8hEdDH3/blTschxaFKjwBYsWMCkSZOYPXs2SUlJzJw5k5EjR5KSkkJUVFSV4xctWuTpIAtm35bExEQuv/zySsede+65/POf//S8rpgjRpqXsrIyDhw4wIMPPsjJJ5/c6MKPCIZhzofy5WNmc0uF/DTY9L65gRkq2p0K7U81Q0Vk15oFooL9sPdHszZjzw9m/5nSvMrHRHaDjmea/Vnan2bO3fJnZSXmRHkbFsD2ZeAuN/dbbGY/mf0pUJBhBqNN/zXfC4w6HIhiE83PT/kEfv/u8Plg9tnpcg50OxcSkswQ2JRqwaRZ8XoAmjFjBjfccIOnc+3s2bNZsmQJ8+bNq9RHpcKfO+jOnz+fgICAKgHI4XAQE1PD/7cjTc7KlSs566yz6Nq1K++//763iyNS2a4V8OXjZudbAN9AOPkWGHS92d9l10pzOPPuNWao+GWRuQEERJjBwh5gDhe2Bx5+rHju42fW8uz5sfJcMBV8A83h384Cs/kqK8Xc1swx+9TEnWSGoY5ngtUHfl5gziBcergJmth+5vDq3pdBq9ZmQNr74+Hh2LvXmJPp/bHsfxTZFbqea46gajP4yLMhizQwr/4lOp1O1q5dy5QpUzz7rFYrI0aMYNWqVcd1jblz5zJu3Lgqw6u//vproqKiCAsLY9iwYTz++ONERFQ/bLG0tJTS0sPDKfPy8qo9ThqfoUOHVhl+L+J1e340a3x2fG2+9vEzQ89pdx+egyY4Fjoc6kdXVgJ715qB6fcVZqgoOlB5GPbxaN0d4gdCm0Nb6x6HA0dRtnn9iiUbDmw3P3PvWlgxo/J1gtuYc88kjjPXjfojX7/DtT3cf7jsvx8KROkbzRmPu51nBp+ITjX7DiINxKsBKCsrC5fLRXR05fkLoqOjPUsdHM2aNWvYtGkTc+fOrbT/3HPP5ZJLLqFDhw789ttv/P3vf+e8885j1apV2GxVO7dNnz6dRx555MS+jIi0LIZhNjEVHzS3omzzceP7h9dasvrCgPFw+j3mHC5H4ut3qOnrVOB+KC81+wmV5JqLWpYVmZ11nYXmukwV+8qKIKStGXbi+x99naiAcOh5obkB5O41g9CO5eajs8gc/ZQ41lx36ngX4fxj2c+87/jOEWkEmnRd5Ny5c+nTp0+VDtPjxo3zPO/Tpw99+/alU6dOfP3119XOKDxlyhQmTZrkeZ2Xl0dCQkL9FVxEmpb8dPjmWXN5g4rAU3zwyKOYLFZI/IsZCMJqMSmnj8NsnqpPIfHQ7y/mJtICeTUARUZGYrPZyMjIqLQ/IyPjmP13CgsLmT9/Po8++ugxP6djx45ERkayffv2agOQw+FQJ2kRqarcCatnw/Jnqq6sXcHH36xd8Q8zt/COcMrtjWKiNxE5Mq8GILvdzoABA0hOTvYsoul2u0lOTua222476rkLFy6ktLTUM4Pw0ezZs4cDBw4QG9tEZ8wUkarKis3RRiW55lpQpflmk1RpwR9e55vLJXQ4w1wVuyaz5v72JXx6vzkxH5jz0Ay5zRytVRF2/ENrtu6SiDQaXm8CmzRpEuPHj2fgwIEMHjyYmTNnUlhY6BkVdu211xIfH8/06dMrnTd37lzGjBlTpWNzQUEBjzzyCJdeeikxMTH89ttv3HfffXTu3JmRIxt+wVIRqQfbvoAld0NO6vEd/9uXkPwodBpuNvl0G2X2XanOwd/h8wdg80fm64BIOPsRs0nrePvFiEij5/UANHbsWPbv38+0adNIT0+nX79+LF261NMxOjU1Feuf/tFJSUlhxYoVfP7551WuZ7PZ+Pnnn3nzzTfJyckhLi6Oc845h8cee0zNXCKNQc5uc2K+2izeWJAJS6ccnjsnINIcZeQIOrQWVBA4gg89Hnpd7jSHZ6euMue12b7M7Czc+zI46SqI62/ORVNWDCtfhBUvQHmJOe/N4Bth6OTq58sRkSatUcwE3dhoJujqtW/fnrvuuou77rrL20VpUlry34xHcY4ZQtb/x2y2slih63kw6G/Qcdixa1YMA356Cz6fas4mbLFC0i1w1t/NoHM8Dvxmfv6Gdw+v+wTm0PHuF8DG9w7XKLU/Hc57xlyKQUSajCY1E7SINFNuF+z4ygwdmz82++KAGV4MN6QsMbewDjDwb3DS1WZn4j/bvxU+vsucZwYgpi9c+FLNR0lFdILhU83QtPObQ+VaDPu3mBuYq4Kf8zj0ulgzFIs0cwpA0iK4XC4sFkuV5lSpB/tTzHDx8wJzuYcKrXuYTU59rjBrcX6cB+vfNVcEXzbVnDG596Uw6Dqzw7HLaTZHffu8+dw3wAwvSbec2GzCVht0OsvcSp6DXz4016mK7g2n3qE1qERaCP0a1AXDODxJWUNuNWi9nDNnDnFxcbjd7kr7L7roIv72t7/x22+/cdFFFxEdHU2rVq0YNGgQX3zxRa1vyYwZM+jTpw+BgYEkJCRw6623UlBQUOmYlStXMnToUAICAggLC2PkyJEcPHgQMEcDPvPMM3Tu3BmHw0Hbtm154oknAHOWb4vFQk5Ojuda69evx2KxsGvXLgD+9a9/ERoayuLFi+nZsycOh4PU1FR++OEHzj77bCIjIwkJCeHMM89k3bp1lcqVk5PDTTfdRHR0NH5+fvTu3ZuPP/6YwsJCgoODqyy58eGHHxIYGEh+/hGGSTd3rjL4fZW5yOecs2DWYFg50ww//mFmP5obv4ZbV5nDw4OizdmFz3sa7tkMo18ya3VcpbDhP/DGcJhzJsw+Db6eboafzmfDrd+b59flUgp+IeZEhePegbOmKPyItCCqAaoLZUXw5FFmea0vf9933P9gX3755dx+++189dVXnrmQsrOzWbp0KZ988gkFBQWMGjWKJ554AofDwb///W9Gjx5NSkoKbdu2rXHRrFYrL730Eh06dGDHjh3ceuut3Hfffbz66quAGViGDx/O3/72N1588UV8fHz46quvcLnMieWmTJnC66+/zgsvvMBpp51GWlracc0O/kdFRUU8/fTTvPHGG0RERBAVFcWOHTsYP348L7/8MoZh8PzzzzNq1Ci2bdtGUFAQbreb8847j/z8fN5++206derEr7/+is1mIzAwkHHjxvHPf/6Tyy67zPM5Fa+DgoJqfJ+aJMOArG1m89ZvX5nLK/xxjhyLzVzwst9foOtIc1K/I7EHmgGk/7Xmcgo/vAGbFpnrVoG5FtZ5T0GvS9QkJSJ1SgGohQgLC+O8887jP//5jycAvf/++0RGRnLWWWdhtVpJTEz0HP/YY4/xwQcfsHjx4mPOyVSdP3aUbt++PY8//jg333yzJwA988wzDBw40PMaoFevXgDk5+fz4osv8sorrzB+/HgAOnXqxGmnnVajMpSVlfHqq69W+l7Dhg2rdMycOXMIDQ1l+fLlXHDBBXzxxResWbOGzZs307VrV8CcSLPC9ddfzymnnEJaWhqxsbFkZmbyySefnFBtWZNQWgBbl5qBZ8dXlTsRg7nKd8eh5tbtPGgVVbPrWyyH168a+aTZhFZ8EE65zaxFEhGpYwpAdcE3wKyN8cbn1sBVV13FDTfcwKuvvorD4eCdd95h3LhxWK1WCgoKePjhh1myZAlpaWmUl5dTXFxMaupxzrPyJ1988QXTp09ny5Yt5OXlUV5eTklJCUVFRQQEBLB+/Xouv/zyas/dvHkzpaWl1c7aXRN2u52+fftW2peRkcGDDz7I119/TWZmJi6Xi6KiIs/3XL9+PW3atPGEnz8bPHgwvXr14s0332Ty5Mm8/fbbtGvXjjPOOOOEytooGQbsWwfr/g0b/1u5lsfmgLYnm/1oOp5lNmHVVf+qgHAz+IiI1CMFoLpgsTSJvgOjR4/GMAyWLFnCoEGD+Pbbb3nhhRcA+L//+z+WLVvGc889R+fOnfH39+eyyy7D6XTW+HN27drFBRdcwC233MITTzxBeHg4K1as4LrrrsPpdBIQEIC//5Fnzz3ae4CnI/MfZ3AoKyur9jqWPzWbjB8/ngMHDvDiiy/Srl07HA4HQ4YM8XzPY302mLVAs2bNYvLkyfzzn/9kwoQJVT6nSSs+CD8vhHVvQsamw/vDO0L3883A03YI2GsWwEVEGhMFoBbEz8+PSy65hHfeeYft27fTrVs3+vfvD5gdkv/6179y8cUXA+aM2hUdimtq7dq1uN1unn/+eU9Yee+99yod07dvX5KTk3nkkUeqnN+lSxf8/f1JTk7m+uuvr/J+69atAUhLSyMszGweWb9+/XGVbeXKlbz66quMGjUKgN27d5OVlVWpXHv27GHr1q1HrAW6+uqrue+++3jppZf49ddfPc10TZphmH151v0bfv3f4SHrNgf0vMjsp9PuVPXDEZFmQwGohbnqqqu44IIL+OWXXyqto9alSxcWLVrE6NGjsVgsTJ06tcqIsePVuXNnysrKePnllxk9ejQrV65k9uzZlY6ZMmUKffr04dZbb+Xmm2/Gbrfz1VdfcfnllxMZGcn999/Pfffdh91u59RTT2X//v388ssvXHfddXTu3JmEhAQefvhhnnjiCbZu3crzzz9/XGXr0qULb731FgMHDiQvL4977723Uq3PmWeeyRlnnMGll17KjBkz6Ny5M1u2bMFisXDuuecCZn+qSy65hHvvvZdzzjmHNm3a1Oo+eV1ZMaR+Dzu+Npd9yP7t8HvRvaH/eOh7ufrgiEizpGHwLcywYcMIDw8nJSWFv/zlL579M2bMICwsjFNOOYXRo0czcuRIT+1QTSUmJjJjxgyefvppevfuzTvvvFNlLbeuXbvy+eefs2HDBgYPHsyQIUP43//+h4+PmcmnTp3KPffcw7Rp0+jRowdjx44lMzMTAF9fX9599122bNlC3759efrpp3n88cePq2xz587l4MGD9O/fn2uuuYY77riDqKjKHXb/+9//MmjQIK688kp69uzJfffd5xmdVqGiOe9vf/tbre6RV7hdsHcdfDsD3rwQnmoHb40xh6xn/2YuJTHgr3DDl3DzCki6UeFHRJotLYVRDS2FIcfy1ltvcffdd7Nv3z7sdvtRj63XvxnDMOfhKS85vJWVQHkxlJeatTwHtsGO5ebsxyU5lc8PijVHbnUaZi4QerzLSoiINEJaCkOknhQVFZGWlsZTTz3FTTfddMzwU2sleea6VAUZ5gKglR7/sJXmm8tKHC9HsLnOVcWQ9cgu6tcjIi2SApDU2DvvvMNNN91U7Xvt2rXjl19+aeASNZxnnnmGJ554gjPOOIMpU6bUz4dsmA8f3WnW5tSUj7858aDvoUcff2jVGjqcYY7eiu1XtzMpi4g0UWoCq4aawI4uPz+fjIyMat/z9fWlXbt2DVyixu24/2YMw1z36svHzNf+YRAUZ04q2CrafAyKOfy8VbS5lIOPnxl4bHbV5ohIi6YmsAbQknNjUFBQy1n2oQ4c19+Kqxw+vddcIBTg1Dth+MN1N7mgiIhUogBUQ76+voDZF+R4Js0TKSoqAg7/7VThLIT3r4OtnwIWOO8ZcwSWiIjUGwWgGrLZbISGhnqGZAcEBDSvWYClzhiGQVFREZmZmYSGhmKz2aoeVLAf3h1rLgTq4weXvgE9Rjd8YUVEWhgFoFqIiYkB8IQgaQEMA9zlVfdXCb8WsFYOOqGhoZ6/mUoO/AZvXwoHd5r9fa5cAG2T6q7MIiJyRApAtWCxWIiNjSUqKqraNaikGcneCZv+C5uXQFn+sY8HaBUHcYkQm4hvm5OwRUdXDUp7foT/XAFFByC0HVz9X3NIuoiINAgFoBNgs9mqb9aQps1VBimfwA9vmJMHVvANAOuh/8kYBmBUfV5WDAW7IX314fP8QiDhZHP19LZDoHA/LLrRnKwwth/85T0Iim6ALyYiIhUUgEQq5KWZK6Cv/Rfkp5n7LFboei4Mug46Djv2qKzSAtj7o7nGVuoq2P0DlOTCts/M7Y86nw2X/0uzL4uIeIECkLRsFaug//A6bP4YjENrfgW2hv7XmmtjhbY9/us5Wh2eZRnM2qT0jYcDUer3UJhpLjR6/gxNSigi4iX611daJrcLtiyBFS/AvnWH97c9xazt6XEh+NTBMhc2X4jvb25DbjUDV/FBCAg/8WuLiEitKQBJy1JeCj8vgJUvwoHt5j4fP0i8EgbfANG96vfzLRaFHxGRRkABSFqGkjyzb8/3rx7u3+MXAoNvhME3metliYhIi6EAJM1bQSasnm2O6CrJNfcFxcGQiTBgPDi0pIeISEukACTNU8F+WDnTDD4Vq6pHdIHT7oI+V9RN/x4REWmyFICkeSnKhlWvwPezoazQ3Bc/AE67G7qdr8VFRUQEUACS5qIkD75/zQw/pXnmvth+MGwqdB5ezZIVIiLSkikASdPmLIQ1c8xRXcUHzX1RvWDYA9BtlIKPiIhUSwFImo6yEjPkVGz7fjL7+RTuN9+P6AJnTYGeF6upS0REjkoBSBqflKWw4V1zodA/Bp6youqPD2sPZ06GPpdrZmURkUbMMAwKnS7yisvwsVqICvbzWlkaxa/FrFmzePbZZ0lPTycxMZGXX36ZwYMHV3vs0KFDWb58eZX9o0aNYsmSJVX233zzzfzjH//ghRde4K677qrroktdKiuGzx6AH+ce+RiLFfzDwD8cAiMhcRz0u8qccVlERKooLC3HYgF/XxuWWnYLcLsNcorLyC0uo7C0nOIyl/nodFHodFHkLKfI6aKotNwTcPJKysgrLjcfDz3PLynDfWjt6MsGtOG5yxPr8JvWjNcD0IIFC5g0aRKzZ88mKSmJmTNnMnLkSFJSUoiKiqpy/KJFi3A6nZ7XBw4cIDExkcsvv7zKsR988AHff/89cXFx9fodpA5kboH3/waZv5ivB98ICUlm2AkIPxR6wsAepOYtEZGjSM8tYc2ubH7Ymc0Pu7JJycjHMMDhYyUswE5YoJ3wQF/CAuyEB9o9j4ZhkF3o5EChk+w/bQeLnJ7gUhd8bRbcdXnBWvB6AJoxYwY33HADEyZMAGD27NksWbKEefPmMXny5CrHh4dXXkZg/vz5BAQEVAlAe/fu5fbbb+ezzz7j/PPPr78vICfGMMwZmpdOgfJicxHSi/9hjtwSEZGjMgyD3/YX8kNF4Pk9m93ZxdUeW1ruJj2vhPS8klp/XiuHDwF2G4GHHs3Np/Kjw0awny/B/r4E+/kcevQlxN+HID/zuZ+vtda1UXXFqwHI6XSydu1apkyZ4tlntVoZMWIEq1atOq5rzJ07l3HjxhEYGOjZ53a7ueaaa7j33nvp1evYazuVlpZSWlrqeZ2Xl1eDbyG1VpwDH90Jv35ovu40zAw/rarW/ImINFYHC51szchna0Y+KRn5FJa68LfbCLTb8LcfDgr+vmZw8LfbCPX3pWNkK0ICatZ8X1hazoY9OfyUmsNPqQdZl5pDdqGz0jFWC/SMC2ZQ+3AGtw9nQPswAu0+ZBc6ySkqI7vIycE/1OwcLDKfW7CYNUKBdiICzVqhiEA74a3shB+qOfK1NZ8aeK8GoKysLFwuF9HR0ZX2R0dHs2XLlmOev2bNGjZt2sTcuZX7jDz99NP4+Phwxx13HFc5pk+fziOPPHL8BZcTt3sNvH8d5KaC1QeGT4Mht6t5S0QaJWe5m8LScnYdKDSDTnoB2zLzSUnPJzO/9NgXOILwQDsdIgPpEBlIx9aBdIwMpENkK9pFBODwsbIzq5CfUnNYl3qQn1Jz2JKeV6UpyuFj5aS2oQxqH86g9uH0bxdGK0fVn/dAhw8JWovZw+tNYCdi7ty59OnTp1KH6bVr1/Liiy+ybt26465emzJlCpMmTfK8zsvLIyEhoc7LK4DbBStegK+eBMNljuC6dB60GeDtkolIC2MYBtszC1ixPYt1qTnkFpdRfKgzb7HTZXbqPfS6/Bj9VdqE+dMtOoiuMUGEBfhWukahs9zzvNjpoqisnKx8J+l5JZ4+Nmt/P1jpehYLBNp9KCgtr/JZ8aH+9GsbSv+2YZzUNpTecSHYffR/HmvKqwEoMjISm81GRkZGpf0ZGRnExMQc9dzCwkLmz5/Po48+Wmn/t99+S2ZmJm3btvXsc7lc3HPPPcycOZNdu3ZVuZbD4cDhcNT+i8jxSdsAn94PqYeaN3tfBhe8AH7B3i2XiLQY+3KKWbk9i5Xbs/jutwM1rr2JCnLQLSaIrtFBnsDTJaoVgdXUuBxLRY3Sjv2F7Mwytx37C9ixv5D80nIKSsux+1jpGx9C/3ZhnJQQSv92YUR7ceh4c+LVAGS32xkwYADJycmMGTMGMPvvJCcnc9tttx313IULF1JaWsrVV19daf8111zDiBEjKu0bOXIk11xzjaejtTSwgkxIfhR+ehswwDcARj0H/f6imZpFpEZyipysSz3I2t/NLSOv1NPRNsTfl9AA8/HwZqfc7eb7HQf4bvsBdmQVVrqew8fKoPbhDOkUQXSwn9lXx24jwPdQp17HoY6+vmbfnbqsaQl0+NArLoRecSGV9huGwYFCJwcKnHSIDFTtTj3xehPYpEmTGD9+PAMHDmTw4MHMnDmTwsJCT1i59tpriY+PZ/r06ZXOmzt3LmPGjCEiIqLS/oiIiCr7fH19iYmJoVu3bvX7ZaSyshJY/Rp88zw48819vS+DEQ9DqJoYRZqb/JIy0nJLCAuwE9nKfsKjfAzDYGdWIT/+fpB1vx/kx98Psj2z4ISuabVAnzahnNY5glM7RdK/XRh+vrYTumZds1gsRLZyENlKLRP1yesBaOzYsezfv59p06aRnp5Ov379WLp0qadjdGpqKtY/dYxNSUlhxYoVfP75594oshyLYcDmj+DzByHnd3NfXH849ylom+TdsonICalottmVVcSuA2azza6sQnYdKCSr4PBoJIePlTZh/rQJC/jToz/xYf643OacMwcLD49KOlB4aHRSkZPsAicpGflVRjgBdIwMpH+7MAa2C6N9ZCAFJeXkFpd5JurLO/SYU+Qkt7iMcrfBSQmhnNo5kqSOEYT4a+JUAYthGN6diagRysvLIyQkhNzcXIKD1T+lRtJ+hs/+Dru+NV+3ijFrfPqO1QgvkUaopMzFT6k5/La/gMJD/U4KSsspKCmn0FlOfkk5haXlFJa6yC5ysv8YfWZC/H0rzfZ7ouw+VhLbhDCgXTgD2oXRv20oEaoZkSOoye+312uApJlwu2DpZFjzOmCAjx+ccjucehc4Wnm7dCJySLHTxbrUg6zecYDvd2SzfncOTpe7RtcIC/ClQ2Qg7SMD6RBx6DEykHYRAQT5+eIsd5OeW8Keg0XsOVj8h0fzeXpeCVaLxTPfjGdG4kBfz3wz4YF2EsIDNMJJ6o0CkNSNFTNgzRzzea9L4OxHILTt0c8RkVpxlrvJyCthX04xLreBj82Kj82Cj9WCj7Xyc5vNwo79BXy/4wCrd2SzYU8OZa7K1TPRwQ76xIcS7O9DK4e5BTp8CPLzIdB++Hmwny9twwOOOXmf3cdK24gA2kYEVPt+ucuNzWrx+kzA0rIpAMmJ+30VfHWok/qFL0P/a71bHpEmzOU2OFBYSkZuKftyi9mXU7GVsPfQ8/0FpZxI54XYED9O7hhBUodwTu4YQbuIgAYNIz7NaDZhaboUgOTEFGXDf683JzXsOxZOusbbJRJplAzDIK+43LMWU0ZeCZl5JWTklZKRV0JGfikZuSXsLyjFdRwdaOw+VuJC/LD7WCl3GZS7DcpdbvPRbVDmcuNyG5S7DFoHOUjqGM7JHSI4uWMECeH+qn2RFk8BSGrPMGDx7ZC3B8I7wvnPa14fabEqhmxvzcgnPbeEtLwSMnLNsJN+6LGk7Pj62lgtENHKQVyoP/GhfsSF+BMXWrH5ERfqT0TgiQ8zF2nJFICk9n54A7Z8DFZfuGweOIK8XSKRBuN2G2zNzGfNzmxW78xmzc7sY46QAggN8CU6yI/oED9igh1EB/sRFexHdJD5PCbEj4hAu5qJROqZApDUTvpG+OwB8/nZj0LcSd4tj0g9MgwDp8vN1vQCVu88wOqd2fywK5ucorJKx9l9rPSIDSY+1M8MM4cCTXSwH7GHHhvbpHsiLZUCkNScsxDe/xu4SqHLSDj5Fm+XSKTG8krKWH9ole2f9+SSW1xGabmL0jI3peVuSstdlJSZj6Xl7mo7HQfYbQxoF8bg9uEkdYygb5sQBRyRJkIBSGru0/sgaysExcKYV9XvRxqU222w8rcs5q/ZzfrdOUQFO2gbHkDb8AASwgJICDeHX8cE+2GzWjznbN9fwLrfD/LTodCzfX9BjUdSBfn5MKh9OEkdwhncIZze8SH4qqlKpElSAJKa+XnhoUVNLXDJ6xAY6e0SSQuRkVfCwh93s+DH3ezOLvbs35tTzE+pOVWO97VZiA/1J6KVg63p+eSXllc5pm14AP3bhtIvIZSYEH/8fK04fGw4fK04fA4997Eeem0jyOGD1arAL9IcKADJ8cveAR/fbT4/417ocLp3yyPNXrnLzdcp+5n/w26+Ssn0DA8P8vPh4pPiObdXDDnFZaRmF7E7u4jU7MMzD5e5DHYdKGLXgSIA/H1tJCaEcFLbMPq3DaNfQiitg7SkgkhLpQAkx6fcafb7ceZD2yFw5v3eLpE0U+UuN1szCvh0UxoLf9xDel6J571B7cMYN6gto/rE4m8/cl8bl9sgI6+E1OwiMvJK6NS6Fd1jgjSySkQ8FIDk+CQ/Avt+Ar9QuPQNsOlPR06cYRjszSlmw+5cNuzJYX1qDhv35lJc5vIcEx5o59L+8YwdlEDnqOObasFmtXjmzRERqY5+xeToig/Cl0/AD6+bry+aBSFtvFsmaXKKnOVk5TvJKixlf34pW9PzzcCzO5esgqpz57Ry+DCwfRiXDWjD2T2jcfhoZJWI1C0FIKme2w0b/gPLHoKiLHPfqXdBjwu8WixpPJzlbrIKSsnMLyUzr8R8zC8lq6CUrIrHAidZBaUUOV1HvI6P1UKP2GASE0JIbGN2SO7UupU6G4tIvVIAkqr2rYdP/g/2/GC+juwGo56BjkO9WSrxkuxCJ1+nZPL9jgOk5Zaw/1DQyS501ug6Dh8rka0cRAY5aBceQL+EUBITQukVF6y5c0SkwSkAyWHFB+HLx+GHuYABvoEw9H5IugV87N4unTQQwzDYllnAF5sz+HJzJutSD3KktTl9rBZaBzmICnLQOsiP1kEOc2tl94SdyFYOIlvZaeXw0dpVItJoKACJ2dy1/m344mEoOmDu630pnPM4BMd5tWhyYspcbrILnfjarPjaLNh9rPharVWal0rLXazekU3y5gySt2Sy52Bxpfe7xwQxrHsUHVu3IirIQVSwg9atHIQF2NVUJSJNkgJQS+Qqg4O7YH8KZKXAliWwd635XuvuMOpZ6HCGV4sotedyG3y/4wCL1+/j001p5JVUnQDQ12Y5FIqs2H2sFJSUVxp5ZfexckqnCIb3iGZY9yjiNZpKRJoZBaDmzDAgbcPhoJO1FfZvNSc0dFdexBF7Kxg6BZJuApuvd8ortWYYBj/tzmHx+n0s2ZhWaVVyq4UqTVhlLoMylws4HHpaBzkY3j2KYd2jOK1LJAF2/fMgIs2X/oVrrgwDFv4Vfv2w+vd9AyGyC0R2hagekHglBMc2ZAmlDqSk57N4w14+2pBGanaRZ3+Ivy+j+sQwOjGOpA4RWACny43T5aasvOLRwOly4Sw38LVZNPJKRFoUBaDm6se5Zvix+kJCkhl2WnczA09kVwiOB6tmxW2KDMPg65T9zFi2lY17cz37A+w2zu4ZzYWJcZzepTV2n8r/ff2sNo22EhE5RAGoOdqfAp89YD4/5zE4+RbvlkfqzI+7snlmaQprdmUDZl+eM7tGcVG/OIb3iFKzlYjIcdK/ls1NeSn89zooL4FOw2HwTd4ukdSBzWl5PPdZCslbMgFzTp2/ntKem87sRHigpigQEakpBaDm5svHIH0jBETAmFfVzNXEpR4o4oUvtvLh+r0YhrnG1RUD23DH8C7EhmhklohIbSkANSe/fQXfvWw+v/AVCIrxbnmk1vbnl/LKl9v4z5pUylzmEK7z+8Zyz9ld6di6lZdLJyLS9CkANRdF2fDhob4+A/8G3Ud5tzxSY85yN99s3c+H6/ey7NcMSsvdAJzeJZL7RnanT5sQL5dQRKT5UABqDgwDFt8O+WkQ0QXOecLbJZLj5HYb/Pj7Qf63fi9LNqaRU3R4fqbEhFDuH9mNUzpHerGEIiLNkwJQc/DTW7DlY3PI+6VvgD3A2yVqkQzDIK+4HB+bBT9fG7ajzKmTkp7Ph+v3snj9PvbmHF52onWQgwsT4xjTL57e8cFaO0tEpJ4oADV1Wdvh0/vN58OnQlw/rxanJdqXU8wHP+3lv+v2sGN/oWe/r82Cn48Nh68NP18rfocei5yuSse1cvhwbu8YxvSLZ0iniKMGJxERqRsKQE2ZqwwWXQ9lRebaXUNu93aJWozC0nKWbkrnv+v2sGrHAYxqVks3l5soJ7+0+rW4zuoWxZiT4hnWPUoTFIqINDAFoKbs6+mw7yfwC4UxszXkvZ653Qbf7zzAf9fu5dNNaRQ5D6+jdXLHcC7t34aRvWPwsVooKXNTUuY6tLkpKTefl5a5cbkNBrUPJyRAa66JiHhLowhAs2bN4tlnnyU9PZ3ExERefvllBg8eXO2xQ4cOZfny5VX2jxo1iiVLlgDw8MMPM3/+fHbv3o3dbmfAgAE88cQTJCUl1ev3aFC7VsK3M8znF74EIfHeLU8zlpZbzLtrdvPftXsq9ddpHxHAJf3bcPFJ8SSEV+53FaC5CUVEGjWvB6AFCxYwadIkZs+eTVJSEjNnzmTkyJGkpKQQFRVV5fhFixbhdDo9rw8cOEBiYiKXX365Z1/Xrl155ZVX6NixI8XFxbzwwgucc845bN++ndatWzfI96pXbjcsvg0w4KSroedF3i5Rs+N2G6zYnsXb3/9O8pZMXIeWUw/y8+GCvnFcNiCe/m3D1ElZRKSJshhGdb0XGk5SUhKDBg3ilVdeAcDtdpOQkMDtt9/O5MmTj3n+zJkzmTZtGmlpaQQGBlZ7TF5eHiEhIXzxxRcMHz78mNesOD43N5fg4OCafaGG8Pt38M/zwBEMk34FR5C3S9RsHCx0snDtbv6zOpVdBw6vrp7UIZy/JLVlZK8Y9dcREWmkavL77dUaIKfTydq1a5kyZYpnn9VqZcSIEaxateq4rjF37lzGjRt3xPDjdDqZM2cOISEhJCYmVntMaWkppaWlntd5eXk1+BZesPF987HHaIWfOmAYBj/tzuHt73/n45/TcB6agDDI4cMl/eO56uR2dI3WfRYRaU68GoCysrJwuVxER0dX2h8dHc2WLVuOef6aNWvYtGkTc+fOrfLexx9/zLhx4ygqKiI2NpZly5YRGVn9hHLTp0/nkUceqd2XaGiuMvjlA/N570u9W5YmrKTMxQ+7svl2WxZfbclkW2aB571eccFcfXI7LkyMI9Dh9VZiERGpB036X/e5c+fSp0+fajtMn3XWWaxfv56srCxef/11rrjiClavXl1tv6IpU6YwadIkz+u8vDwSEhLqtey1tuNrKM6GwNbQ4Uxvl6bJMAyDlIx8vt2axTfb9rNmZ7ZnqQkAu4+VC/rGcs3J7eiXEKq+PSIizZxXA1BkZCQ2m42MjIxK+zMyMoiJOfpCnoWFhcyfP59HH3202vcDAwPp3LkznTt35uSTT6ZLly7MnTu3UnNbBYfDgcPhqP0XaUgbF5qPvS4GW5POr/XO5Tb4dFMaX27JZMW2LDLzSyu9HxPsx+ldIjm9a2vO6BJJqIZuiYi0GF79Ba0Yop6cnMyYMWMAsxN0cnIyt91221HPXbhwIaWlpVx99dXH9Vlut7tSP58myVkEmz82n/e5/OjHtnCb0/KYvGgjG3bnePb5+Vo5uWMEp3cxA0/nqFaq6RERaaG8XoUwadIkxo8fz8CBAxk8eDAzZ86ksLCQCRMmAHDttdcSHx/P9OnTK503d+5cxowZQ0RERKX9hYWFPPHEE1x44YXExsaSlZXFrFmz2Lt3b6Wh8k3S1qVQVgihbaHNIG+XplEqKXPxUvI25nyzg3K3QZDDhyuT2nJm19YMaBemEVwiIgI0ggA0duxY9u/fz7Rp00hPT6dfv34sXbrU0zE6NTUV659mOE5JSWHFihV8/vnnVa5ns9nYsmULb775JllZWURERDBo0CC+/fZbevXq1SDfqd5UjP7qfRmo5qKK737L4u+LNnqGr4/sFc0jF/YmJsTPyyUTEZHGxuvzADVGjXIeoOKD8FxXcDnhllUQ3dPbJWo0coqcPLFkMwvX7gEgOtjBIxf25tzeR+9HJiIizUuTmQdIamDzR2b4ieqp8HOIYRh89HMaj370C1kF5uzgV5/clvvO7U6wn9bZEhGRI1MAaioqmr/6XObdcjQChmGwLvUgr3y5na9S9gPQOaoVT13Sh4Htw71cOhERaQoUgJqC/HTY+Y35vAVPfrg9M58Pf9rH/zbsZXe2uSip3WZl4lmduXloRxw+6uAsIiLHRwGoKdi0CDCgzWAIa+/t0jSo9NwSPtqwjw/X7+WXfYeXKAm02xjZO4Zbh3aic5SWqRARkZpRAGoKNlU0fzXxYfzHqchZzscb0vhw/V5W7ThARTd9H6uFM7u25qKT4jm7RzT+dtX4iIhI7SgANXYHfoO9a8FihV5jvF2aeuVyGyz8cTfPL9vK/j/M2jywXRgXnRTP+X1iCQ/UbM0iInLiFIAau02LzMeOQ6FV1XXMmouvUzKZ/skWUjLyAWgT5s+4QQlc1C+ehPAAL5dORESaGwWgxswwYON75vNm2vz16748pn+6mW+3ZQEQ4u/LHcO7cPXJbdWpWURE6o0CUGOWvhGytoLNAd0v8HZp6lR6bgnPf57C++v2YBjmaK7xp7TjtrO6EBKgOXxERKR+KQA1ZhWdn7uOBL9GMiP1CSosLecf3+zg9W92UFzmAuCCvrHcN7I7bSPU1CUiIg1DAaixcrth43/N581k8sNVvx3g/xZuYG+OOYfPgHZhPHB+D/q3DfNyyUREpKVRAGqsdq+GvD3gCIYu53i7NCekpMzF85+n8MaKnRgGJIT78/fzenBu7xgsWtRVRES8QAGosdq40HzsfgH4+nu3LCdgc1oedy9Yz5Z0c3TXlYPb8uD5PQh06E9PRES8R79CjZGrDH790HzeRJu/XG6DN77dwfOfb8XpchPZys7Tl/ZleI9obxdNREREAahR2vE1FB2AwNbQ4Uxvl6bG9hwsYtJ7G1izMxuAET2ieerSPkS2cni5ZCIiIiYFoMaoovmr18Vgazr/iQzDYNG6vTy8+BfyS8sJsNt4aHRPrhiYoL4+IiLSqDSdX9eWoqwYtiwxnzehyQ9zi8v4+6KNLNmYBpgjvGZckUi7iEAvl0xERKQqBaDGJm0DOAugVTS0GeTt0hyXTXtzufWddaRmF+FjtXD32V256YyO+Nis3i6aiIhItRSAGpv0jeZjbD9o5M1GhmHw7prdPPzRLzjL3bQJ82fWX/qTmBDq7aKJiIgclQJQY5P+s/kY08e75TiGImc5D3ywiQ9+2gvAiB5RPH95Py1jISIiTYICUGOTvsl8jOnt3XIcxfbMfG55ex3bMguwWS3cO7IbN57eEau1cddYiYiIVFAAakxc5ZD5q/k8pq93y3IE/1u/lymLNlLkdBEV5ODlK08iqWOEt4slIiJSIwpAjcmB7VBeAr6BENbB26WppKTMxaMf/8p/VqcCcGrnCF4cd5Lm9hERkSZJAagxqegAHdMbrI1nBNW+nGJufOtHNu3Nw2KB28/qzJ0jumJTk5eIiDRRCkCNScahABTdePr/pKTnM37eGtLzSggL8GXmuJM4s2trbxdLRETkhCgANSaeGqDGMQLs+x0HuOHfP5JfUk7nqFb8a8Ig2oQFeLtYIiIiJ0wBqLEwDEirGALv/Q7QH/+8j0kLNuB0uRnYLow3xg8kNMDu7WKJiIjUCQWgxqIgA4qywGKFqB5eLcq8FTt5bMmvGAac2yuGmeP64edr82qZRERE6pICUGNRMf9PRGewe6eZye02eGrpFuZ8swOAa4e046HRvdTZWUREmh0FoMbCyzNAl5a7uHfhzyzesA+A+8/tzs1ndtQq7iIi0iwpADUWXuwAnVdSxs1vreW73w7gY7XwzGV9uaR/mwYvh4iISENRAGosMiqWwGjYAJSZX8K1c9ewJT2fQLuN2dcM4PQuGuYuIiLNW6OYbW/WrFm0b98ePz8/kpKSWLNmzRGPHTp0KBaLpcp2/vnnA1BWVsb9999Pnz59CAwMJC4ujmuvvZZ9+/Y11NepOWchZG0zn0c3XAAqd7m59e11bEnPp3WQgwU3DVH4ERGRFsHrAWjBggVMmjSJhx56iHXr1pGYmMjIkSPJzMys9vhFixaRlpbm2TZt2oTNZuPyyy8HoKioiHXr1jF16lTWrVvHokWLSElJ4cILL2zIr1UzmZsBAwKjICi6wT72xeRt/Pj7QVo5fHjvpiH0jg9psM8WERHxplo1gX311VecddZZdVKAGTNmcMMNNzBhwgQAZs+ezZIlS5g3bx6TJ0+ucnx4eHil1/PnzycgIMATgEJCQli2bFmlY1555RUGDx5Mamoqbdu2rXLN0tJSSktLPa/z8vJO+HvViBc6QK/cnsUrX20HYPolfegQGdhgny0iIuJttaoBOvfcc+nUqROPP/44u3fvrvWHO51O1q5dy4gRIw4XyGplxIgRrFq16riuMXfuXMaNG0dg4JF/wHNzc7FYLISGhlb7/vTp0wkJCfFsCQkJNfoeJyy9Yfv/7M8v5a4F6zEMuHJwAqMT4xrkc0VERBqLWgWgvXv3ctttt/H+++/TsWNHRo4cyXvvvYfT6azRdbKysnC5XERHV272iY6OJj09/Zjnr1mzhk2bNnH99dcf8ZiSkhLuv/9+rrzySoKDg6s9ZsqUKeTm5nq2Ewl1tdKAI8DcboNJ761nf34pXaNbMe2CXvX+mSIiIo1NrQJQZGQkd999N+vXr2f16tV07dqVW2+9lbi4OO644w42bNhQ1+Ws1ty5c+nTpw+DBw+u9v2ysjKuuOIKDMPgtddeO+J1HA4HwcHBlbYG43ZBxi/m8wYIQHO+3cG327Lw87Xyyl/642/XDM8iItLynHAn6P79+zNlyhRuu+02CgoKmDdvHgMGDOD000/nl19+Oeq5kZGR2Gw2MjIyKu3PyMggJibmqOcWFhYyf/58rrvuumrfrwg/v//+O8uWLWvYUFMT2TuhrBB8/M1ZoOvRutSDPPdZCgAPje5F1+igev08ERGRxqrWAaisrIz333+fUaNG0a5dOz777DNeeeUVMjIy2L59O+3atfN0TD4Su93OgAEDSE5O9uxzu90kJyczZMiQo567cOFCSktLufrqq6st2xVXXMG2bdv44osviIiIqN2XbAgZh5q/onuCtf5qY3KLyrj9Pz9R7ja4oG8s4wY1cD8nERGRRqRWo8Buv/123n33XQzD4JprruGZZ56hd+/envcDAwN57rnniIs7dufaSZMmMX78eAYOHMjgwYOZOXMmhYWFnlFh1157LfHx8UyfPr3SeXPnzmXMmDFVwk1ZWRmXXXYZ69at4+OPP8blcnn6E4WHh2O3N7IVzSv6/0T3PvpxJ8AwDCYv+pm9OcW0DQ/gyUv6aIkLERFp0WoVgH799VdefvllLrnkEhwOR7XHREZG8tVXXx3zWmPHjmX//v1MmzaN9PR0+vXrx9KlSz0do1NTU7FaK1dUpaSksGLFCj7//PMq19u7dy+LFy8GoF+/fpXe++qrrxg6dOhxfMMG1AAdoN9encqnm9LxtVl4+cqTCPbzrbfPEhERaQoshmEY3i5EY5OXl0dISAi5ubn133fo+R6Qvw/+9jm0Tarzy/+6L48xr67EWe7mwfN7cP3pHev8M0RERBqDmvx+16oP0PTp05k3b16V/fPmzePpp5+uzSVbpsIsM/yA2Qeori9fWs5t767DWe7mrG6t+dupHer8M0RERJqiWgWgf/zjH3Tv3r3K/l69ejF79uwTLlSLUdH8Fd4RHHU/IuvJTzazY38h0cEOnr+iH1ar+v2IiIhALQNQeno6sbGxVfa3bt2atLS0Ey5Ui1GP/X+2ZuTz7ppUAF64oh/hgY2s87eIiIgX1SoAJSQksHLlyir7V65ceVwjv+SQjPpbAuPpT7fgNmBkr2hO6RxZ59cXERFpymo1CuyGG27grrvuoqysjGHDhgGQnJzMfffdxz333FOnBWzWPEPg6zYArd5xgOQtmdisFu47t2pTpYiISEtXqwB07733cuDAAW699VbP+l9+fn7cf//9TJkypU4L2GyVlcB+c1bmuqwBMgyDJz/dAsC4QQl0at2qzq4tIiLSXNQqAFksFp5++mmmTp3K5s2b8ff3p0uXLkecE0iqsX8zGC7wD4fgums2/GRjOht25xBgt3HniC51dl0REZHmpFYBqEKrVq0YNGhQXZWlZUn/Q/+fOpqV2Vnu5tnPzNqfG07vSFSQX51cV0REpLmpdQD68ccfee+990hNTfU0g1VYtGjRCRes2auHEWDvrkll14EiIls5uOEMTXgoIiJyJLUaBTZ//nxOOeUUNm/ezAcffEBZWRm//PILX375JSEhIXVdxuapjgNQfkkZLyVvA+DOEV1o5Tihyj0REZFmrVYB6Mknn+SFF17go48+wm638+KLL7JlyxauuOIK2rZtW9dlbH4Mo86HwM/5ZgcHCp10jAzUSu8iIiLHUKsA9Ntvv3H++ecDYLfbKSwsxGKxcPfddzNnzpw6LWCzlPM7lOaBzQ6RXU/4chl5Jbzx7U4A7ju3G762Wv1nFRERaTFq9UsZFhZGfn4+APHx8WzaZNZm5OTkUFRUVHela64qmr9adwfbia/MPvOLrRSXuejfNpSRvWJO+HoiIiLNXa06ipxxxhksW7aMPn36cPnll3PnnXfy5ZdfsmzZMoYPH17XZWx+PP1/+p7wpbZn5rPgh90ATBnVA0sdjSgTERFpzmoVgF555RVKSkoAeOCBB/D19eW7777j0ksv5cEHH6zTAjZL6XXX/+epT1NwG3B2z2gGtQ8/4euJiIi0BDUOQOXl5Xz88ceMHDkSAKvVyuTJk+u8YM1aHY0A+2FXNl9szsBmtXC/lrwQERE5bjXuA+Tj48PNN9/sqQGSGio+CLnmKu1E96r1ZQzD4MlPNgNwxcAEOkdpyQsREZHjVatO0IMHD2b9+vV1XJQWoqL5K7Qt+IfW+jJLN6XzU2oO/r427taSFyIiIjVSqz5At956K5MmTWL37t0MGDCAwMDASu/37XvinXubLc/8P7W/R4ZhMGPZVgBuOL0DUcFa8kJERKQmahWAxo0bB8Add9zh2WexWDAMA4vFgsvlqpvSNUd10P8nNbuIbZkF+NosXK8lL0RERGqsVgFo586ddV2OliP9Z/MxunetL7FiexYAJ7UNI9jvxOcREhERaWlqFYDatWtX1+VoGcqdsD/FfH4CNUArDwWg0zpH1kWpREREWpxaBaB///vfR33/2muvrVVhmr2sreBygiPE7ARdCy63wXe/HQDgVAUgERGRWqlVALrzzjsrvS4rK6OoqAi73U5AQIAC0JF4+v/0hlrO2Pzrvjxyispo5fAhsU1IHRZORESk5ahVADp48GCVfdu2beOWW27h3nvvPeFCNVsxfeDMyRASX+tLVPT/ObljBD5a9FRERKRWahWAqtOlSxeeeuoprr76arZs2VJXl21eYnqb2wmo6P9zehc1f4mIiNRWnVYh+Pj4sG/fvrq8pPxBSZmLNbuyAfX/ERERORG1qgFavHhxpdeGYZCWlsYrr7zCqaeeWicFk6p+3HUQZ7mbmGA/OrUOPPYJIiIiUq1aBaAxY8ZUem2xWGjdujXDhg3j+eefr4tySTUq+v+c2jkSSy07UYuIiEgtA5Db7a7rcshx8Mz/0yXCyyURERFp2jSMqIk4WOhk075cAE7tpP4/IiIiJ6JWAejSSy/l6aefrrL/mWee4fLLLz/hQklVq3YcwDCga3QrLX4qIiJygmoVgL755htGjRpVZf95553HN998U+PrzZo1i/bt2+Pn50dSUhJr1qw54rFDhw7FYrFU2c4//3zPMYsWLeKcc84hIiICi8XC+vXra1ymxuaP/X9ERETkxNQqABUUFGC326vs9/X1JS8vr0bXWrBgAZMmTeKhhx5i3bp1JCYmMnLkSDIzM6s9ftGiRaSlpXm2TZs2YbPZKtU8FRYWctppp1VbS9VUaf0vERGRulOrANSnTx8WLFhQZf/8+fPp2bNnja41Y8YMbrjhBiZMmEDPnj2ZPXs2AQEBzJs3r9rjw8PDiYmJ8WzLli0jICCgUgC65pprmDZtGiNGjDiuMpSWlpKXl1dpa0x2Zxfx+4EifKwWkjqqA7SIiMiJqtUosKlTp3LJJZfw22+/MWzYMACSk5N59913Wbhw4XFfx+l0snbtWqZMmeLZZ7VaGTFiBKtWrTqua8ydO5dx48YRGFj7eXGmT5/OI488Uuvz61tF89dJbUNp5aizybtFRERarFrVAI0ePZoPP/yQ7du3c+utt3LPPfewZ88evvjiiypzBB1NVlYWLpeL6OjoSvujo6NJT08/5vlr1qxh06ZNXH/99TX9CpVMmTKF3Nxcz7Z79+4Tul5dU/8fERGRulXr6oTzzz+/Usdjb5g7dy59+vRh8ODBJ3Qdh8OBw+Goo1LVLbfb4Dv1/xEREalTtaoB+uGHH1i9enWV/atXr+bHH3887utERkZis9nIyMiotD8jI4OYmJijnltYWMj8+fO57rrrjvvzmqJf0/I4WFRGoN1GYkKot4sjIiLSLNQqAE2cOLHaZqK9e/cyceLE476O3W5nwIABJCcne/a53W6Sk5MZMmTIUc9duHAhpaWlXH311cdf8CaoYvTXyR0j8LVp3koREZG6UKsmsF9//ZX+/ftX2X/SSSfx66+/1uhakyZNYvz48QwcOJDBgwczc+ZMCgsLmTBhAgDXXnst8fHxTJ8+vdJ5c+fOZcyYMUREVB0VlZ2dTWpqqmdl+pSUFADPyLGmRP1/RERE6l6tApDD4SAjI4OOHTtW2p+WloaPT80uOXbsWPbv38+0adNIT0+nX79+LF261NMxOjU1Fau1cs1HSkoKK1as4PPPP6/2mosXL/YEKIBx48YB8NBDD/Hwww/XqHzeVFLm4odd2QCc1kUBSEREpK5YDMMwanrSlVdeSVpaGv/73/8ICQkBICcnhzFjxhAVFcV7771X5wVtSHl5eYSEhJCbm0twcLDXyvHd9iz+8sZqooIcrP77cK0ALyIichQ1+f2uVQ3Qc889xxlnnEG7du046aSTAFi/fj3R0dG89dZbtbmkVGPFH0Z/KfyIiIjUnVoFoPj4eH7++WfeeecdNmzYgL+/PxMmTODKK6/E19e3rsvYYq1U/x8REZF6Uet5gAIDAznttNNo27YtTqcTgE8//RSACy+8sG5K14LlFpXx895cQAFIRESkrtUqAO3YsYOLL76YjRs3YrFYMAyjUhONy+WqswK2VKt2ZGEY0DmqFTEhft4ujoiISLNSq4ll7rzzTjp06EBmZiYBAQFs2rSJ5cuXM3DgQL7++us6LmLLtEKzP4uIiNSbWtUArVq1ii+//JLIyEisVis2m43TTjuN6dOnc8cdd/DTTz/VdTlbnJXbDwBq/hIREakPtaoBcrlcBAUFAeZyFhUTDrZr184z6aDU3p6DRezMKsRmtZDUMdzbxREREWl2alUD1Lt3bzZs2ECHDh1ISkrimWeewW63M2fOnCqTI0rNVYz+SmwTQrCfRtWJiIjUtVoFoAcffJDCwkIAHn30US644AJOP/10IiIiWLBgQZ0WsCVacaj567Qurb1cEhERkeapVgFo5MiRnuedO3dmy5YtZGdnExYWpgn7TpDbbfCdOkCLiIjUq1rPA/Rn4eHqq1IXdh8s4kChE4ePlX4Jod4ujoiISLNUq07QUn8OFJqTSka2cmD30X8eERGR+qBf2EYmt7gMgNAAdX4WERGpLwpAjUxukRmAQvwVgEREROqLAlAjoxogERGR+qcA1MjkqAZIRESk3ikANTIVNUAh/nYvl0RERKT5UgBqZHKKzVFgqgESERGpPwpAjUye+gCJiIjUOwWgRkZ9gEREROqfAlAj4xkFpgAkIiJSbxSAGpmcQwEoWAFIRESk3igANSKGYXgmQlQfIBERkfqjANSIlJS5cbrcgPoAiYiI1CcFoEakYgi8zWqhlcPHy6URERFpvhSAGpHDkyD6YrFYvFwaERGR5ksBqBGpGAKvEWAiIiL1SwGoEcnVCDAREZEGoQDUiGgEmIiISMNQAGpE/tgHSEREROqPAlAjUjEKTH2ARERE6pcCUCOiGiAREZGG0SgC0KxZs2jfvj1+fn4kJSWxZs2aIx47dOhQLBZLle3888/3HGMYBtOmTSM2NhZ/f39GjBjBtm3bGuKrnBDPQqgBdi+XREREpHnzegBasGABkyZN4qGHHmLdunUkJiYycuRIMjMzqz1+0aJFpKWlebZNmzZhs9m4/PLLPcc888wzvPTSS8yePZvVq1cTGBjIyJEjKSkpaaivVStaCFVERKRheD0AzZgxgxtuuIEJEybQs2dPZs+eTUBAAPPmzav2+PDwcGJiYjzbsmXLCAgI8AQgwzCYOXMmDz74IBdddBF9+/bl3//+N/v27ePDDz+s9pqlpaXk5eVV2rxBTWAiIiINw6sByOl0snbtWkaMGOHZZ7VaGTFiBKtWrTqua8ydO5dx48YRGBgIwM6dO0lPT690zZCQEJKSko54zenTpxMSEuLZEhISTuBb1Z6nBkjD4EVEROqVVwNQVlYWLpeL6OjoSvujo6NJT08/5vlr1qxh06ZNXH/99Z59FefV5JpTpkwhNzfXs+3evbumX6VOePoAqQZIRESkXjXpFTfnzp1Lnz59GDx48Aldx+Fw4HA46qhUteN2G+SVVHSCVgASERGpT16tAYqMjMRms5GRkVFpf0ZGBjExMUc9t7CwkPnz53PddddV2l9xXm2u6U35JeUYhvlcNUAiIiL1y6sByG63M2DAAJKTkz373G43ycnJDBky5KjnLly4kNLSUq6++upK+zt06EBMTEyla+bl5bF69epjXtObKvr/+PvacPjYvFwaERGR5s3rTWCTJk1i/PjxDBw4kMGDBzNz5kwKCwuZMGECANdeey3x8fFMnz690nlz585lzJgxREREVNpvsVi46667ePzxx+nSpQsdOnRg6tSpxMXFMWbMmIb6WjVWMQu0an9ERETqn9cD0NixY9m/fz/Tpk0jPT2dfv36sXTpUk8n5tTUVKzWyhVVKSkprFixgs8//7zaa953330UFhZy4403kpOTw2mnncbSpUvx8/Or9+9TWxoBJiIi0nAshlHR80Qq5OXlERISQm5uLsHBwQ3ymR9t2Mft7/7E4A7hvHdT422qExERaaxq8vvt9YkQxZSjWaBFREQajAJQI5GnWaBFREQajAJQI5FTZHaCVh8gERGR+qcA1EhoHTAREZGGowDUSHiWwQiwe7kkIiIizZ8CUCOhGiAREZGGowDUSORqFJiIiEiDUQBqJFQDJCIi0nAUgBqJij5AGgUmIiJS/xSAGoHSchfFZS5ANUAiIiINQQGoEaho/rJYIMhPAUhERKS+KQA1AhWzQAc5fLBZLV4ujYiISPOnANQIHO7/ozmAREREGoICUCPgGQKvDtAiIiINQgGoEfDMAq0O0CIiIg1CAagR0BxAIiIiDUsBqBHIUQASERFpUApAjUCe+gCJiIg0KAWgRiCnyAmoBkhERKShKAA1AocXQtUweBERkYagANQIVPQBClYNkIiISINQAGoEcrUQqoiISINSAGoENAxeRESkYSkAeZlhGJ4mMNUAiYiINAwFIC8rdLpwuQ1ANUAiIiINRQHIyyqGwNttVvx9bV4ujYiISMugAORluX8YAWaxWLxcGhERkZZBAcjLNAJMRESk4SkAeZlGgImIiDQ8BSAv84wAUwASERFpMApAXqYaIBERkYbn9QA0a9Ys2rdvj5+fH0lJSaxZs+aox+fk5DBx4kRiY2NxOBx07dqVTz75xPN+fn4+d911F+3atcPf359TTjmFH374ob6/Rq3lHOoDFKI+QCIiIg3GqwFowYIFTJo0iYceeoh169aRmJjIyJEjyczMrPZ4p9PJ2Wefza5du3j//fdJSUnh9ddfJz4+3nPM9ddfz7Jly3jrrbfYuHEj55xzDiNGjGDv3r0N9bVqRDVAIiIiDc9iGIbhrQ9PSkpi0KBBvPLKKwC43W4SEhK4/fbbmTx5cpXjZ8+ezbPPPsuWLVvw9a0aGIqLiwkKCuJ///sf559/vmf/gAEDOO+883j88cePq1x5eXmEhISQm5tLcHBwLb/d8bn1nbV8sjGdh0f35K+ndqjXzxIREWnOavL77bUaIKfTydq1axkxYsThwlitjBgxglWrVlV7zuLFixkyZAgTJ04kOjqa3r178+STT+JyuQAoLy/H5XLh5+dX6Tx/f39WrFhxxLKUlpaSl5dXaWsonhogNYGJiIg0GK8FoKysLFwuF9HR0ZX2R0dHk56eXu05O3bs4P3338flcvHJJ58wdepUnn/+eU/NTlBQEEOGDOGxxx5j3759uFwu3n77bVatWkVaWtoRyzJ9+nRCQkI8W0JCQt190WOo6AMU6m9vsM8UERFp6bzeCbom3G43UVFRzJkzhwEDBjB27FgeeOABZs+e7TnmrbfewjAM4uPjcTgcvPTSS1x55ZVYrUf+qlOmTCE3N9ez7d69uyG+DqAaIBEREW/w8dYHR0ZGYrPZyMjIqLQ/IyODmJiYas+JjY3F19cXm+3wmlk9evQgPT0dp9OJ3W6nU6dOLF++nMLCQvLy8oiNjWXs2LF07NjxiGVxOBw4HI66+WI1VDETtDpBi4iINByv1QDZ7XYGDBhAcnKyZ5/b7SY5OZkhQ4ZUe86pp57K9u3bcbvdnn1bt24lNjYWu71yE1JgYCCxsbEcPHiQzz77jIsuuqh+vsgJKHe5yS8tBzQRooiISEPyahPYpEmTeP3113nzzTfZvHkzt9xyC4WFhUyYMAGAa6+9lilTpniOv+WWW8jOzubOO+9k69atLFmyhCeffJKJEyd6jvnss89YunQpO3fuZNmyZZx11ll0797dc83GJK+k3PM8WAFIRESkwXitCQxg7Nix7N+/n2nTppGenk6/fv1YunSpp2N0ampqpb47CQkJfPbZZ9x999307duX+Ph47rzzTu6//37PMbm5uUyZMoU9e/YQHh7OpZdeyhNPPFHtsHlvq+j/08rhg6+tSXXHEhERadK8Og9QY9VQ8wD9lHqQi1/9jvhQf1ZOHlZvnyMiItISNIl5gESzQIuIiHiLApAXKQCJiIh4hwKQF3kmQdQcQCIiIg1KAciLVAMkIiLiHQpAXlRRA6RZoEVERBqWApAXqQZIRETEOxSAvCi32AloIVQREZGGpgDkRaoBEhER8Q4FIC/SKDARERHvUADyItUAiYiIeIcCkBflKACJiIh4hQKQl5SUuXCWuwENgxcREWloCkBeUtH/x2a1EOTw8XJpREREWhYFIC+p6P8T7OeDxWLxcmlERERaFgUgL8kpOjQHUIDmABIREWloCkBe4qkBUgdoERGRBqcA5CUVI8BCFYBEREQanAKQl+QVaxJEERERb1EA8hLPSvCqARIREWlwCkBekqsmMBEREa9RAPKSHHWCFhER8RoFIC/x1ABpGLyIiEiDUwDyktxD8wCpD5CIiEjDUwDykhyNAhMREfEaBSAvydVK8CIiIl6jAOQFbrehUWAiIiJepADkBfml5RiG+VyjwERERBqeApAX5B6aBNHP14qfr83LpREREWl5FIC8QP1/REREvEsByAtyis0h8KH+mgNIRETEGxSAvEA1QCIiIt6lAOQFnoVQNQeQiIiIV3g9AM2aNYv27dvj5+dHUlISa9asOerxOTk5TJw4kdjYWBwOB127duWTTz7xvO9yuZg6dSodOnTA39+fTp068dhjj2FUDLtqBFQDJCIi4l0+3vzwBQsWMGnSJGbPnk1SUhIzZ85k5MiRpKSkEBUVVeV4p9PJ2WefTVRUFO+//z7x8fH8/vvvhIaGeo55+umnee2113jzzTfp1asXP/74IxMmTCAkJIQ77rijAb/dkWkOIBEREe/yagCaMWMGN9xwAxMmTABg9uzZLFmyhHnz5jF58uQqx8+bN4/s7Gy+++47fH3N8NC+fftKx3z33XdcdNFFnH/++Z7333333WPWLDWkimHwqgESERHxDq81gTmdTtauXcuIESMOF8ZqZcSIEaxataracxYvXsyQIUOYOHEi0dHR9O7dmyeffBKXy+U55pRTTiE5OZmtW7cCsGHDBlasWMF55513xLKUlpaSl5dXaatPnlFg6gMkIiLiFV6rAcrKysLlchEdHV1pf3R0NFu2bKn2nB07dvDll19y1VVX8cknn7B9+3ZuvfVWysrKeOihhwCYPHkyeXl5dO/eHZvNhsvl4oknnuCqq646YlmmT5/OI488Undf7hgqmsA0C7SIiIh3eL0TdE243W6ioqKYM2cOAwYMYOzYsTzwwAPMnj3bc8x7773HO++8w3/+8x/WrVvHm2++yXPPPcebb755xOtOmTKF3Nxcz7Z79+56/R4Vo8BCAzQPkIiIiDd4rQYoMjISm81GRkZGpf0ZGRnExMRUe05sbCy+vr7YbIeXj+jRowfp6ek4nU7sdjv33nsvkydPZty4cQD06dOH33//nenTpzN+/Phqr+twOHA4HHX0zY4tT6PAREREvMprNUB2u50BAwaQnJzs2ed2u0lOTmbIkCHVnnPqqaeyfft23G63Z9/WrVuJjY3FbjdrU4qKirBaK38tm81W6Rxvy9EoMBEREa/yahPYpEmTeP3113nzzTfZvHkzt9xyC4WFhZ5RYddeey1TpkzxHH/LLbeQnZ3NnXfeydatW1myZAlPPvkkEydO9BwzevRonnjiCZYsWcKuXbv44IMPmDFjBhdffHGDf7/qOMvdFDnNTtvqBC0iIuIdXh0GP3bsWPbv38+0adNIT0+nX79+LF261NMxOjU1tVJtTkJCAp999hl33303ffv2JT4+njvvvJP777/fc8zLL7/M1KlTufXWW8nMzCQuLo6bbrqJadOmNfj3q05FB2iAID8FIBEREW+wGI1piuRGIi8vj5CQEHJzcwkODq7Ta2/PLGDEjOUE+/nw88Mj6/TaIiIiLVlNfr+b1Ciw5iD30BxAWgdMRETEexSAGphnCLy/hsCLiIh4iwJQA9NCqCIiIt6nANTAKmqA1AQmIiLiPQpADUw1QCIiIt6nANTAcjUJooiIiNcpADUw1QCJiIh4nwJQA8spMofBaxZoERER71EAamCqARIREfE+BaAGluMJQJoHSERExFsUgBpYnmqAREREvE4BqAEZhnF4Jmj1ARIREfEaBaAGVOR0Ue42155VDZCIiIj3KAA1oIr+P742CwF2m5dLIyIi0nIpADWg3KLD/X8sFouXSyMiItJyKQA1oJxicw4gNX+JiIh4lwJQA9IIMBERkcZBAagBlZa7CbDbCA3QHEAiIiLe5OPtArQkF/WL56J+8bgPjQQTERER71ANkBdYreoALSIi4k0KQCIiItLiKACJiIhIi6MAJCIiIi2OApCIiIi0OApAIiIi0uIoAImIiEiLowAkIiIiLY4CkIiIiLQ4CkAiIiLS4igAiYiISIujACQiIiItjgKQiIiItDgKQCIiItLi+Hi7AI2RYRgA5OXlebkkIiIicrwqfrcrfsePRgGoGvn5+QAkJCR4uSQiIiJSU/n5+YSEhBz1GItxPDGphXG73ezbt4+goCAsFkudXjsvL4+EhAR2795NcHBwnV5bqtL9bli63w1L97th6X43rNrcb8MwyM/PJy4uDqv16L18VANUDavVSps2ber1M4KDg/U/oAak+92wdL8blu53w9L9blg1vd/HqvmpoE7QIiIi0uIoAImIiEiLowDUwBwOBw899BAOh8PbRWkRdL8blu53w9L9bli63w2rvu+3OkGLiIhIi6MaIBEREWlxFIBERESkxVEAEhERkRZHAUhERERaHAWgBjRr1izat2+Pn58fSUlJrFmzxttFaha++eYbRo8eTVxcHBaLhQ8//LDS+4ZhMG3aNGJjY/H392fEiBFs27bNO4VtBqZPn86gQYMICgoiKiqKMWPGkJKSUumYkpISJk6cSEREBK1ateLSSy8lIyPDSyVu2l577TX69u3rmQxuyJAhfPrpp573da/r11NPPYXFYuGuu+7y7NM9rzsPP/wwFoul0ta9e3fP+/V5rxWAGsiCBQuYNGkSDz30EOvWrSMxMZGRI0eSmZnp7aI1eYWFhSQmJjJr1qxq33/mmWd46aWXmD17NqtXryYwMJCRI0dSUlLSwCVtHpYvX87EiRP5/vvvWbZsGWVlZZxzzjkUFhZ6jrn77rv56KOPWLhwIcuXL2ffvn1ccsklXix109WmTRueeuop1q5dy48//siwYcO46KKL+OWXXwDd6/r0ww8/8I9//IO+fftW2q97Xrd69epFWlqaZ1uxYoXnvXq914Y0iMGDBxsTJ070vHa5XEZcXJwxffp0L5aq+QGMDz74wPPa7XYbMTExxrPPPuvZl5OTYzgcDuPdd9/1Qgmbn8zMTAMwli9fbhiGeX99fX2NhQsXeo7ZvHmzARirVq3yVjGblbCwMOONN97Qva5H+fn5RpcuXYxly5YZZ555pnHnnXcahqG/77r20EMPGYmJidW+V9/3WjVADcDpdLJ27VpGjBjh2We1WhkxYgSrVq3yYsmav507d5Kenl7p3oeEhJCUlKR7X0dyc3MBCA8PB2Dt2rWUlZVVuufdu3enbdu2uucnyOVyMX/+fAoLCxkyZIjudT2aOHEi559/fqV7C/r7rg/btm0jLi6Ojh07ctVVV5GamgrU/73WYqgNICsrC5fLRXR0dKX90dHRbNmyxUulahnS09MBqr33Fe9J7bndbu666y5OPfVUevfuDZj33G63ExoaWulY3fPa27hxI0OGDKGkpIRWrVrxwQcf0LNnT9avX697XQ/mz5/PunXr+OGHH6q8p7/vupWUlMS//vUvunXrRlpaGo888ginn346mzZtqvd7rQAkIrU2ceJENm3aVKnNXupet27dWL9+Pbm5ubz//vuMHz+e5cuXe7tYzdLu3bu58847WbZsGX5+ft4uTrN33nnneZ737duXpKQk2rVrx3vvvYe/v3+9fraawBpAZGQkNputSs/1jIwMYmJivFSqlqHi/ure173bbruNjz/+mK+++oo2bdp49sfExOB0OsnJyal0vO557dntdjp37syAAQOYPn06iYmJvPjii7rX9WDt2rVkZmbSv39/fHx88PHxYfny5bz00kv4+PgQHR2te16PQkND6dq1K9u3b6/3v28FoAZgt9sZMGAAycnJnn1ut5vk5GSGDBnixZI1fx06dCAmJqbSvc/Ly2P16tW697VkGAa33XYbH3zwAV9++SUdOnSo9P6AAQPw9fWtdM9TUlJITU3VPa8jbreb0tJS3et6MHz4cDZu3Mj69es928CBA7nqqqs8z3XP609BQQG//fYbsbGx9f/3fcLdqOW4zJ8/33A4HMa//vUv49dffzVuvPFGIzQ01EhPT/d20Zq8/Px846effjJ++uknAzBmzJhh/PTTT8bvv/9uGIZhPPXUU0ZoaKjxv//9z/j555+Niy66yOjQoYNRXFzs5ZI3TbfccosREhJifP3110ZaWppnKyoq8hxz8803G23btjW+/PJL48cffzSGDBliDBkyxIulbromT55sLF++3Ni5c6fx888/G5MnTzYsFovx+eefG4ahe90Q/jgKzDB0z+vSPffcY3z99dfGzp07jZUrVxojRowwIiMjjczMTMMw6vdeKwA1oJdfftlo27atYbfbjcGDBxvff/+9t4vULHz11VcGUGUbP368YRjmUPipU6ca0dHRhsPhMIYPH26kpKR4t9BNWHX3GjD++c9/eo4pLi42br31ViMsLMwICAgwLr74YiMtLc17hW7C/va3vxnt2rUz7Ha70bp1a2P48OGe8GMYutcN4c8BSPe87owdO9aIjY017Ha7ER8fb4wdO9bYvn275/36vNcWwzCME69HEhEREWk61AdIREREWhwFIBEREWlxFIBERESkxVEAEhERkRZHAUhERERaHAUgERERaXEUgERERKTFUQASERGRFkcBSETkCCwWCx9++KG3iyEi9UABSEQapb/+9a9YLJYq27nnnuvtoolIM+Dj7QKIiBzJueeeyz//+c9K+xwOh5dKIyLNiWqARKTRcjgcxMTEVNrCwsIAs3nqtdde47zzzsPf35+OHTvy/vvvVzp/48aNDBs2DH9/fyIiIrjxxhspKCiodMy8efPo1asXDoeD2NhYbrvttkrvZ2VlcfHFFxMQEECXLl1YvHix572DBw9y1VVX0bp1a/z9/enSpUuVwCYijZMCkIg0WVOnTuXSSy9lw4YNXHXVVYwbN47NmzcDUFhYyMiRIwkLC+OHH35g4cKFfPHFF5UCzmuvvcbEiRO58cYb2bhxI4sXL6Zz586VPuORRx7hiiuu4Oeff2bUqFFcddVVZGdnez7/119/5dNPP2Xz5s289tprREZGNtwNEJHaq5M15UVE6tj48eMNm81mBAYGVtqeeOIJwzAMAzBuvvnmSuckJSUZt9xyi2EYhjFnzhwjLCzMKCgo8Ly/ZMkSw2q1Gunp6YZhGEZcXJzxwAMPHLEMgPHggw96XhcUFBiA8emnnxqGYRijR482JkyYUDdfWEQalPoAiUijddZZZ/Haa69V2hceHu55PmTIkErvDRkyhPXr1wOwefNmEhMTCQwM9Lx/6qmn4na7SUlJwWKxsG/fPoYPH37UMvTt29fzPDAwkODgYDIzMwG45ZZbuPTSS1m3bh3nnHMOY8aM4ZRTTqnVdxWRhqUAJCKNVmBgYJUmqbri7+9/XMf5+vpWem2xWHC73QCcd955/P7773zyyScsW7aM4cOHM3HiRJ577rk6L6+I1C31ARKRJuv777+v8rpHjx4A9OjRgw0bNlBYWOh5f+XKlVitVrp160ZQUBDt27cnOTn5hMrQunVrxo8fz9tvv83MmTOZM2fOCV1PRBqGaoBEpNEqLS0lPT290j4fHx9PR+OFCxcycOBATjvtNN555x3WrFnD3LlzAbjqqqt46KGHGD9+PA8//DD79+/n9ttv55prriE6OhqAhx9+mJtvvpmoqCjOO+888vPzWblyJbfffvtxlW/atGkMGDCAXr16UVpayscff+wJYCLSuCkAiUijtXTpUmJjYyvt69atG1u2bAHMEVrz58/n1ltvJTY2lnfffZeePXsCEBAQwGeffcadd97JoEGDCAgI4NJLL2XGjBmea40fP56SkhJeeOEF/u///o/IyEguu+yy4y6f3W5nypQp7Nq1C39/f04//XTmz59fB99cROqbxTAMw9uFEBGpKYvFwgcffMCYMWO8XRQRaYLUB0hERERaHAUgERERaXHUB0hEmiS13ovIiVANkIiIiLQ4CkAiIiLS4igAiYiISIujACQiIiItjgKQiIiItDgKQCIiItLiKACJiIhIi6MAJCIiIi3O/wMc5YxNRK/sBQAAAABJRU5ErkJggg==\n"},"metadata":{}},{"output_type":"display_data","data":{"text/plain":["
"],"image/png":"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Ed9SAPID6gQtIiLiWwpAfiBGLUAiIiI+pQDkB6KPWxHeMLQgqoiISGNTAPIDNS1AFVVuSitdFlcjIiLS/CkA+YHQIAdBDvOPQkPhRUREGp8CkB+w2Wy1l8GK1Q9IRESksSkA+YnaFeHVAiQiItLYFID8RG1HaLUAiYiINDYFID9R2wKkACQiItLYFID8RM1yGOoELSIi0vgUgPyElsMQERHxHQUgP6HlMERERHxHAchPqAVIRETEdxSA/ETtemBqARIREWlsCkB+ovYSmFqAREREGpsCkJ/wXALTTNAiIiKNTgHIT9S0ABWUVVHlcltcjYiISPOmAOQnokICPffzS9UPSEREpDEpAPmJAIedyOAAQB2hRUREGpsCkB+JCdNyGCIiIr6gAORHojUUXkRExCcUgPxIjFaEFxER8QkFID+iFeFFRER8QwHIj0SHakV4ERERX1AA8iNqARIREfENBSA/4ukDVKwWIBERkcakAORHtCK8iIiIbygA+ZHaS2BqARIREWlMCkB+JFrD4EVERHxCAciP1M4EXYlhGBZXIyIi0nwpAPmRmk7QFS43JRUui6sRERFpvhSA/EhIoIOgAPOPRJfBREREGo8CkB+x2WyeViB1hBYREWk8CkB+JkZD4UVERBqdApCf0XIYIiIijc/yADR79mw6dOhAcHAwgwYNYs2aNad87dy5c7HZbHW24ODgE163ZcsWrrrqKqKioggLC2PAgAHs3bu3Mb+G12g5DBERkcZnaQB65513mD59Og8++CDr16+nT58+jBgxgpycnFO+JzIykkOHDnm2zMzMOs/v2rWL8847jx49erBkyRJ++OEH7r///pMGJX/kmQ1ay2GIiIg0mgArP/zpp59m8uTJTJw4EYAXXniBTz75hJdffpn77rvvpO+x2WwkJiae8ph//vOfGTVqFE888YRnX+fOnb1beCOK0WSIIiIijc6yFqCKigrWrVvH8OHDa4ux2xk+fDgrV6485fuKiopo3749KSkpjB49mk2bNnmec7vdfPLJJ3Tr1o0RI0YQHx/PoEGDmD9//s/WUl5eTkFBQZ3NKroEJiIi0vgsC0CHDx/G5XKRkJBQZ39CQgJZWVknfU/37t15+eWX+fDDD3n99ddxu90MHjyY/fv3A5CTk0NRURGPP/44l112GQsXLuTqq6/mmmuuYenSpaesZebMmURF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z+hcN4J169aRk5PDOeecQ0BAAAEBASxdupS///3vBAQEkJCQoHPeiKKjo+nWrRs7d+5s9L/fCkA+EBQURFpaGosWLfLsc7vdLFq0iPT0dAsra/46duxIYmJinXNfUFDA6tWrde7ryTAMpk6dyrx58/jqq6/o2LFjnefT0tIIDAysc863bdvG3r17dc69xO12U15ernPdCC6++GI2btzIhg0bPFv//v0ZN26c577OeeMpKipi165dJCUlNf7f7wZ3o5bT8vbbbxtOp9OYO3eusXnzZuOWW24xoqOjjaysLKtLa/IKCwuN7777zvjuu+8MwHj66aeN7777zsjMzDQMwzAef/xxIzo62vjwww+NH374wRg9erTRsWNHo7S01OLKm6bbbrvNiIqKMpYsWWIcOnTIs5WUlHhec+uttxrt2rUzvvrqK+Pbb7810tPTjfT0dAurbrruu+8+Y+nSpUZGRobxww8/GPfdd59hs9mMhQsXGoahc+0Lx48CMwydc2+6++67jSVLlhgZGRnG8uXLjeHDhxuxsbFGTk6OYRiNe64VgHzo2WefNdq1a2cEBQUZAwcONFatWmV1Sc3C4sWLDeCEbcKECYZhmEPh77//fiMhIcFwOp3GxRdfbGzbts3aopuwk51rwHjllVc8ryktLTV+//vfGzExMUZoaKhx9dVXG4cOHbKu6Cbs5ptvNtq3b28EBQUZcXFxxsUXX+wJP4ahc+0LPw1AOufec/311xtJSUlGUFCQ0aZNG+P66683du7c6Xm+Mc+1zTAMo+HtSCIiIiJNh/oAiYiISIujACQiIiItjgKQiIiItDgKQCIiItLiKACJiIhIi6MAJCIiIi2OApCIiIi0OApAIiIi0uIoAImInILNZmP+/PlWlyEijUABSET80k033YTNZjthu+yyy6wuTUSagQCrCxAROZXLLruMV155pc4+p9NpUTUi0pyoBUhE/JbT6SQxMbHOFhMTA5iXp+bMmcPIkSMJCQmhU6dOvPfee3Xev3HjRi666CJCQkJo3bo1t9xyC0VFRXVe8/LLL9OrVy+cTidJSUlMnTq1zvOHDx/m6quvJjQ0lK5du/LRRx95njt27Bjjxo0jLi6OkJAQunbtekJgExH/pAAkIk3W/fffz9ixY/n+++8ZN24cN9xwA1u2bAGguLiYESNGEBMTw9q1a3n33Xf58ssv6wScOXPmMGXKFG655RY2btzIRx99RJcuXep8xsMPP8x1113HDz/8wKhRoxg3bhxHjx71fP7mzZv57LPP2LJlC3PmzCE2NtZ3J0BE6s8ra8qLiHjZhAkTDIfDYYSFhdXZ/vrXvxqGYRiAceutt9Z5z6BBg4zbbrvNMAzDeOmll4yYmBijqKjI8/wnn3xi2O12IysryzAMw0hOTjb+/Oc/n7IGwPif//kfz+OioiIDMD777DPDMAzjyiuvNCZOnOidLywiPqU+QCLity688ELmzJlTZ1+rVq0899PT0+s8l56ezoYNGwDYsmULffr0ISwszPP8kCFDcLvdbNu2DZvNxsGDB7n44ot/tobevXt77oeFhREZGUlOTg4At912G2PHjmX9+vVceumljBkzhsGDB9fru4qIbykAiYjfCgsLO+GSlLeEhISc1usCAwPrPLbZbLjdbgBGjhxJZmYmn376KV988QUXX3wxU6ZM4amnnvJ6vSLiXeoDJCJN1qpVq054nJqaCkBqairff/89xcXFnueXL1+O3W6ne/fuRERE0KFDBxYtWtSgGuLi4pgwYQKvv/46s2bN4qWXXmrQ8UTEN9QCJCJ+q7y8nKysrDr7AgICPB2N3333Xfr37895553HG2+8wZo1a/jXv/4FwLhx43jwwQeZMGECDz30ELm5udx+++3ceOONJCQkAPDQQw9x6623Eh8fz8iRIyksLGT58uXcfvvtp1XfAw88QFpaGr169aK8vJyPP/7YE8BExL8pAImI31qwYAFJSUl19nXv3p2tW7cC5gitt99+m9///vckJSXx1ltv0bNnTwBCQ0P5/PPPufPOOxkwYAChoaGMHTuWp59+2nOsCRMmUFZWxv/93/9xzz33EBsby69+9avTri8oKIgZM2awZ88eQkJCGDp0KG+//bYXvrmINDabYRiG1UWIiJwpm83GvHnzGDNmjNWliEgTpD5AIiIi0uIoAImIiEiLoz5AItIk6eq9iDSEWoBERESkxVEAEhERkRZHAUhERERaHAUgERERaXEUgERERKTFUQASERGRFkcBSERERFocBSARERFpcf4/icU+miTnPgoAAAAASUVORK5CYII=\n"},"metadata":{}}]},{"cell_type":"code","source":[],"metadata":{"id":"5Plnc7W0XAVh"},"execution_count":null,"outputs":[]}]} \ No newline at end of file +{ + "nbformat": 4, + "nbformat_minor": 0, + "metadata": { + "colab": { + "provenance": [], + "toc_visible": true, + "gpuType": "T4" + }, + "kernelspec": { + "name": "python3", + "display_name": "Python 3" + }, + "language_info": { + "name": "python" + }, + "accelerator": "GPU" + }, + "cells": [ + { + "cell_type": "markdown", + "source": [ + "# Dataset (https://www.kaggle.com/datasets/kazanova/sentiment140)\n", + "\n", + "* https://www.youtube.com/watch?v=mY-lIkjrvzI&list=PL049bGjkT7dIARLPrxvA4-tbEcg6k0UDX&index=123" + ], + "metadata": { + "id": "90s3T2S-eWI2" + } + }, + { + "cell_type": "code", + "source": [ + "from google.colab import drive\n", + "drive.mount('/gdrive')" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "Ym_RQnRXef83", + "outputId": "124b0dcb-b6e4-4bf5-b519-650193a40de6" + }, + "execution_count": 1, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Mounted at /gdrive\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "folder = '/gdrive/MyDrive/deep_learning_course/data/tweets/'" + ], + "metadata": { + "id": "oTJ-Ni99epH_" + }, + "execution_count": 2, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "!ls '/gdrive/MyDrive/deep_learning_course/data/tweets/'" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "qifx-sJefEC1", + "outputId": "e9e42295-1bdb-45ad-9b05-00f7aa0daacb" + }, + "execution_count": 3, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "ls: cannot access '/gdrive/MyDrive/deep_learning_course/data/tweets/': No such file or directory\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "import pandas as pd" + ], + "metadata": { + "id": "E8H8kFFFfJEA" + }, + "execution_count": 4, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "df = pd.read_csv(folder + \"training.1600000.processed.noemoticon.csv\", encoding=\"latin\", header=None)" + ], + "metadata": { + "id": "tT1DM-mxfMwM", + "outputId": "95e2c752-aa24-4220-8981-7040606e9189", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 287 + } + }, + "execution_count": 5, + "outputs": [ + { + "output_type": "error", + "ename": "FileNotFoundError", + "evalue": "[Errno 2] No such file or directory: '/gdrive/MyDrive/deep_learning_course/data/tweets/training.1600000.processed.noemoticon.csv'", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mFileNotFoundError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m/tmp/ipython-input-2171425486.py\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mdf\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mpd\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mread_csv\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfolder\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0;34m\"training.1600000.processed.noemoticon.csv\"\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mencoding\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m\"latin\"\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mheader\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[0;32m/usr/local/lib/python3.12/dist-packages/pandas/io/parsers/readers.py\u001b[0m in \u001b[0;36mread_csv\u001b[0;34m(filepath_or_buffer, sep, delimiter, header, names, index_col, usecols, dtype, engine, converters, true_values, false_values, skipinitialspace, skiprows, skipfooter, nrows, na_values, keep_default_na, na_filter, verbose, skip_blank_lines, parse_dates, infer_datetime_format, keep_date_col, date_parser, date_format, dayfirst, cache_dates, iterator, chunksize, compression, thousands, decimal, lineterminator, quotechar, quoting, doublequote, escapechar, comment, encoding, encoding_errors, dialect, on_bad_lines, delim_whitespace, low_memory, memory_map, float_precision, storage_options, dtype_backend)\u001b[0m\n\u001b[1;32m 1024\u001b[0m \u001b[0mkwds\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mupdate\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkwds_defaults\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1025\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1026\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0m_read\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfilepath_or_buffer\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkwds\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1027\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1028\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/lib/python3.12/dist-packages/pandas/io/parsers/readers.py\u001b[0m in \u001b[0;36m_read\u001b[0;34m(filepath_or_buffer, kwds)\u001b[0m\n\u001b[1;32m 618\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 619\u001b[0m \u001b[0;31m# Create the parser.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 620\u001b[0;31m \u001b[0mparser\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mTextFileReader\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfilepath_or_buffer\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwds\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 621\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 622\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mchunksize\u001b[0m \u001b[0;32mor\u001b[0m \u001b[0miterator\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/lib/python3.12/dist-packages/pandas/io/parsers/readers.py\u001b[0m in \u001b[0;36m__init__\u001b[0;34m(self, f, engine, **kwds)\u001b[0m\n\u001b[1;32m 1618\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1619\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mhandles\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mIOHandles\u001b[0m \u001b[0;34m|\u001b[0m \u001b[0;32mNone\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1620\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_engine\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_make_engine\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mf\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mengine\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1621\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1622\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mclose\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m->\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/lib/python3.12/dist-packages/pandas/io/parsers/readers.py\u001b[0m in \u001b[0;36m_make_engine\u001b[0;34m(self, f, engine)\u001b[0m\n\u001b[1;32m 1878\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0;34m\"b\"\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mmode\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1879\u001b[0m \u001b[0mmode\u001b[0m \u001b[0;34m+=\u001b[0m \u001b[0;34m\"b\"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1880\u001b[0;31m self.handles = get_handle(\n\u001b[0m\u001b[1;32m 1881\u001b[0m \u001b[0mf\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1882\u001b[0m \u001b[0mmode\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/lib/python3.12/dist-packages/pandas/io/common.py\u001b[0m in \u001b[0;36mget_handle\u001b[0;34m(path_or_buf, mode, encoding, compression, memory_map, is_text, errors, storage_options)\u001b[0m\n\u001b[1;32m 871\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mioargs\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mencoding\u001b[0m \u001b[0;32mand\u001b[0m \u001b[0;34m\"b\"\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mioargs\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmode\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 872\u001b[0m \u001b[0;31m# Encoding\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 873\u001b[0;31m handle = open(\n\u001b[0m\u001b[1;32m 874\u001b[0m \u001b[0mhandle\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 875\u001b[0m \u001b[0mioargs\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmode\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mFileNotFoundError\u001b[0m: [Errno 2] No such file or directory: '/gdrive/MyDrive/deep_learning_course/data/tweets/training.1600000.processed.noemoticon.csv'" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "df.head()" + ], + "metadata": { + "id": "NxmxZaLwfTNh" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "df = df.iloc[:,[0, 5]]" + ], + "metadata": { + "id": "SVc7-JcqfaNv" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "df.head()" + ], + "metadata": { + "id": "u6ZdHebMftKF" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "df.columns = ['sentiment', 'tweet']" + ], + "metadata": { + "id": "2qe0gEOUfyyO" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "df.head()" + ], + "metadata": { + "id": "_mLVsxYif4p6" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "df['sentiment'].value_counts()" + ], + "metadata": { + "id": "atLo_mQlf5lJ" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "sents = {0:\"negatif\", 4:\"positif\"}" + ], + "metadata": { + "id": "U8neNWDBgADO" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "sents[0]" + ], + "metadata": { + "id": "hhxbDNa7gU0e" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "df['sentiment'] = df['sentiment'].replace(sents)" + ], + "metadata": { + "id": "5sdwbA-LgXY9" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "df.head()" + ], + "metadata": { + "id": "4S1PAZJpgwtI" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "df.sample(10)" + ], + "metadata": { + "id": "FFtSMHI3g1oq" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "# Preprocessing" + ], + "metadata": { + "id": "0ZfHhJnfhKD-" + } + }, + { + "cell_type": "code", + "source": [ + "import re" + ], + "metadata": { + "id": "YSRWNYF1kw2T" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "text_cleaning_regex = \"@\\S+|https?:\\S+|http?:\\S+|[^A-Za-z0-9]+\"" + ], + "metadata": { + "id": "HtE1BAO5kwhL" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "import nltk" + ], + "metadata": { + "id": "UOTo2XBtmJNB" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "nltk.download('stopwords')" + ], + "metadata": { + "id": "Uetg0UX8mLe6" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "from nltk.corpus import stopwords\n", + "from nltk.stem import SnowballStemmer" + ], + "metadata": { + "id": "qXEfWdjImQ6R" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "english_stopwords = stopwords.words('english')" + ], + "metadata": { + "id": "k1ma4z2fmWIu" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "english_stopwords" + ], + "metadata": { + "id": "RHSfkqZdmba9" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "stemmer = SnowballStemmer('english')" + ], + "metadata": { + "id": "cPncyhJ-qXpS" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "stemmer.stem('cats')" + ], + "metadata": { + "id": "0kTdkPGzqdoX" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "def preprocess(text):\n", + "\n", + " # les mentions les liens et tout ce qui n'est pas alphanumérique\n", + " text_cleaning_regex = \"@\\S+|https?:\\S+|http?:\\S+|[^A-Za-z0-9]+\"\n", + " text = re.sub(text_cleaning_regex, \" \", str(text).lower().strip())\n", + "\n", + " tokens = []\n", + " # stopwords and stem\n", + " for word in text.split(\" \"):\n", + " if word not in english_stopwords:\n", + " word_stem = stemmer.stem(word)\n", + " tokens.append(word_stem)\n", + "\n", + " cleaned_text = \" \".join(tokens).strip()\n", + "\n", + "\n", + " return cleaned_text" + ], + "metadata": { + "id": "ChH7ypBVoGba" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "preprocess(\"@kevin_degila Hello, I was wondering when your course on deep learning would be available ? http://kevindegila.com\")" + ], + "metadata": { + "id": "Tr9j2Cuqm7H3" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "df['text'] = df['tweet'].apply(preprocess)" + ], + "metadata": { + "id": "6JqLPlyHkpJb" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "df.head()" + ], + "metadata": { + "id": "PAwVcJYvq8a2" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "# Train test split" + ], + "metadata": { + "id": "zPlgpFOQt7d4" + } + }, + { + "cell_type": "code", + "source": [ + "from sklearn.model_selection import train_test_split" + ], + "metadata": { + "id": "IuBRjajOtmAR" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "train_data, test_data = train_test_split(df, test_size=0.2, stratify=df['sentiment'], random_state=42)" + ], + "metadata": { + "id": "-y5KGQ8GuBlH" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "len(train_data)" + ], + "metadata": { + "id": "xgRGLsXUuT3V" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "len(test_data)" + ], + "metadata": { + "id": "FWBrJ5DLuZkW" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "test_data['sentiment'].value_counts()" + ], + "metadata": { + "id": "4ka7qaycuiay" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "def length(text):\n", + " return len(text.split(' '))" + ], + "metadata": { + "id": "nCidNFtOviNP" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "df['len'] = df['text'].apply(length)" + ], + "metadata": { + "id": "J2JWB1oSvoM2" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "df['len'].min(), df['len'].max(), df['len'].mean(), df['len'].median()" + ], + "metadata": { + "id": "0v0D8i-uv7Ku" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "import seaborn as sns\n", + "sns.displot(df['len'])" + ], + "metadata": { + "id": "t2PzFYWjwH89" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "df['len'].describe()" + ], + "metadata": { + "id": "EzxpNuIuun_i" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "# Tokenization and text to sequences" + ], + "metadata": { + "id": "mpwwrGIpusDu" + } + }, + { + "cell_type": "code", + "source": [ + "from tensorflow.keras.preprocessing.text import Tokenizer\n", + "from tensorflow.keras.preprocessing.sequence import pad_sequences" + ], + "metadata": { + "id": "XhztHdqJu4Bj" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "vocab_size = 70000\n", + "maxlen = 15\n", + "tokenizer = Tokenizer(num_words=vocab_size, oov_token=\"\")\n", + "tokenizer.fit_on_texts(train_data['text'])\n", + "word_index = tokenizer.word_index\n", + "\n", + "training_sequences = tokenizer.texts_to_sequences(train_data['text'])\n", + "training_padded = pad_sequences(training_sequences, padding=\"post\", maxlen=maxlen, truncating=\"post\")\n", + "test_sequences = tokenizer.texts_to_sequences(test_data['text'])\n", + "test_padded = pad_sequences(test_sequences, padding=\"post\", maxlen=15, truncating=\"post\")" + ], + "metadata": { + "id": "3tKDZIjzu-8o" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "training_padded" + ], + "metadata": { + "id": "WfPS7uh4xwhq" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "# Label Encoder" + ], + "metadata": { + "id": "ZUb_2j-0xnM_" + } + }, + { + "cell_type": "code", + "source": [ + "train_data['sentiment']" + ], + "metadata": { + "id": "SEZlsX7uvIW5" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "from sklearn.preprocessing import LabelEncoder" + ], + "metadata": { + "id": "wqW90pbMx3yD" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "encoder = LabelEncoder()\n", + "training_labels = encoder.fit_transform(train_data['sentiment'])" + ], + "metadata": { + "id": "7RS6Mdllx_Op" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "training_labels" + ], + "metadata": { + "id": "ZkrVVl02yNU8" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "test_data.shape" + ], + "metadata": { + "id": "yYCzPjJY0wfU" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "test_labels = encoder.transform(test_data['sentiment'])" + ], + "metadata": { + "id": "VQsoWWhWyOjQ" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "training_labels.shape" + ], + "metadata": { + "id": "YArtNX9ryWAV" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "training_labels = training_labels.reshape(-1, 1)\n", + "test_labels = test_labels.reshape(-1, 1)" + ], + "metadata": { + "id": "8lcQ6O5VyXfh" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "test_labels.shape" + ], + "metadata": { + "id": "MstREKyP0sq5" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "# Modeling" + ], + "metadata": { + "id": "Bwef-A9lykIT" + } + }, + { + "cell_type": "code", + "source": [ + "import tensorflow as tf" + ], + "metadata": { + "id": "F2KHTchiyoPZ" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "import numpy as np" + ], + "metadata": { + "id": "oK56dD1nysEI" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "np.power(70000, 1/4)" + ], + "metadata": { + "id": "5Go0puaiyyFA" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "embedding_dim = 16\n", + "model = tf.keras.models.Sequential(\n", + " [\n", + " tf.keras.layers.Embedding(vocab_size, embedding_dim),\n", + " tf.keras.layers.GlobalAveragePooling1D(),\n", + " tf.keras.layers.Dense(8, activation='relu'),\n", + " tf.keras.layers.Dense(1, activation='sigmoid')\n", + " ]\n", + ")\n", + "\n", + "model.compile(loss='binary_crossentropy', optimizer=\"adam\", metrics=['accuracy'])\n", + "model_ckp = tf.keras.callbacks.ModelCheckpoint(filepath=\"best_model.h5\",\n", + " monitor=\"val_accuracy\",\n", + " mode=\"max\",\n", + " save_best_only=True)\n", + "stop = tf.keras.callbacks.EarlyStopping(monitor=\"val_accuracy\", patience=2, restore_best_weights=True)\n", + "h = model.fit(training_padded, training_labels, epochs=50, batch_size=2048,\n", + " validation_data=(test_padded, test_labels),\n", + " callbacks=[model_ckp])" + ], + "metadata": { + "id": "knHZmbGIyfvy" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "import matplotlib.pyplot as plt\n", + "\n", + "\n", + "def plot_graphs(history, string):\n", + " plt.plot(history.history[string])\n", + " plt.plot(history.history['val_'+string])\n", + " plt.xlabel(\"Epochs\")\n", + " plt.ylabel(string)\n", + " plt.legend([string, 'val_'+string])\n", + " plt.show()" + ], + "metadata": { + "id": "IB1fU5yGy6I6" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "plot_graphs(h, 'accuracy')\n", + "plot_graphs(h, \"loss\")" + ], + "metadata": { + "id": "giU5X8Xd3TDn" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "# Recurrent Neural Networks" + ], + "metadata": { + "id": "Isx7N5pa5Dgw" + } + }, + { + "cell_type": "code", + "source": [ + "\"J'étais content, maintenant je suis enervé\" negatif\n", + "\"J'étais enervé, maintenant je suis content\" positif" + ], + "metadata": { + "id": "3JB_3QK73d7o" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "embedding_dim = 16\n", + "model = tf.keras.models.Sequential(\n", + " [\n", + " tf.keras.layers.Embedding(vocab_size, embedding_dim),\n", + " tf.keras.layers.SimpleRNN(10),\n", + " tf.keras.layers.Dense(8, activation='relu'),\n", + " tf.keras.layers.Dense(1, activation='sigmoid')\n", + " ]\n", + ")\n", + "\n", + "model.compile(loss='binary_crossentropy', optimizer=\"adam\", metrics=['accuracy'])\n", + "model_ckp = tf.keras.callbacks.ModelCheckpoint(filepath=\"best_model.h5\",\n", + " monitor=\"val_accuracy\",\n", + " mode=\"max\",\n", + " save_best_only=True)\n", + "stop = tf.keras.callbacks.EarlyStopping(monitor=\"val_accuracy\", patience=2, restore_best_weights=True)" + ], + "metadata": { + "id": "K4fCIca-5h8A" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "model.summary()" + ], + "metadata": { + "id": "c6BFoyxX5iKX" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "h = model.fit(training_padded, training_labels, epochs=50, batch_size=2048,\n", + " validation_data=(test_padded, test_labels),\n", + " callbacks=[model_ckp])" + ], + "metadata": { + "id": "Qq495Pqa9Ydo" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "plot_graphs(h, 'accuracy')\n", + "plot_graphs(h, \"loss\")" + ], + "metadata": { + "id": "mSrMvoYC9f6z" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [], + "metadata": { + "id": "G6YXWB1IEFxG" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "# LSTM" + ], + "metadata": { + "id": "OjV7aQnGFpcF" + } + }, + { + "cell_type": "code", + "source": [ + "Je vis en , J'ai vécu dans différentes villes jusque-là, sauf la capital PARIS" + ], + "metadata": { + "id": "Z_exPUgoFqfb" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "adam = tf.keras.optimizers.Adam()" + ], + "metadata": { + "id": "1cpJByx8MVMy" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "embedding_dim = 16\n", + "model = tf.keras.models.Sequential(\n", + " [\n", + " tf.keras.layers.Embedding(vocab_size, embedding_dim),\n", + " tf.keras.layers.Bidirectional(tf.keras.layers.LSTM(16, return_sequences=True, dropout=0.25)),\n", + " tf.keras.layers.Bidirectional(tf.keras.layers.LSTM(16)),\n", + " tf.keras.layers.Dense(8, activation='relu'),\n", + " tf.keras.layers.Dense(1, activation='sigmoid')\n", + " ]\n", + ")\n", + "\n", + "model.compile(loss='binary_crossentropy', optimizer=\"adam\", metrics=['accuracy'])\n", + "model_ckp = tf.keras.callbacks.ModelCheckpoint(filepath=\"best_model.h5\",\n", + " monitor=\"val_accuracy\",\n", + " mode=\"max\",\n", + " save_best_only=True)\n", + "stop = tf.keras.callbacks.EarlyStopping(monitor=\"val_accuracy\", patience=2, restore_best_weights=True)" + ], + "metadata": { + "id": "CQ4iRjLkHx-j" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "model.summary()" + ], + "metadata": { + "id": "p4PAUZ1pIo3g" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "h = model.fit(training_padded, training_labels, epochs=50, batch_size=2048,\n", + " validation_data=(test_padded, test_labels),\n", + " callbacks=[model_ckp])" + ], + "metadata": { + "id": "KjfzqSTsIqF1" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "plot_graphs(h, 'accuracy')\n", + "plot_graphs(h, \"loss\")" + ], + "metadata": { + "id": "lwdBAx60IyKV" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "# Transfert Learning" + ], + "metadata": { + "id": "TiRpzji2MsRS" + } + }, + { + "cell_type": "code", + "source": [ + "glove_file = folder + \"glove.6B.50d.txt\"" + ], + "metadata": { + "id": "1QoVSayuMJRe" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "glove_file" + ], + "metadata": { + "id": "TsKAEYqHOOyb" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "glove_embeddings = {}" + ], + "metadata": { + "id": "kKYx6iVtOpoh" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "with open(glove_file) as f:\n", + " for line in f:\n", + "\n", + " values = line.split(\" \")\n", + " word = values[0]\n", + " vector = np.asarray(values[1:], dtype=\"float32\")\n", + " glove_embeddings[word] = vector\n" + ], + "metadata": { + "id": "88mKAVbGOP2v" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "glove_embeddings" + ], + "metadata": { + "id": "kM0-ikmBOf1z" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "glove_embeddings['the']" + ], + "metadata": { + "id": "4-dJ-e0vPINQ" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "len(glove_embeddings)" + ], + "metadata": { + "id": "Vbvu0DT4PM1b" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "words = word_index.keys()" + ], + "metadata": { + "id": "s3auHPuCPcwe" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "i = 0\n", + "for word in words:\n", + " if glove_embeddings.get(word) is not None:\n", + " i = i + 1\n", + "print(i)" + ], + "metadata": { + "id": "NkAjBf1QPmYB" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "len(words)" + ], + "metadata": { + "id": "dHzuFJSBPnnt" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "embedding_matrix = np.zeros((vocab_size, 50))" + ], + "metadata": { + "id": "VklKI0DNP701" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "embedding_matrix.shape" + ], + "metadata": { + "id": "38E8jQAzRkdY" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "embedding_matrix[0]" + ], + "metadata": { + "id": "1jDLLFH8RkUh" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "len(word_index)" + ], + "metadata": { + "id": "4h26rDPWSgK1" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "for word, i in word_index.items():\n", + " if i > vocab_size -1:\n", + " break\n", + " embedding_vector = glove_embeddings.get(word)\n", + " if embedding_vector is not None:\n", + " embedding_matrix[i] = embedding_vector\n" + ], + "metadata": { + "id": "9k_pp8QKRqPq" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "embedding_matrix[5]" + ], + "metadata": { + "id": "dWbsFif5Sphj" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "embedding_dim = 16\n", + "model = tf.keras.models.Sequential(\n", + " [\n", + " tf.keras.layers.Embedding(vocab_size, 50, weights=[embedding_matrix], trainable=False),\n", + " tf.keras.layers.Bidirectional(tf.keras.layers.LSTM(16, return_sequences=True, dropout=0.25)),\n", + " tf.keras.layers.Bidirectional(tf.keras.layers.LSTM(16)),\n", + " tf.keras.layers.Dense(8, activation='relu'),\n", + " tf.keras.layers.Dense(1, activation='sigmoid')\n", + " ]\n", + ")\n", + "\n", + "model.compile(loss='binary_crossentropy', optimizer=\"adam\", metrics=['accuracy'])\n", + "model_ckp = tf.keras.callbacks.ModelCheckpoint(filepath=\"best_model.h5\",\n", + " monitor=\"val_accuracy\",\n", + " mode=\"max\",\n", + " save_best_only=True)\n", + "stop = tf.keras.callbacks.EarlyStopping(monitor=\"val_accuracy\", patience=2, restore_best_weights=True)" + ], + "metadata": { + "id": "t-OJ0dQpRK3J" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "h = model.fit(training_padded, training_labels, epochs=50, batch_size=2048,\n", + " validation_data=(test_padded, test_labels),\n", + " callbacks=[model_ckp])" + ], + "metadata": { + "id": "uLH7QWXmS2NX" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "plot_graphs(h, 'accuracy')\n", + "plot_graphs(h, \"loss\")" + ], + "metadata": { + "id": "WOQa9CcQTJIC" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [], + "metadata": { + "id": "5Plnc7W0XAVh" + }, + "execution_count": null, + "outputs": [] + } + ] +} \ No newline at end of file