Vous êtes sur la page 1sur 14

Expose sur Data mining : Présentation du logiciel WEKA

Table des matières


INTRODUCTION ....................................................................................................................................... 2
Historique de weka.................................................................................................................................. 2
Presentation de weka .............................................................................................................................. 3
Principe de fonctionnement.................................................................................................................... 4
Variables d'environnement ..................................................................................................................... 5
Fonctionnement pratique (interface graphique) ........................................................................ 5
Implémentation à l'aide de WEKA Explorer ............................................................................................ 6
Exemple de transaction ........................................................................................................................... 9
INTERFACE GRAPHIQUE ...................................................................................................... 10
Avantage................................................................................................................................................ 13
Inconvénients ........................................................................................................................................ 13
Conclusion ............................................................................................................................................. 14

Rédigé par KAMGA KAMGA Pascal Le Doux 1


Expose sur Data mining : Présentation du logiciel WEKA

INTRODUCTION
L'apprentissage machine est centré sur la construction de systèmes informatiques qui
Ont la capacité d’améliorer leur performance dans un domaine donné par l’expérience.
L’apprentissage automatique est intrinsèquement lié aux thèmes de base de l'intelligence
artificielle et fournit une méthodologie et la technologie pour améliorer les applications du
monde réel dans beaucoup de ces sujets. L'apprentissage de la machine fournit également un
pont entre la technologie AI et génie logiciel moderne. Comme Tom Mitchell souligne,
l'apprentissage de la machine est maintenant considéré comme une technologie à la fois pour le
développement de logiciels (particulièrement adapté pour des applications difficiles à
programme ou pour personnaliser le logiciel) et la construction d’un logiciel intelligent.
L'intelligence des programmes définit leur aptitude à prendre des décisions à partir d'une base
de connaissance précise. La précision de la base de connaissance permet aux
systèmes intelligents de générer de nouvelles règles grâce aux modèles probabilistes issus de
l'analyse des données. Dans la génétique, la médecine, l’économie, ou le marketing en passant
par l’analyse statistique le traitement intelligent de données a envahi toutes les sphères
des sciences modernes.

Techniques d'apprentissage automatique sont une partie essentielle d’un nombre


Croissant d'applications en science, ingénierie, systèmes d'information et de l'éducation, tels
Que la reconnaissance vocale, le traitement du langage naturel et la vision par ordinateur, entre
Autres. Domaines émergents tels que l'exploration de données et l'exploration du Web utilisent
des techniques d'apprentissage machine de base, y compris les arbres de décision, réseaux de
Neurones et l’apprentissage Bayésien. Weka est un ensemble d'algorithmes d'apprentissage
Machine pour les tâches d’exploration de données. Les algorithmes peuvent soit être
directement appliquées à un ensemble de données ou appelés à partir de votre propre code
Java. Weka contient des outils pour les données de prétraitement, la classification, la
régression, le clustering, règles d'association, et la visualisation. Il est aussi bien adapté pour le
développement de nouveaux programmes d'apprentissage de la machine.

HISTORIQUE DE WEKA

 En 1992, l'université de Waikato en Nouvelle-Zélande commença le développement de la


version originale de Weka (qui devint un mélange de Tcl/Tk, de langage C et de Makefile).
 En 1997, la décision fut prise de développer une nouvelle fois Weka à partir de zéro en
Java, y compris l'implémentation des algorithmes de modélisation5.
 En 2005, Weka reçoit le SIGKDD (Data Mining and Knowledge Discovery Service
Award)6.
 En 2006, Pentaho acquiert une licence exclusive pour utiliser Weka pour de l'informatique
décisionnelle. Il forme le composant d'exploration de données analytique et prédictif de la
suite de logiciels décisionnels Pentaho.

Rédigé par KAMGA KAMGA Pascal Le Doux 2


Expose sur Data mining : Présentation du logiciel WEKA

