From d945d5c1485ef822244e94ab07c4099519654e93 Mon Sep 17 00:00:00 2001
From: SUR Frederic <frederic.sur@univ-lorraine.fr>
Date: Sun, 17 Nov 2024 20:36:16 +0000
Subject: [PATCH] 2024-2025
---
TP2/TP2_ex1_sujet.ipynb | 47 ++++++++++++++++++++++++-----------------
1 file changed, 28 insertions(+), 19 deletions(-)
diff --git a/TP2/TP2_ex1_sujet.ipynb b/TP2/TP2_ex1_sujet.ipynb
index 3e7607b..b97b07b 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()"
]
},
{
--
GitLab