Weka (informatique)
Weka (acronyme pour Waikato environment for knowledge analysis, 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. Weka est un logiciel libre disponible sous la Licence publique générale GNU (GPL).
Pour les articles homonymes, voir Weka.
Développé par | Université de Waikato |
---|---|
Dernière version | 3.8.1 () |
Version avancée | 3.9.1 () |
Dépôt | svn.cms.waikato.ac.nz/svn/weka |
Écrit en | Java |
Système d'exploitation | Microsoft Windows et type Unix |
Environnement | Plateforme Java |
Formats lus | Attribute-Relation File Format (d) |
Langues | Multilingue |
Type | Structure logicielle d'apprentissage automatique (d) |
Licence | Licence publique générale GNU version 3 |
Site web | www.cs.waikato.ac.nz/ml/weka/ |
Description
L'espace de travail Weka[1] 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[2],[3], 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[4]. 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 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.
Historique
- 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élisation[5].
- 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.
Notes et références
- (en) Ian H. Witten, Eibe Frank, et Mark A. Hall, Data Mining: Practical machine learning tools and techniques,3e édition, Morgan Kaufmann, 2011 (ISBN 978-0-1237-4856-0), 629 pages [présentation en ligne]
- (en) G. Holmes, A. Donkin and I.H. Witten, « Weka: A machine learning workbench », Proc Second Australia and New Zealand Conference on Intelligent Information Systems, Brisbane, Australia, (consulté le ) [PDF]
- (en) S.R. Garner, S.J. Cunningham, G. Holmes, C.G. Nevill-Manning, and I.H. Witten, « Applying a machine learning workbench: Experience with agricultural databases », Proc Machine Learning in Practice Workshop, Machine Learning Conference, Tahoe City, CA, USA, (consulté le ), p. 14–21 [PDF]
- (en) P. Reutemann, B. Pfahringer and E. Frank, « Proper: A Toolbox for Learning from Relational Data with Propositional and Multi-Instance Learners », 17th Australian Joint Conference on Artificial Intelligence (AI2004), Springer-Verlag, (consulté le )
- (en) Ian H. Witten, Eibe Frank, Len Trigg, Mark Hall, Geoffrey Holmes, and Sally Jo Cunningham, « Weka: Practical Machine Learning Tools and Techniques with Java Implementations », Proceedings of the ICONIP/ANZIIS/ANNES'99 Workshop on Emerging Knowledge Engineering and Connectionist-Based Information Systems, (consulté le ), p. 192–196 [PDF]
- (en) Winner of SIGKDD Data Mining and Knowledge Discovery Service Award… - Gregory Piatetsky-Shapiro, KDnuggets, 28 juin 2005
Annexes
Article connexe
Liens externes
- (en) Site officiel
- (en) « Accueil du projet Weka », sur SourceForge.net.
Exemples d'applications
- (en) Acronym identification
- (en) Gene selection from microarray data for cancer classification - ScienceDirect,
- (en) Benchmarking of Linear and Nonlinear Approaches for Quantitative Structure−Property Relationship Studies of Metal Complexation with Ionophores - ACS Publications
- (en) MIPS EST Classification Server
- (en) Weka : Related Projects
- Portail des logiciels libres