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).
Développé par | Université de Waikato |
---|---|
DerniĂšre version | 3.8.1 () |
Version avancée | 3.9.1 () |
DĂ©pĂŽt | git.cms.waikato.ac.nz/weka/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 |
Documentation | waikato.github.io/weka-wiki |
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