From fe7b9657310d06bd9c1f630da0c762a1c933a542 Mon Sep 17 00:00:00 2001 From: SUR Frederic <frederic.sur@univ-lorraine.fr> Date: Sat, 14 Dec 2024 20:52:01 +0000 Subject: [PATCH] 2024-2025 --- TP6/TP6_ex1_sujet.ipynb | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/TP6/TP6_ex1_sujet.ipynb b/TP6/TP6_ex1_sujet.ipynb index 9407cb0..9848ddc 100644 --- a/TP6/TP6_ex1_sujet.ipynb +++ b/TP6/TP6_ex1_sujet.ipynb @@ -49,7 +49,7 @@ "import os\n", "import matplotlib.pyplot as plt\n", "\n", - "%matplotlib notebook\n", + "%matplotlib inline\n", "\n", "def display_test(X_image_test,Y_test,Y_test_pred,txt):\n", " # pour visualiser les résultats de 120 images tirées au hasard dans la base test\n", @@ -67,8 +67,8 @@ " plt.text(0.1,0.1,str(Y_test_pred[alea[n]])+' / '+str(Y_test[alea[n]]),fontsize=8,bbox=dict(facecolor='white', alpha=1))\n", " else:\n", " plt.text(0.1,0.1,str(Y_test_pred[alea[n]])+' / '+str(Y_test[alea[n]]),fontsize=8,bbox=dict(facecolor='red', alpha=1))\n", - " plt.suptitle('prediction '+txt)\n", - " plt.show();\n", + " plt.suptitle('prediction '+txt+' -- classe prédite / classe réelle')\n", + " plt.show()\n", " " ] }, @@ -150,11 +150,11 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "Les deux cellules suivantes permettent de visualiser une image et son histogramme normalisé. On représente l'histogramme 3D comme un _scatter plot_ tridimensionnel où chaque triplet (R,V,B) est représenté comme un disque de rayon proportionnel à la fréquence du triplet dans l'image, la couleur du disque étant déterminée par (R,V,B). Les couleurs les plus fréquentes dans l'image seront donc représentées par des \"gros\" disques. \n", + "Les deux cellules suivantes permettent de visualiser une image et son histogramme normalisé pour mieux comprendre les descripteurs d'images utilisés. On représente l'histogramme 3D comme un _scatter plot_ tridimensionnel où chaque triplet (R,V,B) est représenté comme un disque de rayon proportionnel à la fréquence du triplet dans l'image, la couleur du disque étant déterminée par (R,V,B). Les couleurs les plus fréquentes dans l'image seront donc représentées par des \"gros\" disques. \n", "\n", "Le code est adapté de: https://staff.fnwi.uva.nl/r.vandenboomgaard/IPCV20172018/LectureNotes/IP/Images/ImageHistograms.html\n", "\n", - "Constatez le lien entre l'allure de l'histogramme (que vous pouvez \"tourner\" à la souris si vous n'avez pas dû passer en mode `inline`) et le contenu de l'image.\n", + "Constatez le lien entre l'allure de l'histogramme (que vous pouvez \"tourner\" à la souris si vous n'êtes pas dans VSCode et avez pu utiliser `%maplotlib notebook`) et le contenu de l'image.\n", "\n", "<br>\n", "\n", @@ -220,22 +220,22 @@ "outputs": [], "source": [ "# exemple: visualisation d'une image\n", - "n_image=100 # indice d'une image de la base d'apprentissage, essayez aussi d'autres valeurs\n", + "n_image=500 # indice d'une image de la base d'apprentissage, essayez aussi d'autres valeurs\n", "\n", "plt.figure()\n", "plt.imshow(X_image_train[n_image])\n", "plt.title(\"image: %d - classe: %d\" % (n_image,Y_train[n_image]))\n", - "plt.show();\n", + "plt.show()\n", "\n", "histogram3dplot(X_train[n_image].reshape(8,8,8),b)\n", - "plt.show();" + "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "__Question 2__: testez différents algorithmes de classification sur les histogrammes vus comme des vecteurs de ${\\mathbb R}^{256}$ (bases `X_train` et `X_test` déjà construites): SVM, MLP, LR, NN:\n", + "__Question 2__: testez différents algorithmes de classification sur les histogrammes vus comme des vecteurs de ${\\mathbb R}^{256}$ (bases `X_train` et `X_test` déjà construites): machine à vecteur support (SVM), perceptrion multicouche (MLP), régression logistique (LR), plus proches voisins (NN):\n", "\n", "<br>\n", "\n", @@ -332,7 +332,8 @@ }, "outputs": [], "source": [ - "%matplotlib inline # on repasse à la présentation non-interactive des graphiques pour utilisation de la fonction display_test\n", + "%matplotlib inline \n", + "# il faut passer à la présentation non-interactive des graphiques (si ce n'est pas déjà fait) pour utilisation de la fonction display_test\n", "\n", "# classification avec les hyperparamètres optimaux\n", "\n", @@ -352,7 +353,7 @@ "\n", "Quelle est la classe la plus \"facile\" à reconnaître, et pourquoi ? La plus difficile ?\n", "\n", - "Que dire des biais de la base d'apprentissage ? En 2015, l'application photo de Google a fait les titres de la presse grand public pour avoir étiqueté des étudiants à la peau noire comme \"gorilles\". Voici la [\"solution\" de Google](https://www.wired.com/story/when-it-comes-to-gorillas-google-photos-remains-blind/).\n" + "Que dire des biais de la base d'apprentissage ? En 2015, l'application photo de Google a fait les titres de la presse grand public pour avoir étiqueté des étudiants à la peau noire comme \"gorilles\". Voici la [\"solution\" de Google à l'époque](https://www.wired.com/story/when-it-comes-to-gorillas-google-photos-remains-blind/).\n" ] }, { -- GitLab