diff --git a/TP2/TP2_ex1_sujet.ipynb b/TP2/TP2_ex1_sujet.ipynb index 3e7607b6ec5e802fcd2697da998696768312a2bc..b97b07b85f5bf7a8c49564b74035a7bae0c4f30c 100644 --- a/TP2/TP2_ex1_sujet.ipynb +++ b/TP2/TP2_ex1_sujet.ipynb @@ -120,7 +120,8 @@ "\n", "plt.figure(figsize=[9,6])\n", "plt.scatter(X[:, 0], X[:, 1], s=40)\n", - "plt.title('dataset'); # on met un \";\" final sous Jupyter pour éviter des affichages intempestifs dans le carnet" + "plt.title('dataset')\n", + "plt.show()" ] }, { @@ -144,7 +145,8 @@ "maxdist=max(Z[:,2]) # hauteur du dendrogramme \n", "plt.figure(figsize=[9,6]);\n", "dendrogram(Z) #,truncate_mode=\"level\",p=10); # le paramètre p permet éventuellement de ne pas afficher le \"bas\" du dendrogramme, utile pour un grand jeu de données\n", - "plt.title('Single linkage dendrogram with scipy'); " + "plt.title('Single linkage dendrogram with scipy')\n", + "plt.show()" ] }, { @@ -165,7 +167,8 @@ " clusters=fcluster(Z, seuil, criterion='distance') \n", " plt.figure(figsize=[9,6]);\n", " plt.scatter(X[:, 0], X[:, 1], s=40, c=clusters, cmap='jet');\n", - " plt.title('Single linkage with scipy, seuil='+str(seuil)+', nombres de clusters: '+str(max(clusters)));" + " plt.title('Single linkage with scipy, seuil='+str(seuil)+', nombres de clusters: '+str(max(clusters)))\n", + " plt.show()" ] }, { @@ -174,9 +177,9 @@ "metadata": {}, "outputs": [], "source": [ - "# dans certains cas (en particulier sur MacOS) @interact ne fonctionne pas \n", + "# dans certains cas, @interact ne fonctionne pas \n", "# (si la cellule précédente fonctionne, n'exécutez pas le code de la présente cellule)\n", - "# si vous êtes dans cette situation, faites varier la valeur de seuil entre 0 et maxdist et appelez la fonction d'affichage\n", + "# si vous êtes dans cette situation, faites varier la valeur de seuil entre 0 et maxdist et appelez la fonction d'affichage,\n", "# comme ci-dessous:\n", "# (vous ferez de même dans les cellules ci-dessous faisant appel à @interact)\n", "print(maxdist)\n", @@ -209,8 +212,9 @@ "def graphique_clustering_single(nc):\n", " clusters=fcluster(Z, nc, criterion='maxclust') \n", " plt.figure(figsize=[9,6]);\n", - " plt.scatter(X[:, 0], X[:, 1], s=40, c=clusters, cmap='jet');\n", - " plt.title('Single linkage with scipy, n_cluster='+str(nc));" + " plt.scatter(X[:, 0], X[:, 1], s=40, c=clusters, cmap='jet')\n", + " plt.title('Single linkage with scipy, n_cluster='+str(nc))\n", + " plt.show()" ] }, { @@ -243,7 +247,8 @@ "maxdist=max(Z[:,2])\n", "plt.figure(figsize=[9,6]);\n", "dendrogram(Z)#,truncate_mode=\"level\",p=5)\n", - "plt.title('Ward criterion dendrogram with scipy'); # met quelques secondes à s'afficher" + "plt.title('Ward criterion dendrogram with scipy')\n", + "plt.show()" ] }, { @@ -281,8 +286,9 @@ "def graphique_clustering_Ward(seuil):\n", " clusters=fcluster(Z, seuil, criterion='distance') \n", " plt.figure(figsize=[9,6]);\n", - " plt.scatter(X[:, 0], X[:, 1], s=40, c=clusters, cmap='jet');\n", - " plt.title('Ward linkage with scipy, seuil='+str(seuil)+', nombres de clusters: '+str(max(clusters)));" + " plt.scatter(X[:, 0], X[:, 1], s=40, c=clusters, cmap='jet')\n", + " plt.title('Ward linkage with scipy, seuil='+str(seuil)+', nombres de clusters: '+str(max(clusters)))\n", + " plt.show()" ] }, { @@ -302,8 +308,9 @@ "def graphique_clustering_Ward(nc):\n", " clusters=fcluster(Z, nc, criterion='maxclust') \n", " plt.figure(figsize=[9,6]);\n", - " plt.scatter(X[:, 0], X[:, 1], s=40,c=clusters,cmap='jet');\n", - " plt.title('Ward linkage with scipy, n_cluster='+str(nc));" + " plt.scatter(X[:, 0], X[:, 1], s=40,c=clusters,cmap='jet')\n", + " plt.title('Ward linkage with scipy, n_cluster='+str(nc))\n", + " plt.show()" ] }, { @@ -330,10 +337,11 @@ "def graphique_clustering_KMeans(K):\n", " clustering=cluster.KMeans(n_clusters=K, n_init=10) \n", " clustering.fit(X)\n", - " print(\"Inertie: %.2f\" % clustering.inertia_)\n", - " plt.figure(figsize=[9,6]);\n", - " plt.scatter(X[:, 0], X[:, 1], s=40,c=clustering.labels_,cmap='jet');\n", - " plt.title('Kmeans, n_cluster='+str(K));" + " #print(\"Inertie: %.2f\" % clustering.inertia_)\n", + " plt.figure(figsize=[9,6])\n", + " plt.scatter(X[:, 0], X[:, 1], s=40,c=clustering.labels_,cmap='jet')\n", + " plt.title(f'Kmeans, n_cluster={K}, inertie={clustering.inertia_:.2f}')\n", + " plt.show()" ] }, { @@ -373,10 +381,11 @@ " clustering.fit(X)\n", " inertie[K-1]=clustering.inertia_\n", "plt.figure(figsize=[9,6]);\n", - "plt.plot(np.arange(1,11),inertie);\n", + "plt.plot(np.arange(1,11),inertie)\n", "plt.xlabel(\"K\");\n", - "plt.ylabel(\"inertie\");\n", - "plt.title(\"elbow plot\");" + "plt.ylabel(\"inertie\")\n", + "plt.title(\"elbow plot\")\n", + "plt.show()" ] }, {