Weka (machine learning)

Waikato Environment for Knowledge Analysis (Weka), developed at the University of Waikato, New Zealand. It is free software licensed under the GNU General Public License, and the companion software to the book "Data Mining: Practical Machine Learning Tools and Techniques".[1]

Weka
Weka logo, featuring weka, a bird endemic to New Zealand
Weka 3.5.5 with Explorer window open with Iris UCI dataset
Developer(s)University of Waikato
Stable release
3.8.4 (stable) / December 20, 2019 (2019-12-20)
Preview release
3.9.4 / December 20, 2019 (2019-12-20)
Repository
Written inJava
Operating systemWindows, OS X, Linux
PlatformIA-32, x86-64; Java SE
TypeMachine learning
LicenseGNU General Public License
Websitewww.cs.waikato.ac.nz/~ml/weka

Description

Weka contains a collection of visualization tools and algorithms for data analysis and predictive modeling, together with graphical user interfaces for easy access to these functions.[1] The original non-Java version of Weka was a Tcl/Tk front-end to (mostly third-party) modeling algorithms implemented in other programming languages, plus data preprocessing utilities in C, and a Makefile-based system for running machine learning experiments. This original version was primarily designed as a tool for analyzing data from agricultural domains,[2][3] but the more recent fully Java-based version (Weka 3), for which development started in 1997, is now used in many different application areas, in particular for educational purposes and research. Advantages of Weka include:

  • Free availability under the GNU General Public License.
  • Portability, since it is fully implemented in the Java programming language and thus runs on almost any modern computing platform.
  • A comprehensive collection of data preprocessing and modeling techniques.
  • Ease of use due to its graphical user interfaces.

Weka supports several standard data mining tasks, more specifically, data preprocessing, clustering, classification, regression, visualization, and feature selection. All of Weka's techniques are predicated on the assumption that the data is available as one flat file or relation, where each data point is described by a fixed number of attributes (normally, numeric or nominal attributes, but some other attribute types are also supported). Weka provides access to SQL databases using Java Database Connectivity and can process the result returned by a database query. Weka provides access to deep learning with Deeplearning4j.[4] It is not capable of multi-relational data mining, but there is separate software for converting a collection of linked database tables into a single table that is suitable for processing using Weka.[5] Another important area that is currently not covered by the algorithms included in the Weka distribution is sequence modeling.

User interfaces

Weka's main user interface is the Explorer, but essentially the same functionality can be accessed through the component-based Knowledge Flow interface and from the command line. There is also the Experimenter, which allows the systematic comparison of the predictive performance of Weka's machine learning algorithms on a collection of datasets.

The Explorer interface features several panels providing access to the main components of the workbench:

  • The Preprocess panel has facilities for importing data from a database, a comma-separated values (CSV) file, etc., and for preprocessing this data using a so-called filtering algorithm. These filters can be used to transform the data (e.g., turning numeric attributes into discrete ones) and make it possible to delete instances and attributes according to specific criteria.
  • The Classify panel enables applying classification and regression algorithms (indiscriminately called classifiers in Weka) to the resulting dataset, to estimate the accuracy of the resulting predictive model, and to visualize erroneous predictions, receiver operating characteristic (ROC) curves, etc., or the model itself (if the model is amenable to visualization like, e.g., a decision tree).
  • The Associate panel provides access to association rule learners that attempt to identify all important interrelationships between attributes in the data.
  • The Cluster panel gives access to the clustering techniques in Weka, e.g., the simple k-means algorithm. There is also an implementation of the expectation maximization algorithm for learning a mixture of normal distributions.
  • The Select attributes panel provides algorithms for identifying the most predictive attributes in a dataset.
  • The Visualize panel shows a scatter plot matrix, where individual scatter plots can be selected and enlarged, and analyzed further using various selection operators.

Native regression tools

