From 22501f0bddb172ee9dac8f169dc1b4b8957c6160 Mon Sep 17 00:00:00 2001
From: GILSON Matthieu <matthieu.gilson@univ-amu.fr>
Date: Thu, 11 May 2023 09:03:19 +0000
Subject: [PATCH] Upload New File

---
 nb_unsupervised_learning/PCA_vs_LDA.ipynb | 246 ++++++++++++++++++++++
 1 file changed, 246 insertions(+)
 create mode 100644 nb_unsupervised_learning/PCA_vs_LDA.ipynb

diff --git a/nb_unsupervised_learning/PCA_vs_LDA.ipynb b/nb_unsupervised_learning/PCA_vs_LDA.ipynb
new file mode 100644
index 0000000..1a32545
--- /dev/null
+++ b/nb_unsupervised_learning/PCA_vs_LDA.ipynb
@@ -0,0 +1,246 @@
+{
+ "cells": [
+  {
+   "cell_type": "code",
+   "execution_count": 11,
+   "id": "866dca52",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "import numpy as np\n",
+    "import scipy.spatial.distance as ssd\n",
+    "\n",
+    "import sklearn.discriminant_analysis as sda\n",
+    "import sklearn.metrics as sm\n",
+    "\n",
+    "import matplotlib.pyplot as plt"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "16450559",
+   "metadata": {},
+   "source": [
+    "We generate samples that are divides in groups, each following a certain distribution."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 12,
+   "id": "a4614df7",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "# sample properties\n",
+    "d = 4 # number of dimensions\n",
+    "c = 3 # number of classes\n",
+    "n = 30 # number of samples per class\n",
+    "\n",
+    "# properties of groups (TO DO: play with variance scaling)\n",
+    "# means\n",
+    "m_gp = np.zeros([c,d])\n",
+    "m_gp[:,0] = np.linspace(0,1,c) # difference in mean between groups along 1st dimension\n",
+    "# standard deviations\n",
+    "std_gp = np.ones([c,d]) \n",
+    "std_gp[:,0] *= 0.2 # along dimension 0\n",
+    "std_gp[:,1:] *= 2.0 # along dimension 1 (and higher if there are)\n",
+    "\n",
+    "# samples in d dimensions and labels\n",
+    "x = np.zeros([n*c,d])\n",
+    "x_label = np.zeros([n*c])\n",
+    "for i_c in range(c):\n",
+    "    for i_n in range(n):\n",
+    "        x[i_c*n+i_n,:] = m_gp[i_c,:] + np.random.randn(d) * std_gp[i_c,:]\n",
+    "    x_label[i_c*n:(i_c+1)*n] = i_c"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "4c7d3b5d",
+   "metadata": {},
+   "source": [
+    "Let visualize the data with a plot in a 2-dimension plane (projection)."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 13,
+   "id": "bfb881fd",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "image/png": "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\n",
+      "text/plain": [
+       "<Figure size 640x480 with 1 Axes>"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "# dimensions to plot\n",
+    "d0 = 0\n",
+    "d1 = 1\n",
+    "\n",
+    "# colors and markers for plots\n",
+    "mks = ['x','o','v','s']\n",
+    "cols = ['r','g','b','m']\n",
+    "\n",
+    "plt.figure()\n",
+    "for i_c in range(c):\n",
+    "    plt.scatter(x[i_c*n:(i_c+1)*n,d0], x[i_c*n:(i_c+1)*n,d1], marker=mks[i_c], color=cols[i_c])\n",
+    "plt.xlabel('dim {}'.format(d0))\n",
+    "plt.ylabel('dim {}'.format(d1))\n",
+    "plt.show()"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 14,
+   "id": "3c1eeb2c",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "image/png": "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73//+6qoqNAFF1yg+fPna//+/VYPyXU2bdqkefPmqaSkRGVlZbrlllt06NAhq4flet/61rfk8Xi0bt06q4fiOt3d3Vq+fLkmTZqkCy+8UFdddZUOHDgwpuckqLGZr3zlK5oyZYrVw3Cl119/Xf39/XrkkUf0u9/9Tt/5znf08MMP66tf/arVQ3O0p556Snfffbc2bNigV155RR/84Ad100036fTp01YPzVXa29u1Zs0avfDCC9q9e7feffdd3XjjjTp79qzVQ3Otl156SY888oiuvvpqq4fiOm+99ZYWLlyo8847T88++6x+//vf6/7779eECRPG9sRR2MbPfvaz6MyZM6O/+93vopKiv/71r60ekuv967/+a7SystLqYTjaddddF12zZs3A40gkEp0yZUp006ZNFo7K/U6fPh2VFG1vb7d6KK7U29sbveKKK6K7d++OLl68ONrU1GT1kFzlnnvuiS5atCjrz0umxibefPNNrV69Wtu2bdNFF11k9XAKRigU0sSJE60ehmO98847evnll3XDDTcMHCsqKtINN9ygzs5OC0fmfqFQSJL4+c2RNWvW6GMf+1jczzayZ9euXZo7d65uvfVWlZWV6ZprrtEPfvCDMT8vQY0NRKNR3XHHHfrsZz+ruXPnWj2cgnH48GE9+OCD+sxnPmP1UBzrj3/8oyKRiCZPnhx3fPLkyTp16pRFo3K//v5+rVu3TgsXLtTs2bOtHo7rPPnkk3rllVe0adMmq4fiWkePHtVDDz2kK664Qj//+c/1uc99TnfddZe2bt06puclqMmhe++9Vx6PZ8iP119/XQ8++KB6e3u1fv16q4fsSJm+z7G6u7tVV1enW2+9VatXr7Zo5MDorFmzRq+99pqefPJJq4fiOsFgUE1NTfrRj36kCy64wOrhuFZ/f78+9KEP6Zvf/KauueYaffrTn9bq1av18MMPj+l5i7M0PqTwxS9+UXfccceQ11RVVemXv/ylOjs7k/a+mDt3rpYtWzbmyNXtMn2fTSdPnlRtba0WLFigRx99NMejc7dLLrlEXq9Xb775ZtzxN998U5dddplFo3K3tWvX6r/+67/0/PPPy+/3Wz0c13n55Zd1+vRpfehDHxo4FolE9Pzzz+t73/ue+vr65PV6LRyhO5SXl+sDH/hA3LFZs2bpJz/5yZiel6Amhy699FJdeumlw1733e9+V//8z/888PjkyZO66aab9NRTT2n+/Pm5HKIrZPo+S0aGpra2Vtdee60ee+wxFRWRrByL888/X9dee62ee+453XLLLZKMv8Cee+45rV271trBuUw0GtXnP/95Pf3002pra1NlZaXVQ3Kl66+/Xq+++mrcsVWrVmnmzJm65557CGiyZOHChUktCd544w1Nnz59TM9LUGMD06ZNi3t88cUXS5JmzJjBX2JZ1N3drZqaGk2fPl2bN2/WmTNnBs6RVRi9u+++W5/61Kc0d+5cXXfdddqyZYvOnj2rVatWWT00V1mzZo2eeOIJPfPMMyopKRmoWfL5fLrwwgstHp17lJSUJNUpjR8/XpMmTaJ+KYu+8IUvaMGCBfrmN7+pxsZG7d+/X48++uiYs+cENSgYu3fv1uHDh3X48OGkYDHKZvWj9slPflJnzpzR1772NZ06dUpz5sxRa2trUvEwxuahhx6SJNXU1MQdf+yxx4adfgXsZt68eXr66ae1fv16/dM//ZMqKyu1ZcsWLVu2bEzP64ny2xwAALgABQUAAMAVCGoAAIArENQAAABXIKgBAACuQFADAABcgaAGAAC4AkENAABwBYIaAADgCgQ1AGynpqZG69atG3hcUVGhLVu2WDYeAM5AUAPA9l566SV9+tOfzupzHj9+XHfeeacqKyt14YUXasaMGdqwYYPeeeedrH4fAPnD3k8AbC/TXdhH4vXXX1d/f78eeeQRXX755Xrttde0evVqnT17Vps3b8769wOQe2RqAFjq7NmzWrlypS6++GKVl5fr/vvvT7omcfrJ4/HokUce0d/93d/poosu0qxZs9TZ2anDhw+rpqZG48eP14IFC3TkyJG037eurk6PPfaYbrzxRlVVVWnJkiX60pe+pJaWlly8TAB5QFADwFJf/vKX1d7ermeeeUa/+MUv1NbWpldeeWXYr/vGN76hlStX6je/+Y1mzpyp22+/XZ/5zGe0fv16HThwQNFoVGvXrh3RWEKhkCZOnDjalwLAYkw/AbDM22+/rX//93/X448/ruuvv16StHXrVvn9/mG/dtWqVWpsbJQk3XPPPfrbv/1b/eM//qNuuukmSVJTU5NWrVqV8VgOHz6sBx98kKknwMHI1ACwzJEjR/TOO+9o/vz5A8cmTpyoK6+8ctivvfrqqwf+e/LkyZKkq666Ku7Y//7v/yocDg/7XN3d3aqrq9Ott96q1atXj+QlALARghoAjnTeeecN/LfH40l7rL+/f8jnOXnypGpra7VgwQI9+uijORgpgHwhqAFgmRkzZui8887Tiy++OHDsrbfe0htvvJGX79/d3a2amhpde+21euyxx1RUxK9EwMmoqQFgmYsvvlh33nmnvvzlL2vSpEkqKyvTP/zDP+QluDADmunTp2vz5s06c+bMwLnLLrss598fQPYR1ACw1H333ae3335bH//4x1VSUqIvfvGLCoVCOf++u3fv1uHDh3X48OGkwuRoNJrz7w8g+zxR/vUCAAAXYAIZAAC4AkENAABwBYIaAADgCgQ1AADAFQhqAACAKxDUAAAAVyCoAQAArkBQAwAAXIGgBgAAuAJBDQAAcAWCGgAA4Ar/P8ZlxDPn2IHxAAAAAElFTkSuQmCC\n",
+      "text/plain": [
+       "<Figure size 640x480 with 1 Axes>"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "# dimensions to plot\n",
+    "d0 = 2\n",
+    "d1 = 3\n",
+    "\n",
+    "plt.figure()\n",
+    "for i_c in range(c):\n",
+    "    plt.scatter(x[i_c*n:(i_c+1)*n,d0], x[i_c*n:(i_c+1)*n,d1], marker=mks[i_c], color=cols[i_c])\n",
+    "plt.xlabel('dim {}'.format(d0))\n",
+    "plt.ylabel('dim {}'.format(d1)) \n",
+    "plt.show()"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "f93e41a9",
+   "metadata": {},
+   "source": [
+    "Depending on the chosen dimensions for the plot, the sample clouds appear separated or overlapping... \n",
+    "\n",
+    "Only the first dimension is informative to discriminate the classes; the other dimensions are not.\n",
+    "The variance is thus larger for the non-informative dimenions."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 17,
+   "id": "d888443d",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAi0AAAG5CAYAAABC9gS6AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA/w0lEQVR4nO3df3hU9Zn//9ck6UawmWl1RSMzIYmKooKgUOVHSlLqNu2nK1xpvkgkKFrFa79XPw3b9tpWt3tRPl1Fd60lSm3VVWrDpdXGrGu/vRpXLKEBUaSlLSpVECIzSK/shTWJRdMPM/P943iS+UlmkjNzzpl5Pry4Ys45Sd45gZx77vf7fd+eaDQaFQAAgMOV2D0AAACATBC0AAAAVyBoAQAArkDQAgAAXIGgBQAAuAJBCwAAcAWCFgAA4AoELQAAwBUIWgAAgCsQtAAYt+rqal144YWaPXu2Lr74Yv3gBz8YOdff368bb7xRtbW1mjNnji6//HLdeeedcR+/bt06lZaW6u2338730AG4EEELgAl58skn9bvf/U6//OUvdfvtt+sPf/iDPvjgAy1evFjTpk3TgQMHtHfvXu3YsUOnn376yMdFIhH9+Mc/Vn19vTZv3mzjdwDALQhaAFhi2rRpuvDCC/Xmm2/q8ccfV0VFhb7zne+otLRUkjR58mS1tbWNXP/888/r7LPP1j333KPNmzcrEomk/LwvvfSSrrjiCs2ePVuXXnqpfvjDH0qSVq9erZtuukkLFizQ9OnTdcMNN+iDDz6QJD3++OO68sorNWfOHF122WX6+c9/PvL5jh49qubmZs2cOVOzZs3Sv/zLv0iShoaGdMstt+hTn/qUZs2apTVr1uivf/1rTu4VgPEhaAFgiX379umPf/yjLrvsMv3mN7/R/PnzT3n9I488optuuklz5szRmWeeqa1bt6a8bsOGDfrGN76h3/3ud3r11Ve1YsWKkXMvv/yynnvuOe3fv1/vvvuuvv/970uSPve5z+mll17S3r179V//9V+65ZZbNDw8LElqbW3VFVdcoX379ukPf/iDvvrVr0qSvv71r6uurk67d+/W73//e0UiEbW3t1txawBYpMzuAQBwt2uvvVaTJk3S5MmT9eijj+qCCy4Y82OOHz+u//7v/9bDDz8sSbrpppv0yCOP6O/+7u+Srm1oaNB3v/tdHThwQJ/5zGe0aNGikXPLly9XRUWFJOnLX/6y7rvvPt1+++06fPiwVq5cqVAopLKyMr377rs6fPiw/H6/duzYoeeee27kc5x11lmSpGeeeUa7du3SvffeK0n64IMPRrJEAJyBoAXAhDz55JOaPXt23LErrrhCDz30UNqP6ejo0MmTJ3XZZZdJksLhsI4fP67jx4/rzDPPjLt27dq1Wrp0qbZu3arbb79dl156qR544IGUn9fj8UiSVqxYobvuukvNzc2SpDPOOEMffvjhKb+PaDSqp59+WtOnTz/ldQDsw/QQAMu1tLTovffe03e/+12Fw2FJRubivvvuk2RMDXV2dqqvr099fX0KBoP6+7//e23ZsiXpc73xxhuqqanRLbfcottvv10vvfTSyLnOzk69//77CofD2rx5sz772c9Kkv785z+rpqZGkrRlyxb9+c9/liR9/OMf16c//Wl973vfG/kc//M//yNJWrZsme6++26dPHly5HMcPHjQ6lsDYAIIWgBYbvLkydq+fbveeustnX/++Zo5c6auvPJKnThxQrt371Z/f/9IgGFauXKlHnnkkaTPtWnTJl1yySWaM2eOvv3tb8cFHPPmzdPnPvc5zZgxQ5/4xCe0du1aSVJ7e7uam5s1Z84c7d27V1VVVSMf09HRoT179uiSSy7R7NmztWnTJknS97//fU2aNEmzZ8/WrFmztGTJEvX19Vl/cwCMmycajUbtHgQAZGv16tWaPXv2SKACoPCRaQEAAK5ApgUAALgCmRYAAOAKBC0AAMAVCFoAAIArELQAAABXKKiKuJFIRO+8844qKipGKmMCAABni0ajGhoa0rnnnquSkvT5lIIKWt555x0FAgG7hwEAAMYhGAzK7/enPV9QQYvZOC0YDMrr9do8GgAAkInBwUEFAoGR53g6BRW0mFNCXq+XoAUAAJcZa2kHC3EBAIArELQAAABXIGgBAACuQNACAABcgaAFAAC4AkELAABwBYIWAADgCo4NWjZv3iyPx6NnnnnG7qEAAAAHcGTQ0tfXp4cfflhXXXWV3UMBAAAO4bigJRKJ6Oabb9b999+v8vJyu4eDYjAwIIVCqc+FQsZ5AIDtHFfG/95779XChQt1xRVXjHnt8PCwhoeHR94fHBzM5dBQiAYGpMZGqb9f6umRYhtuBoNSfb00ZYrU3S35fHaNEgAgh2VaXn31VT399NP6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\n",
+      "text/plain": [
+       "<Figure size 640x480 with 1 Axes>"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "image/png": "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cfB1MgNfJzPwdTJDuX2dfNWICwAA/ItKCwAAMAKhBQAAGIHQAgAAjEBoKUB/f78uuugi3XjjjW4vBVk88sgjmj9/vhYsWKCFCxdq27Ztbi8JSY4cOaJly5Zpzpw5Wrp0qd544w23l4Q0H3zwgW688UbNmTNHixYt0nXXXaejR4+6vSzk8MQTTygQCOjZZ591eyklR2gpwF133aXPf/7zbi8DOcybN0979uzRwYMH9aMf/UhtbW365S9/6fay8KG77rpLGzZs0Jtvvql7771X69evd3tJyGLDhg06fPiwXn31Va1cuVJ33HGH20tCFn19ffr2t7+tq6++2u2lOILQMkmPP/64Zs2apYaGBreXghyuvfba0cmK4XBYH/vYxxSNRl1eFSSrSnngwAG1trZKkm666SZFo1F+iveYj3zkI7r++utHj0O5+uqr1dfX5+6ikGFkZER33HGH/uZv/qZstjwTWibh+PHj+ta3vqW//Mu/dHspyNOuXbt0+vRpLV261O2lQFI0GtWMGTM0bZp1gkggENDMmTN14sQJl1eG8bS3t2vlypVuLwNpHnroIS1fvlxXXnml20txjK/OHpqqa665RkeOHMn63Msvv6zbb79djz76qM466yyHV4ZkE32d7FO+Dx48qNtuu01PPfWUzj77bCeXCPjGN77xDR09elQ/+clP3F4Kkrz++ut65pln9O///u9uL8VRhJYk+/bty/ncwMCAXnvtNX3hC1+QJL333nv6r//6L1177bX8Z3bYeF8n2y9+8Qt9/vOf13e/+13V19c7sCrkIxwO69SpUzpz5oymTZumRCKhEydOaObMmW4vDVk8+OCD6urq0q5du/TRj37U7eUgSW9vr/r6+nTppZdKkn71q19pw4YNOnXqlL785S+7vLrSYSJugb73ve/p2WefLYtubdMcOnRIn/vc5/TYY49pxYoVbi8HaSKRiNavX6/169ers7NTDzzwgA4cOOD2spDmoYce0j/+4z9q165dOvfcc91eDiYQiUTU1tbm+12t9LTAd+6++24NDAzo3nvvVV1dnerq6vTcc8+5vSx86LHHHtNjjz2mOXPm6IEHHtATTzzh9pKQJhaL6Z577tG7776rxsZG1dXV6aqrrnJ7WQCVFgAAYAYqLQAAwAiEFgAAYARCCwAAMAKhBQAAGIHQAgAAjEBoAQAARiC0APCcM2fOaPPmzbr88ss1f/581dXVacOGDYrFYlqxYoUuuOACnXPOOW4vE4DDmNMCwHNuvfVWvfPOO/qHf/gHnXvuuUokEurs7NTChQt18uRJnXfeeYpEInr33XfdXioABxFaAHjK0aNHtXDhQp04cUIXXHBB1tf09fWprq6O0AKUGW4PAfCUn//857r00ktzBhYA5YvQAgAAjEBoAeApV1xxhY4cOaK3337b7aUA8BhCCwBPueSSS3TTTTfpi1/84mjPSiKR0DPPPKNjx465uzgAriK0APCc7373u1q0aJGuuuoqzZs3T5/61Kf0/PPP67zzztPChQt1zTXXaHBwUKFQSOvWrXN7uQAcwu4hAABgBCotAADACIQWAABgBEILAAAwAqEFAAAYgdACAACMQGgBAABGILQAAAAjEFoAAIARCC0AAMAIhBYAAGAEQgsAADDC/wcSQCKYd+H7fAAAAABJRU5ErkJggg==\n",
+      "text/plain": [
+       "<Figure size 640x480 with 1 Axes>"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "# principal component analysis: first two components\n",
+    "D,U = np.linalg.eig(np.corrcoef(x,rowvar=False)) # D is vector of eigenvalues, U is passage matrix with columns = eigenvectors\n",
+    "ord_eig = np.argsort(np.real(D))[::-1] # sort eigenvalues from largest positive to smallest negative\n",
+    "D = D[ord_eig]\n",
+    "U = U[:,ord_eig]\n",
+    "\n",
+    "# new coordinates along 2 first components\n",
+    "y_pca = np.real(np.dot(U.T,x.T))[:2,:].T\n",
+    "\n",
+    "# linear discriminant analysis\n",
+    "lda = sda.LinearDiscriminantAnalysis(n_components=2)\n",
+    "y_lda = lda.fit(x, x_label).transform(x)\n",
+    "\n",
+    "# PCA space (1st and 2nd principal components)\n",
+    "plt.figure()\n",
+    "for i_c in range(c):\n",
+    "    plt.scatter(y_pca[i_c*n:(i_c+1)*n,0], y_pca[i_c*n:(i_c+1)*n,1], marker=mks[i_c], color=cols[i_c])\n",
+    "plt.xticks(fontsize=8)\n",
+    "plt.yticks(fontsize=8)\n",
+    "plt.xlabel('PC1',fontsize=8)\n",
+    "plt.ylabel('PC2',fontsize=8)\n",
+    "plt.title('PCA space',fontsize=8)\n",
+    "\n",
+    "# LDA space\n",
+    "plt.figure()\n",
+    "for i_c in range(c):\n",
+    "    plt.scatter(y_lda[i_c*n:(i_c+1)*n,0], y_lda[i_c*n:(i_c+1)*n,1], marker=mks[i_c], color=cols[i_c])\n",
+    "plt.xticks(fontsize=8)\n",
+    "plt.yticks(fontsize=8)\n",
+    "plt.xlabel('C1',fontsize=8)\n",
+    "plt.ylabel('C2',fontsize=8)\n",
+    "plt.title('LDA space',fontsize=8)\n",
+    "\n",
+    "plt.show()"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "d3d0a622",
+   "metadata": {},
+   "source": [
+    "PCA projects in the directions of largest variance, but doesn't care about classes labels (unsupervised learning).\n",
+    "\n",
+    "LDA finds a suitable direction to separate the classes (supervised learning)."
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "e5c261d2",
+   "metadata": {},
+   "source": [
+    "## Exercices\n",
+    "\n",
+    "- check other synthetic datasets for clustering: https://scikit-learn.org/stable/datasets/sample_generators.html#generators-for-classification-and-clustering"
+   ]
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 3 (ipykernel)",
+   "language": "python",
+   "name": "python3"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 3
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython3",
+   "version": "3.10.8"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 5
+}
-- 
GitLab