/// <summary> /// Création de la carte à la première itération, puis algorithme de Kohonen aux suivantes /// </summary> private void Carte_Button_Click(object sender, EventArgs e) { if (NbLignes_TextBox.Enabled) { try { // Récupération du nombre de lignes et de colonnes de la carte NbLignes = Convert.ToInt32(NbLignes_TextBox.Text); NbColonnes = Convert.ToInt32(NbColonnes_TextBox.Text); NbLignes_TextBox.Enabled = false; NbColonnes_TextBox.Enabled = false; // Création de la carte Carte = new Carte(NbLignes, NbColonnes, 2, Image.Width); // Affichage des observations (données du fichier « dataetclassif.txt ») // et des neurones de la carte que l’on vient de construire Crayon.Color = Color.White; Graphe.FillRectangle(Crayon.Brush, 0, 0, Image.Width, Image.Height); AfficherDonnees(); AfficherNeurones(); } catch (Exception Ex) { MessageBox.Show(Ex.Message, "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { try { NbIterations++; Classes_Button.Enabled = true; Nouveau_Button.Enabled = true; // Récupération du coefficient d’apprentissage et de la distance de voisinage entre 2 neurones CoefApprentissage = Convert.ToDouble(CoefApprentissage_TextBox.Text); DistanceNeurones = Convert.ToInt32(DistanceNeurones_TextBox.Text); // Effectuation d’un apprentissage Carte.AlgoKohonen(Observations, CoefApprentissage, DistanceNeurones); // Affichage du résultat Crayon.Color = Color.White; Graphe.FillRectangle(Crayon.Brush, 0, 0, Image.Width, Image.Height); AfficherDonnees(); AfficherNeurones(); } catch (Exception Ex) { MessageBox.Show(Ex.Message, "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error); } } }