Visualisation des données

Nous commençons par ouvrir notre dataset dans Weka Explorer. Nous pouvons voir l’Explorer dans la figure 15.

![image17](data:image/svg+xml;charset=utf-8,%3Csvg xmlns%3D’http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg’ viewBox%3D'0 0 1023 735’%2F%3E)

Figure 15. Aperçu, préparation et prétraitement des données

Weka permet de visualiser les données avec lesquelles il travaille. Dans la partie gauche de la fenêtre, on aperçoit les colonnes des attributs de données et le nombre de lignes de données fournies (Instances). En sélectionnant chaque colonne, la section droite de la fenêtre donne des informations sur celui-ci. Par exemple, en sélectionnant la colonne focale*_depth* dans la section de gauche (qui doit être sélectionnée par défaut), la section de droite change pour montrer des informations statistiques supplémentaires sur la colonne. Il montre que la valeur maximale de l’ensemble de données pour cette colonne est de 656 km et que le minimum est de 0 km. La taille moyenne est de 74,36 km, avec un écart-type de 116,468 km.

Si on passe dans l’onglet Visualize*,* il existe une panoplie de moyens visuels d’examiner les données. La figure 16 illustre cela.

![image18](data:image/svg+xml;charset=utf-8,%3Csvg xmlns%3D’http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg’ viewBox%3D'0 0 1021 734’%2F%3E)

Figure 16. Visualisation des données

Pour en voir d’avantages, il suffit de cliquer sur l’un des graphes et une fenêtre détaillée s’affichera. La figure 17 montre cette action.

![image19](data:image/svg+xml;charset=utf-8,%3Csvg xmlns%3D’http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg’ viewBox%3D'0 0 800 589’%2F%3E)

Figure 17. Visualisation détaillée des données

Obtention d’un modèle de classification de cas d’hypothyroïdie

L’hypothyroïdie est une maladie dans laquelle la glande thyroïde ne produit pas suffisamment d’hormones thyroïdiennes. Elle nécessite toujours des tests en laboratoire ou par imagerie. Les principaux symptômes sont la fatigue, une sensibilité au froid, la constipation, une peau sèche et une prise de poids inexpliquée. Malheureusement, le diagnostic de celui-ci reste encore très difficile. Dans cet exemple nous essayons d’effectuer un diagnostic médical en utilisant un algorithme de classification afin d’élaborer un arbre de décision simple pour déterminer si une personne donnée est oui ou non atteinte de cette maladie.

Nous commençons à ouvrir notre ensemble de données dans Weka Explorer. La figure 18 montre cette action.

![image20](data:image/svg+xml;charset=utf-8,%3Csvg xmlns%3D’http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg’ viewBox%3D'0 0 1364 735’%2F%3E)

Figure 18. Chargement des données pour le cas hypothyroïdie

Pour obtenir un modèle de classification, il suffit de passer à l’onglet Classify. La figure 19 présente cet onglet.

![image21](data:image/svg+xml;charset=utf-8,%3Csvg xmlns%3D’http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg’ viewBox%3D'0 0 559 298’%2F%3E)

Figure 19. Onglet Classify

Dans la partie à gauche, nous avons une section test. Dans cette section nous devons choisir une donnée sur laquelle effectuer des tests afin de pouvoir évaluer notre modèle. Ici nous avons plusieurs choix :

  • Use training set : Quand on utilise cette option, Weka utilise toutes les données d’entrainement pour effectuer le test. Ceci est déconseillé vu que cela peut produire des résultats très optimistes, et empêche généralement le modèle de se généraliser sur un nouvel ensemble de données ;
  • Supplied test set : L’option idéale s’il nous est possible de fournir un ensemble de données totalement différent et dédié au test.
  • Cross-validation : Dans cette partie, nous observons le paramètre « folds » qui est à 10 par défaut. Lorsque Weka utilise le cross-validation elle divise nos données en 10 parts égales (folds). Ensuite, elle entraine le modèle sur 9 parts et le test sur la 10 ème et répète cette opération 10 fois.
  • Percentage split : Weka utilise une ration donnée pour la répartition données d’entrainement/données de test. Cette méthode est généralement déconseillée, car elle peut produire des métriques très pessimistes.

Pour cet exemple nous laissons les valeurs par défaut. La figure 20 montre l’exécution de la classification.

![image22](data:image/svg+xml;charset=utf-8,%3Csvg xmlns%3D’http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg’ viewBox%3D'0 0 1365 737’%2F%3E)

Figure 20. Résultats de la classification

Après avoir lancé notre modèle, nous obtenons le résultat suivant. Les chiffres importants sur lesquels se concentrer ici sont :

  • « Correctly Classified Instances » (99,8144 %) ;
  • « ’Incorrectly Classified Instances »’ (0,18 %).

D’autres chiffres importants se trouvent dans la colonne « ROC area » (caractéristique de performance), dans la première rangée (0.997).

Enfin, dans la « matrice de confusion », l’outil montre le nombre de faux positifs et de faux négatifs.

![image23](data:image/svg+xml;charset=utf-8,%3Csvg xmlns%3D’http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg’ viewBox%3D'0 0 517 170’%2F%3E)

La figure 21 représente un résumé des résultats de l’opération

Nous pouvons voir l’arbre en cliquant avec le bouton droit sur le modèle que nous venons de créer, dans la liste des résultats. Dans le menu contextuel, sélectionnez « Visualise tree ».

![image24](data:image/svg+xml;charset=utf-8,%3Csvg xmlns%3D’http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg’ viewBox%3D'0 0 1365 733’%2F%3E)

La figure 22 montre l’arbre de décision obtenu.

Obtention d’un modèle prédictif du prix d’un automobile

Les données que nous utilisons dans cet exemple représentent les caractéristiques des voitures. Nous allons utiliser la régression linéaire afin de trouver un modèle à partir des variables suivantes : empattement, longueur, largeur, poids à vide, taille du moteur, alésage, coup, taux de compression, puissance, vitesse de pointe.

La figure 23 représente le chargement de ces données.

![image25](data:image/svg+xml;charset=utf-8,%3Csvg xmlns%3D’http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg’ viewBox%3D'0 0 1365 736’%2F%3E)

Figure 23. Chargement du dataset

Tout d’abord nous sélectionnons l’onglet Classify ensuite la prochaine étape consiste à sélectionner le modèle que nous voulons construire, ainsi Weka sait comment travailler avec les données, et comment créer le modèle approprié :

  • Cliquons sur le bouton Choisir, puis développez la branche des fonctions ;
  • Sélectionnons LinearRegression.

La figure 24 affiche le résultat d’une régression linéaire.

![image26](data:image/svg+xml;charset=utf-8,%3Csvg xmlns%3D’http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg’ viewBox%3D'0 0 1365 740’%2F%3E)

Figure 24. Résultat de la régression

Après l’entrainement, Weka nous affiche le modèle, qui est précisé dans la figure 25.

![image27](data:image/svg+xml;charset=utf-8,%3Csvg xmlns%3D’http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg’ viewBox%3D'0 0 349 264’%2F%3E)

Figure 25. Modèle obtenu

Recherche des comportements typiques des clients (clustering)

L’ensemble de données que nous utiliserons pour notre exemple de clustering se concentrera sur un concessionnaire d’automobiles BMW. Le concessionnaire a gardé une trace de la façon dont les clients traversent la concession et la salle d’exposition, quelles voitures ils regardent, et à quelle fréquence ils font des achats. Nous allons extraire ces données en trouvant des modèles dans les données et déterminer si certains comportements émergent chez leurs clients.

Nous commençons par ouvrir notre dataset dans Weka Explorer. La figure 26 nous montre cette étape.

![image28](data:image/svg+xml;charset=utf-8,%3Csvg xmlns%3D’http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg’ viewBox%3D'0 0 1021 735’%2F%3E)

Figure 26. Chargement des données

Pour obtenir un modèle de segmentation, il suffit de passer à l’onglet Cluster. La figure 27 présente cette étape.

![image29](data:image/svg+xml;charset=utf-8,%3Csvg xmlns%3D’http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg’ viewBox%3D'0 0 1022 733’%2F%3E)

Figure 27. Onglet Cluster

Nous allons spécifier des options à notre algorithme de clustering en cliquant sur SimpleKMeans. Le seul attribut de l’algorithme que nous souhaitons ajuster ici est le champ numClusters, qui nous indique combien de clusters nous voulons créer. Nous changeons la valeur par défaut de 2 à 5. La figure 28 illustre ce changement.

![image30](data:image/svg+xml;charset=utf-8,%3Csvg xmlns%3D’http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg’ viewBox%3D'0 0 536 732’%2F%3E)

Figure 28. Paramétrage de l’algorithme

Nous lançons notre modèle et nous obtenons le résultat présenté dans la figure 29.

![image31](data:image/svg+xml;charset=utf-8,%3Csvg xmlns%3D’http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg’ viewBox%3D'0 0 1019 735’%2F%3E)

Figure 29. Résultat du clustering

Chaque cluster nous montre un type de comportement chez les clients, à partir duquel nous pouvons commencer à tirer quelques conclusions :

  • Cluster 0 : Ce sont les clients qui visitent uniquement sans pour autant rien acheter.
  • Cluster 1 : Ce sont les clients qui sont attirés par un modèle particulier, la M5. Cependant il n’y a que 51.85 % d’eux qui achètent (Faible taux de conversion). On peut résoudre ce problème par exemple en envoyant plus de commerciaux pour ce modèle de voiture en particulier.
  • Cluster 2 : Ce groupe représente uniquement 5 personnes. Nous ne pouvons pas donc prendre de conclusion faible à leur encontre sachant qu’elles ne sont pas statistiquement pertinentes.
  • Cluster 3 : Ce groupe constitue les personnes fanatiques de BMW. Elles viennent voir tous les véhicules du concessionnaire (sauf la série 3) et finissent toujours par en acheter une.
  • Cluster 4 : Ce groupe rassemble les clients avec un niveau de vie modeste, car ils savent ce qu’ils veulent et s’intéressent uniquement à la série 3 (un modèle d’entrée de gamme et bon marché). Alors que 50 % parviennent à l’étape du financement, seulement 32 % terminent la transaction. Nous pouvons conclure que ces clients cherchent à acheter leurs premières BMW et espèrent être admissibles à un financement pour pouvoir se le permettre. Le concessionnaire pourrait augmenter les ventes à ce groupe en assouplissant ses normes de financement ou en réduisant les prix de la série 3.

La figure 30 détaille les résultats du clustering.

![weka bmw instance result](data:image/svg+xml;charset=utf-8,%3Csvg xmlns%3D’http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg’ viewBox%3D'0 0 553 398’%2F%3E)

Figure 30. Résultat détaillé du clustering

Une autre manière intéressante d’examiner les données de ces groupes est de les inspecter visuellement. Pour ce faire, il suffit de cliquer avec le bouton droit de la souris la section Liste des résultats de l’onglet Cluster. Visualize Cluster Assignments est l’une des options de ce menu contextuel. Les figures 31 et 32 montrent ces affichages.

![weka m5 purchase](data:image/svg+xml;charset=utf-8,%3Csvg xmlns%3D’http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg’ viewBox%3D'0 0 544 404’%2F%3E)

Figure 31. Visualisation après clustering

![weka m5 copnutersearch](data:image/svg+xml;charset=utf-8,%3Csvg xmlns%3D’http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg’ viewBox%3D'0 0 544 404’%2F%3E)

Figure 32. Visualisation détaillée après clustering

CONCLUSION

Ce présent document a pour objet le Data Mining avec l’outil Weka. Sa réalisation a nécessité l’utilisation de l’outil de Data Mining Weka, l’application du processus de Data Mining KDD et de l’exploitation de datasets au format ARFF.

L’outil Weka permet de faire du preprocessing, d’effectuer une classification et une régression, de réaliser un clustering, de déduire les règles d’association, de rechercher les corrélations entre attributs et de visualiser les données, sur des cas réels.

Le logiciel Weka satisfait les propriétés principales du Data Mining. En perspective, il est possible d’optimiser encore plus nos prédictions face à un cas précis en implémentant nos propres algorithmes dans cet outil.