PRESENTATION DE WEKA
Weka (acronyme pour Waikato, en français : « environnement Waikato pour l'analyse
de connaissances ») est une suite de logiciels d'apprentissage automatique écrite en Java et
développée à l'université de Waikato en Nouvelle-Zélande.
L'espace de travail Weka contient une collection d'outils de visualisation et
d'algorithmes pour l'analyse des données et la modélisation prédictive, allié à une interface
graphique pour un accès facile de ses fonctionnalités. La version « non-Java » originale de
Weka était un front-end en Tcl/Tk pour des algorithmes de modélisation (essentiellement
tierces) implémentés dans d'autres langages de programmation, complété par un des utilitaires
de préprocesseur de données en C, et un système à base de makefile pour lancer les expériences
d'apprentissage automatique. Cette version originale était avant tout conçue comme un outil
pour analyser des données agricoles, mais la version plus récente entièrement basée
sur Java (Weka 3), pour laquelle le développement a débuté en 1997, est désormais utilisée dans
beaucoup de domaines d'application différents, en particulier pour l'éducation et la recherche.
Les principaux points forts de Weka sont qu'il :

 est libre et gratuit, distribué selon les termes de la licence publique générale GNU ;
 est portable car il est entièrement implémenté en Java et donc fonctionne sur quasiment
toutes les plateformes modernes, et en particulier sur quasiment tous les systèmes
d'exploitation actuels ;
 contient une collection complète de préprocesseurs de données et de techniques de
modélisation ;
 est facile à utiliser par un novice en raison de l'interface graphique qu'il contient.
Weka supporte plusieurs outils d'exploration de données standards, et en particulier,
des préprocesseurs de données, des agrégateurs de données (data clustering), des classificateurs
statistiques, des analyseurs de régression, des outils de visualisation, et des outils d'analyse
discriminante. Toutes les techniques de Weka reposent sur la supposition que les données sont
disponibles dans un unique fichier plat ou une Relation binaire, ou chaque type de donnée est
décrit par un nombre fixe d'attributs (les attributs ordinaires, numériques ou symboliques, mais
quelques autres types d'attributs sont aussi supportés). Weka fournit un accès aux bases de
données SQL en utilisant le Java Database Connectivity (JDBC) et peut traiter le résultat d'une
requête SQL. Il n'est pas capable de faire de l'exploration de données multi-relationnelles, mais
il existe des logiciels tiers pour convertir une collection de tables de base de données liées entre
elles en une table unique adaptée au traitement par Weka. Un autre domaine important qui n'est
pour le moment pas couvert par les algorithmes inclus dans la distribution Weka est la
modélisation de séquences.
L'interface principale de Weka est l’explorer, mais à peu près les mêmes fonctionnalités
peuvent être atteintes via l'interface « flux de connaissance » de chaque composant et depuis
la ligne de commande. Il y a aussi l’experimenteur, qui permet la
comparaison systématique (taxinomique) des performances prédictives des algorithmes
d'apprentissage automatique de Weka sur une collection de jeux de données.
L'interface explorer possède plusieurs onglets qui donnent accès aux principaux
composants de l'espace de travail. L'onglet preprocesseur a plusieurs fonctionnalités d'import
de données depuis des bases de données, un fichier CSV et pour pré-traiter ces données avec
une algorithme appelé filtering. Ces filtres peuvent être utilisés pour transformer les données
(par exemple, transformer des attributs numériques réels en attributs discrets) et rendre possible

Rédigé par KAMGA KAMGA Pascal Le Doux 3


Expose sur Data mining : Présentation du logiciel WEKA

l'effacement d'instances et d'attributs selon des critères spécifiques. L'onglet classify permet à
l'utilisateur d'appliquer des classifications et des algorithmes de régression (indifféremment
appelés « classifiers » dans Weka) au jeu de données résultant, pour estimer la précision du
modèle prédictif, et de visualiser les prédictions erronées, ROC curves, etc. ou le modèle lui-
même (si le modèle est sujet à visualisation, comme un Arbre de décision).
L'onglet Associate donne accès aux apprentissages par règles d'association qui essayent
d'identifier toutes les relations importantes entre les attributs dans les données.
L'onglet Cluster donne accès aux techniques de clustering de Weka, comme l'algorithme du k-
means. Il y a aussi une implémentation d'algorithme espérance-maximisation pour
l'apprentissage d'un mélange de distributions normales. L'onglet « Select attributes » fournit
des algorithmes pour l'identification des attributs les plus prédictifs dans un jeu de données. Le
dernier onglet, « Visualize » montre une matrice de nuages de points, ou des nuages de points
individuels peuvent être sélectionnés et élargis, et davantage analysés en utilisant divers
opérateurs de sélection.