Weka has a large number of regression and classification tools. Native packages are the ones included in the executable Weka software, while other non-native ones can be downloaded and used within R.Weka environment. Among the native packages, the most famous tool is the M5p model tree package. The full list of tools is available here. Some of the regression tools are:

  • M5Rules (M5' algorithm presented in terms of mathematical function without a tree)
  • DecisionStump (same as M5' but with a single number output in each node)
  • M5P (splitting domain into successive binary regions and then fit linear models to each tree node)
  • RandomForest (several model trees combined)
  • REPTree (Reduced Error Pruning Tree, several model trees combined)
  • ZeroR (the average value of outputs)
  • DecisionRules (splits data into several regions based on a single independent variable and provides a single output value for each range)
  • LinearRegression
  • SMOreg (sequential minimal optimization for support vector regression)
  • SimpleLinearRegression (uses an intercept and only 1 input variable for multivariate data)
  • MultiLayerPerceptron (neural network)
  • GaussianProcesses

Extension packages

In version 3.7.2, a package manager was added to allow the easier installation of extension packages.[6] Some functionality that used to be included with Weka prior to this version has since been moved into such extension packages, but this change also makes it easier for others to contribute extensions to Weka and to maintain the software, as this modular architecture allows independent updates of the Weka core and individual extensions.

History

  • In 1993, the University of Waikato in New Zealand began development of the original version of Weka, which became a mix of Tcl/Tk, C, and Makefiles.
  • In 1997, the decision was made to redevelop Weka from scratch in Java, including implementations of modeling algorithms.[7]
  • In 2005, Weka received the SIGKDD Data Mining and Knowledge Discovery Service Award.[8][9]
  • In 2006, Pentaho Corporation acquired an exclusive licence to use Weka for business intelligence.[10] It forms the data mining and predictive analytics component of the Pentaho business intelligence suite. Pentaho has since been acquired by Hitachi Vantara, and Weka now underpins the PMI (Plugin for Machine Intelligence) open source component.[11]

See also

  • List of numerical analysis software

References

  1. Witten, Ian H.; Frank, Eibe; Hall, Mark A.; Pal, Christopher J. (2011). "Data Mining: Practical machine learning tools and techniques, 3rd Edition". Morgan Kaufmann, San Francisco (CA). Retrieved 2011-01-19.
  2. Holmes, Geoffrey; Donkin, Andrew; Witten, Ian H. (1994). "Weka: A machine learning workbench" (PDF). Proceedings of the Second Australia and New Zealand Conference on Intelligent Information Systems, Brisbane, Australia. Retrieved 2007-06-25.
  3. Garner, Stephen R.; Cunningham, Sally Jo; Holmes, Geoffrey; Nevill-Manning, Craig G.; Witten, Ian H. (1995). "Applying a machine learning workbench: Experience with agricultural databases" (PDF). Proceedings of the Machine Learning in Practice Workshop, Machine Learning Conference, Tahoe City (CA), USA. pp. 14–21. Retrieved 2007-06-25.
  4. "Weka Package Metadata". SourceForge. 2017. Retrieved 2017-11-11.
  5. Reutemann, Peter; Pfahringer, Bernhard; Frank, Eibe (2004). "Proper: A Toolbox for Learning from Relational Data with Propositional and Multi-Instance Learners". 17th Australian Joint Conference on Artificial Intelligence (AI2004). Springer-Verlag. CiteSeerX 10.1.1.459.8443.
  6. "weka-wiki - Packages". Retrieved 27 January 2020.
  7. Witten, Ian H.; Frank, Eibe; Trigg, Len; Hall, Mark A.; Holmes, Geoffrey; Cunningham, Sally Jo (1999). "Weka: Practical Machine Learning Tools and Techniques with Java Implementations" (PDF). Proceedings of the ICONIP/ANZIIS/ANNES'99 Workshop on Emerging Knowledge Engineering and Connectionist-Based Information Systems. pp. 192–196. Retrieved 2007-06-26.
  8. Piatetsky-Shapiro, Gregory I. (2005-06-28). "KDnuggets news on SIGKDD Service Award 2005". Retrieved 2007-06-25.
  9. "Overview of SIGKDD Service Award winners". 2005. Retrieved 2007-06-25.
  10. "Pentaho Acquires Weka Project". Pentaho. Retrieved 2018-02-06.
  11. "Plugin for Machine Intelligence".
  12. Thornton, Chris; Hutter, Frank; Hoos, Holger H.; Leyton-Brown, Kevin (2013). Auto-WEKA: Combined Selection and Hyperparameter Optimization of Classification Algorithms. KDD '13 Proceedings of the 19th ACM SIGKDD international conference on Knowledge discovery and data mining. pp. 847–855.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.