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. Weka est un logiciel libre disponible sous la Licence publique générale GNU (GPL).

Description

L'espace de travail Weka Ian H. Witten, Eibe Frank, et Mark A. Hall, Data Mining: Practical machine learning tools and techniques, édition, Morgan Kaufmann, 2011 , 629 pages 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’, 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 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é . 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 permet à l'utilisateur d'appliquer des classifications et des algorithmes de régression (indifféremment appelés « » 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 ou le modèle lui-même (si le modèle est sujet à visualisation, comme un Arbre de décision). L'onglet 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 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 « » fournit des algorithmes pour l'identification des attributs les plus prédictifs dans un jeu de données. Le dernier onglet, « » 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 commence le développement de la version originale de Weka (qui intègre un mélange de Tcl/Tk, de langage C et de Makefile). En 1997, la décision est prise de développer une nouvelle fois Weka à partir de zéro en Java, y compris l'implémentation des algorithmes de modélisation . En 2005, Weka reçoit le SIGKDD () Winner of SIGKDD Data Mining and Knowledge Discovery Service Award… - Gregory Piatetsky-Shapiro, KDnuggets, 28 juin 2005. 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

Annexes Articles connexes Intelligence artificielle

Liens externes

Exemples d'applications Acronym identification Gene selection from microarray data for cancer classification - ScienceDirect, Benchmarking of Linear and Nonlinear Approaches for Quantitative Structure−Property Relationship Studies of Metal Complexation with Ionophores - ACS Publications MIPS EST Classification Server Weka : Related Projects

Catégorie:Apprentissage automatique Catégorie:Exploration de données Catégorie:Logiciel libre sous licence GPL Catégorie:Logiciel scientifique Catégorie:Plateforme Java