Présentation : l’interface graphique


Le logiciel Weka peut être utilisé sous à travers deux modes principaux. Le premier
mode est une interface de commande en ligne Simple CLI appelée qui est interpréteur de ligne
de commande. Le deuxième mode est une interface graphique Explorer. L'interface graphique
du logiciel présente six onglets correspondant soit à des étapes du processus d'apprentissage,
soit des classes d'algorithmes de classification (supervisée ou non) :
Preprocess : La saisie des données, l’examen et la sélection des attributs, les
- transformations d’attributs.
- Classify : Les méthodes de classification.
- Cluster : Les méthodes de segmentation (clustering).
- Associate : Les règles d’association.
- Select attributes : L’étude et la recherche de corrélations entre attributs.
- Visualize : représentations graphiques des données.

PRINCIPE DE FONCTIONNEMENT
 Ce logiciel peut fonctionner sur site, dans le Cloud ou un mélange des deux.
 Utilisez des pipelines de données accélérés à grande échelle pour réduire le temps
nécessaire à l'inférence et obtenir les meilleures images par seconde.
 Le multiprotocole prend en charge les fonctionnalités de connexion aux données à
l'aide du stockage natif NVIDIA GPUDirect, POSIX , NFS, SMB et S3.
 Utilisez le même backend de stockage pour l'ensemble de votre pipeline afin d'éviter
les coûts et les blocages liés à la copie des données.
 Ce système de fichiers est le système le plus rapide. Il prend en charge une entrée et
une sortie élevées et une faible latence. Cela le rend idéal pour les petits fichiers et
les charges de travail mixtes. De plus, il est portable, ce qui vous permet de déplacer
facilement vos données.
 Choisissez le matériel que vous souhaitez utiliser pour votre serveur. Vous pouvez
également choisir de nouvelles technologies de serveur dès qu'elles sont disponibles.

Rédigé par KAMGA KAMGA Pascal Le Doux 4


Expose sur Data mining : Présentation du logiciel WEKA

VARIABLES D'ENVIRONNEMENT

Les exemples de ligne de commande de ce didacticiel supposent que quelques variables


d'environnement sont définies. Vous pouvez les ignorer si vous souhaitez uniquement utiliser
l'interface graphique.

 WEKA_HOME : Cette variable doit pointer vers l'emplacement de votre installation


WEKA, par exemple, /home/rhys/weka-3.8.4 . Il est utilisé pour certaines commandes de
ce tutoriel et par le install-cuda-libs script pour installer les bibliothèques CUDA pour
WEKA.
 CLASSPATH : Java utilise cette variable pour localiser et charger les classes lors de
l'exécution. Cela peut être spécifié manuellement pour chaque exécution de ligne de
commande, mais cela devient ardu à faire à chaque fois, il est donc recommandé de définir
cette variable d'environnement de manière permanente (au moins pour la durée de ce
didacticiel). Cette variable doit pointer vers l'emplacement de weka.jar sur votre machine -
généralement dans le répertoire d'installation de WEKA, par
exemple, $WEKA_HOME/weka.jar .

Fonctionnement pratique (interface graphique)

 Ouvrez l' explorateur Weka , cliquez sur Open file... et ouvrez le iris.arff jeu de données.
 Basculez vers le Classify panneau, cliquez sur Choose et
sélectionnez functions > Dl4jMlpClassifier comme classificateur.
 Cliquez Start pour commencer la formation. Vous devriez voir le gestionnaire de
progression afficher une barre de progression indiquant la progression et l'ETA. Par défaut,
le classificateur n'a qu'une seule couche (la couche de sortie), mais celle-ci a des poids
pouvant être entraînés et peut donc être adaptée à l'ensemble de données. Notez la précision
validée croisée.

Nous allons maintenant commencer à ajouter quelques couches :

 À côté de Choose , cliquez sur la Dl4jMlpClassifier case pour ouvrir les options du
classificateur
 Cliquez layer specification pour ouvrir le GenericArrayEditor . De là, nous pouvons
modifier les calques du modèle.

Rédigé par KAMGA KAMGA Pascal Le Doux 5


Expose sur Data mining : Présentation du logiciel WEKA

 Cliquez Choose et sélectionnez le DenseLayer .


 Ouvrez les DenseLayer paramètres et réglez number of outputs sur 32 .
 Cliquez Add pour ajouter le calque. Vous devriez le voir apparaître au-dessus
du OutputLayer
 Cliquez OK pour enregistrer la configuration et cliquez Start à nouveau pour voir
comment la précision s'améliore.

Vous remarquerez que nous sommes passés de 15 paramètres à 259 après avoir ajouté une seule
couche - les réseaux de neurones peuvent gonfler très rapidement à mesure que nous ajoutons
plus de couches !

 Enfin, ajoutez-en un de plus DenseLayer avec 8 des sorties.

IMPLEMENTATION A L'AIDE DE WEKA EXPLORER

WEKA contient une implémentation du Algorithme Apriori pour apprendre les règles
d'association. Apriori ne fonctionne qu'avec des attributs binaires, des données catégoriques
(données nominales) donc, si l'ensemble de données contient des valeurs numériques,
convertissez-les d'abord en valeurs nominales.
Apriori découvre toutes les règles avec un support minimum et un seuil de confiance.

Suivez les étapes ci-dessous:


#1) Préparez un ensemble de données de fichier Excel et nommez-le comme ' apriori.csv '.

Rédigé par KAMGA KAMGA Pascal Le Doux 6


Expose sur Data mining : Présentation du logiciel WEKA

#2) Ouvrez WEKA Explorer et sous l'onglet Preprocess, choisissez le fichier «apriori.csv».

# 3) Le fichier est maintenant chargé dans l'explorateur WEKA.

# 4) Supprimez le champ Transaction en cochant la case et en cliquant sur Supprimer comme


indiqué dans l'image ci-dessous. Enregistrez maintenant le fichier sous «aprioritest.arff».

Rédigé par KAMGA KAMGA Pascal Le Doux 7


Expose sur Data mining : Présentation du logiciel WEKA

# 5) Accédez à l'onglet Associer. Les règles apriori peuvent être exploitées à partir d'ici.
# 6) Cliquez sur Choisir pour définir les paramètres de support et de confiance. Les différents
paramètres qui peuvent être définis ici sont:
 ' lowerBoundMinSupport ' et ' upperBoundMinSupport », C'est l'intervalle de niveau de
support dans lequel notre algorithme fonctionnera.
 Delta est l'incrément du support. Dans ce cas, 0,05 est l'incrément de support de 0,1 à 1.
 metricType peut être «Confiance», «Lift», «Levier» et «Conviction». Cela nous indique
comment nous classons les règles d'association. Généralement, la confiance est choisie.
 numRules indique le nombre de règles d'association à exploiter. Par défaut, il est défini sur 10.
 niveau de signification illustre la signification du niveau de confiance.

# 7) La zone de texte à côté du bouton de sélection affiche le ' Apriori-N-10-T-0-C-0.9-D 0.05-


U1.0-M0.1-S-1.0-c-1 », Qui décrit les règles récapitulatives définies pour l'algorithme dans
l'onglet Paramètres.

Rédigé par KAMGA KAMGA Pascal Le Doux 8


Expose sur Data mining : Présentation du logiciel WEKA

# 8) Cliquez sur le bouton Démarrer. Les règles d'association sont générées dans le panneau de
droite. Ce panneau se compose de 2 sections. Le premier est l'algorithme, l'ensemble de données
choisi pour s'exécuter. La deuxième partie montre les informations Apriori.

EXEMPLE DE TRANSACTION

Au lieu de former un réseau de neurones complet sur votre jeu de données, vous pouvez
essayer d'utiliser un modèle pré-formé comme extracteur de caractéristiques et d'adapter un
modèle plus simple à ces caractéristiques. Cette technique (implémentée avec
le Dl4jMlpFilter ) utilise les activations neuronales d'une couche du modèle pour convertir
votre ensemble de données d'image en une forme numérique - tout algorithme ML classique
peut alors être adapté à cette nouvelle forme.

Un paramètre important lors de l'utilisation de couches intermédiaires est le


filtre PoolingType . Les activations des couches intermédiaires sont souvent
tridimensionnelles pour une instance donnée, elles doivent donc être réduites en un vecteur
unidimensionnel. Il existe 4 méthodes de regroupement actuellement prises en charge :
- PoolingType.MAX (par défaut) - PoolingType.AVG - PoolingType.SUM -
PoolingType.MIN

Rédigé par KAMGA KAMGA Pascal Le Doux 9


Expose sur Data mining : Présentation du logiciel WEKA

Celles-ci regroupent les 2e et 3e dimensions en une seule valeur, c'est-à-dire que les
activations de [512, 26, 26] (512 cartes d'entités 26x26) sont regroupées en
forme [512] . Vous pouvez également spécifier PoolingType.NONE ce qui aplatit
simplement les dimensions supplémentaires (l'exemple susmentionné deviendrait
shape [346112] ).

PoolingType n'a pas besoin d'être spécifié lors de l'utilisation de la couche d'activation par
défaut - les sorties ont déjà la bonne dimensionnalité ( [batch size, num activations] ). Si vous
utilisez une couche intermédiaire, les sorties seront généralement de taille [batch size, width,
height, num channels] .

Tous les jeux de données/modèles référencés dans ce tutoriel se trouvent dans le pack d'assets

INTERFACE GRAPHIQUE

 Ouvrez le mnist.meta.minimal.arff dans l'onglet Weka Explorer Preprocess via Open


File .
 Sélectionnez le Dl4jMlpFilter dans le panneau de filtre
(dans filters/unsupervised/attribute ). Cliquez dans la zone des propriétés pour ouvrir les
paramètres du filtre.

 Configurez le ImageInstanceIterator comme nous l'avons fait dans le didacticiel


précédent , en définissant le directory of images comme mnist-minimal/images répertoire
contenant les fichiers image réels. Les width , height et channels sont automatiquement
définis en fonction de la forme d'entrée du modèle de zoo ( explications supplémentaires ).
 (Facultatif) Définissez la taille du lot en fonction de la capacité de votre machine ; cela ne
changera pas le résultat final mais accélérera le traitement. Si vous rencontrez des
problèmes de mémoire, utilisez une taille de mini-lot plus petite.

o S'il s'exécute sur le processeur, définissez le nombre de threads de votre machine.


o En cas d'exécution sur GPU, définissez un nombre carré approprié pour la mémoire de
votre GPU (par exemple, une mémoire GPU de 12 Go peut définir la taille du lot sur
32).
o

Rédigé par KAMGA KAMGA Pascal Le Doux 10


Expose sur Data mining : Présentation du logiciel WEKA

Rédigé par KAMGA KAMGA Pascal Le Doux 11


Expose sur Data mining : Présentation du logiciel WEKA

Pour l'instant, laissons les Zoo model et feature extraction layer comme valeurs par
défaut. Dl4jResNet50 est déjà sélectionné comme modèle d'extracteur de caractéristiques et
utilisera par défaut les activations finales de la couche dense comme caractéristiques de
l'image.

 Cliquez Apply pour commencer le traitement de votre jeu de données. Une fois terminé,
vous devriez voir votre ensemble de données nouvellement traité

 Passez à l' Classify onglet et sélectionnez functions > SMO comme classificateur.
 Cliquez Start pour commencer l'entraînement sur votre jeu de données nouvellement
transformé.

Vous devriez obtenir une précision d'environ 89 % - certainement pas SOTA, mais étant
donné la simplicité et la rapidité de la méthode, ce n'est pas mal ! Il convient de noter que la
taille de l'ensemble de données d'entraînement est très petite (~ 400 instances) et que
les ResNet50 poids sont entraînés sur ImageNet, qui est un domaine très différent du MNIST
(classification des voitures, des animaux, etc. par rapport à la classification des chiffres
manuscrits).

Rédigé par KAMGA KAMGA Pascal Le Doux 12


Expose sur Data mining : Présentation du logiciel WEKA

Médecine et Pharmaceutique :

 Diagnostique assisté par ordinateur (CAD) à travers des systèmes experts.


 Explication ou prédiction de la réponse d'un patient à un traitement.
 Identification des thérapies à succès (combinaison de prescriptions).
 Étude des corrélations entre le dosage dans un traitement et l'apparition d'effets
secondaires.

Assurances et santé :

 Découverte d'associations des demandes de remboursements.


 Identification de clients potentiels à de nouvelles polices d'assurances.
 Détection d'association de comportements pour la découverte de clients à risque.
 Détection de comportement frauduleux.

Banques et Finances :

 Détection d'usage frauduleux de cartes bancaires.


 Gestion du risque lié à l'attribution de prêts par le scoring.
 Découverte de relations cachées entre les indicateurs financiers.
 Détection de règles de comportement boursier par l’analyse des données du marché.

Vente, Distribution et Marketing :

 Détection d'associations de comportements d'achat.


 Découverte de caractéristiques de clientèle.
 Prédiction de probabilité de réponse aux campagnes de mailing

AVANTAGE

 Une interface très complète : WEKA présente quatre modes et implémente beaucoup
d’algorithmes pour chaque tâche.
 Possibilité de traiter les données d’une base de données.
 Traitement des données manquantes.
 Une bonne gestion des erreurs (les contrôles logiques)
 Beaucoup de filtres pour faire des transformations sur les données.
 Possibilité de faire des comparaisons entre les différentes méthodes.
 Multi-plate-formes (Windows, Lunix, MAC OS).
 Extensible.

INCONVENIENTS

 Nécessite une lecture attentive de la documentation, car la manipulation est difficile.


 Absence de tests statistiques.
 Une limitation technologique (JAVA) sur la taille de la base.
 Une limitation technologique (JAVA) sur la rapidité

Rédigé par KAMGA KAMGA Pascal Le Doux 13


Expose sur Data mining : Présentation du logiciel WEKA

CONCLUSION
WEKA est un outil d'exploration de données efficace pour effectuer de nombreuses
tâches d'exploration de données ainsi que pour expérimenter de nouvelles méthodes sur des
ensembles de données. WEKA a été développé par le Département d'informatique de
l'Université de Waikato en Nouvelle-Zélande.
Le logiciel Weka est un logiciel très puissant pour les besoins d'étude ou de recherche
dans le domaine de la prévision et de l'apprentissage automatique des données. Il possède une
pluralité de d'algorithmes de filtrage de classification et d'apprentissage qui varient les uns des
autres selon leur utilisation et leur performance. Cette architecture disponible et accessible open
source permet d’ajouter à ce puissant outil d'autres algorithmes. En effet, certains
algorithmes de classifications et d'apprentissage écrits en Python pourraient être introduits dans
le logiciel par des interfaces de communications java – python. La traduction de
nombreuses fonctions mathématiques dans le langage Python surtout pour des séries
géométriques et arithmétiques est très avancée grâce au développement de nombreuses
bibliothèques et sa proximité avec les unités de calcul. Ce projet nous permet d'avoir une large
initiation à l'analyse de données avec des algorithmes d'intelligence artificielle en accroissant
les connaissances sur les différents classificateurs et leur implémentation dans le langage
python et java.
L'analyse en grappes est une technique permettant de découvrir des grappes de données
qui représentent des caractéristiques similaires. WEKA fournit de nombreux algorithmes pour
effectuer des analyses de grappes dont les moyennes simples sont très utilisées.
La visualisation des données dans WEKA peut être effectuée sur tous les jeux de
données du répertoire WEKA. L'ensemble de données brutes peut être visualisé ainsi que
d'autres ensembles de données résultants d'autres algorithmes tels que la classification, le
clustering et l'association peuvent être visualisés à l'aide de WEKA.

Rédigé par KAMGA KAMGA Pascal Le Doux 14

Vous aimerez peut-être aussi