Project details for WEKA

Screenshot WEKA 3.9.2

by mhall - December 22, 2017, 03:39:19 CET [ Project Homepage BibTeX BibTeX for corresponding Paper Download ]

view (4 today), download ( 0 today ), 0 subscriptions

OverallWhole StarWhole StarWhole StarWhole StarEmpty Star
FeaturesWhole StarWhole StarWhole StarWhole Star1/2 Star
UsabilityWhole StarWhole StarWhole Star1/2 StarEmpty Star
DocumentationWhole StarWhole StarWhole StarWhole StarEmpty Star
(based on 6 votes)
Description:

The Weka workbench contains a collection of visualization tools and algorithms for data analysis and predictive modelling, together with graphical user interfaces for easy access to this functionality. The main strengths of Weka are that it is freely available under the GNU General Public License, very portable because it is fully implemented in the Java programming language and thus runs on almost any computing platform, contains a comprehensive collection of data preprocessing and modeling techniques, and is easy to use by a novice due to the graphical user interfaces it contains.

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 a single 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. 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. Another important area that is currently not covered by the algorithms included in the Weka distribution is sequence modeling.

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 has several panels that give access to the main components of the workbench. The Preprocess panel has facilities for importing data from a database, a 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 the user to apply 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, ROC curves, etc., or the model itself (if the model is amenable to visualization like, e.g., a decision tree). Weka contains many of the latest sophisticated methods, such as support vector machines, gaussian processes, random forests, but also classic methods like C4.5, ANNs, bagging, boosting, etc. 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 next panel, Select attributes provides algorithms for identifying the most predictive attributes in a dataset. The last panel, Visualize, shows a scatter plot matrix, where individual scatter plots can be selected and enlarged, and analyzed further using various selection operators.

What's new since version 3.6.0?

  • Package management system
  • Support for importing PMML support vector machines
  • Denormalize filter for flattening transactional data
  • SGD stochastic gradient descent for learning binary SVMs, logistic regression and linear regression (can be trained incrementally)
  • scatterPlot3D - a new package that adds a 3D scatter plot visualization to the Explorer
  • associationRulesVisualizer - a new package that adds a 3D visualization of association rules to Associations panel of the Explorer
  • massiveOnlineAnalysis - a new connector package for the MOA data stream learning tool
  • Tabu search method for feature selection
  • EM-based imputation of missing values
  • Speed improvements for random trees, which in turn lead faster random forests (up to an order of magnitude faster)
  • Support for importing PMML decision trees
  • Apriori can make use of sparse instances for market basket type data
  • Support for using environment variables in the Knowledge Flow
  • Support for Groovy scripting
  • Improvements to the loading of CSV files
  • Enhanced plugin support in the Explorer's Classify panel
  • Filter for sorting the labels of nominal attributes
  • Information on instance weights displayed in the Preprocess panel of the Explorer
  • Wrapper feature selection now supports mae, f-measure, auc, rmse (probabilities), mae (probabilities) as well as the original error rate and rmse
  • Converters to read and write Matlab's ASCII file format
  • FPGrowth association rule learner
  • SPegasos algorithm for learning linear support vector machines via stochastic gradient descent
  • PMML decision trees and rule set models
  • Cost/benefit analysis component
  • Support for parallel processing in some meta learners
  • FURIA rule learner
  • Friedman's RealAdaBoost algorithm
  • HierarchicalClusterer, implementing a number of hierarchical clustering techniques
  • Improved and faster version of Gaussian process regression
  • Evaluation routines for conditional density estimates and interval estimators
  • OneClassClassifier
  • Architectural changes: Classifier and Instance are now interfaces; core does not depend on FastVector any more
  • SGDText - stochastic gradient descent for learning linear SVMs and logistic regression for text problems. Operates incrementally and directly on string attributes.
  • MITI multi-instance tree learner and MIRI rule learner variant.
  • sasLoader - SAS sas7bdat file reader.
  • wekaServer - A simple servlet-based server for executing data mining tasks.
  • Incremental version of the multi-class meta classifier.
  • NaiveBayesMultinomialText - version of multinomial NB that operates directly on string attributes.
  • Integration with the R statistical environment
  • Local Outlier Factor (LOF) anomaly detection filter
  • Isolation Forests outlier detection
  • Multilayer perceptrons package
  • HoeffdingTree. Ported from the MOA implementation to a Weka classifier
  • MergeInfrequentNominalValues filter
  • MergeNominalValuesFilter. Uses an CHAID-style merging routine
  • Zoom facility in the Knowledge Flow
  • Epsilon-insensitive and Huber loss functions in SGD
  • More CSVLoader improvements
  • Class specific IR metric based evaluation in WrapperSubsetEval
  • GainRatioAttributeEval now supports instance weights
  • New command line option to force batch training mode when the classifier is an incremental one
  • LinearRegression is now faster and more memory efficient thanks to a contribution from Sean Daugherty
  • CfsSubsetEval can now use multiple CPUs/cores to pre-compute the correlation matrix (speeds up backward searches)
  • GreedyStepwise can now evaluate mutliple subsets in parallel
  • New kernelLogisticRegression package
  • New supervisedAttributeScaling package
  • New clojureClassifier package
  • localOutlierFactor now includes a wrapper classifier that uses the LOF filter
  • scatterPlot3D now includes new Java3D libraries for all major platforms
  • New IWSS (Incremental Wrapper Subset Selection) package contributed by Pablo Bermejo
  • New MODLEM package (rough set theory based rule induction) contributed by Szymon Wojciechowski

[1] Ian H. Witten; Eibe Frank (2005). Data Mining: Practical machine learning tools and techniques, 2nd Edition. Morgan Kaufmann, San Francisco.

[2] G. Holmes; A. Donkin and I.H. Witten (1994). Weka: A machine learning workbench. Proc Second Australia and New Zealand Conference on Intelligent Information Systems, Brisbane, Australia.

[3] S.R. Garner; S.J. Cunningham, G. Holmes, C.G. Nevill-Manning, and I.H. Witten (1995). Applying a machine learning workbench: Experience with agricultural databases. Proc Machine Learning in Practice Workshop, Machine Learning Conference, Tahoe City, CA, USA 14-21.

[4] P. Reutemann; B. Pfahringer and E. Frank (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.

[5] Ian H. Witten; Eibe Frank, Len Trigg, Mark Hall, Geoffrey Holmes, and Sally Jo Cunningham (1999). 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 192-196.

[6] Gregory Piatetsky-Shapiro (2005-06-28). KDnuggets news on SIGKDD Service Award 2005.

Changes to previous version:

This release include a lot of bug fixes and improvements. Some of these are detailed at

http://jira.pentaho.com/projects/DATAMINING/issues/DATAMINING-771

As usual, for a complete list of changes refer to the changelogs.

BibTeX Entry: Download
Corresponding Paper BibTeX Entry: Download
Supported Operating Systems: Cygwin, Linux, Macosx, Windows
Data Formats: None
Tags: Association Rules, Attribute Selection, Classification, Clustering, Preprocessing, Regression
Archive: download here

Other available revisons

Version Changelog Date
3.9.2

This release include a lot of bug fixes and improvements. Some of these are detailed at

http://jira.pentaho.com/projects/DATAMINING/issues/DATAMINING-771

As usual, for a complete list of changes refer to the changelogs.

December 22, 2017, 03:39:19
3.9.1

In core weka:

  • JAMA-based linear algebra routines replaced with MTJ. Faster operation with the option to use native libraries for even more speed
  • General efficiency improvements in core, filters and some classifiers
  • GaussianProcesses now handles instance weights
  • New Knowledge Flow implementation. Engine completely rewritten from scratch with a simplified API
  • New Workbench GUI
  • GUI package manager now has a search facility
  • FixedDictionaryStringToWordVector filter allows the use of an external dictionary for vectorization. DictionarySaver converter can be used to create a dictionary file

In packages:

  • Packages that were using JAMA are now using MTJ
  • New netlibNativeOSX, netlibNativeWindows and netlibNativeLinux packages providing native reference implementations (and system-optimized implementation in the case of OSX) of BLAS, LAPACK and ARPACK linear algebra
  • New elasticNet package, courtesy of Nikhil Kinshore
  • New niftiLoader package for loading a directory with MIR data in NIfTI format into Weka
  • New percentageErrorMetrics package - provides plugin evaluation metrics for root mean square percentage error and mean absolute percentage error
  • New iterativeAbsoluteErrorRegression package - provides a meta learner that fits a regression model to minimize absolute error
  • New largeScaleKernelLearning package - contains filters for large-scale kernel-based learning
  • discriminantAnalysis package now contains an implementation for LDA and QDA
  • New Knowledge Flow component implementations in various packages
  • newKnowledgeFlowStepExamples package - contains code examples for new Knowledge Flow API discussion in the Weka Manual
  • RPlugin updated to latest version of MLR
  • scatterPlot3D and associationRulesVisualizer packages updated with latest Java 3D libraries
  • Support for pluggable activation functions in the multiLayerPerceptrons package
December 19, 2016, 04:44:20
3.9.0

In core weka:

  • JAMA-based linear algebra routines replaced with MTJ. Faster operation with the option to use native libraries for even more speed
  • General efficiency improvements in core, filters and some classifiers
  • GaussianProcesses now handles instance weights
  • New Knowledge Flow implementation. Engine completely rewritten from scratch with a simplified API
  • New Workbench GUI
  • GUI package manager now has a search facility
  • FixedDictionaryStringToWordVector filter allows the use of an external dictionary for vectorization. DictionarySaver converter can be used to create a dictionary file

In packages:

  • Packages that were using JAMA are now using MTJ
  • New netlibNativeOSX, netlibNativeWindows and netlibNativeLinux packages providing native reference implementations (and system-optimized implementation in the case of OSX) of BLAS, LAPACK and ARPACK linear algebra
  • New elasticNet package, courtesy of Nikhil Kinshore
  • New niftiLoader package for loading a directory with MIR data in NIfTI format into Weka
  • New percentageErrorMetrics package - provides plugin evaluation metrics for root mean square percentage error and mean absolute percentage error
  • New iterativeAbsoluteErrorRegression package - provides a meta learner that fits a regression model to minimize absolute error
  • New largeScaleKernelLearning package - contains filters for large-scale kernel-based learning
  • discriminantAnalysis package now contains an implementation for LDA and QDA
  • New Knowledge Flow component implementations in various packages
  • newKnowledgeFlowStepExamples package - contains code examples for new Knowledge Flow API discussion in the Weka Manual
  • RPlugin updated to latest version of MLR
  • scatterPlot3D and associationRulesVisualizer packages updated with latest Java 3D libraries
  • Support for pluggable activation functions in the multiLayerPerceptrons package
April 15, 2016, 06:35:30
3.7.13

In core weka:

  • Numerically stable implementation of variance calculation in core Weka classes - thanks to Benjamin Weber
  • Unified expression parsing framework (with compiled expressions) is now employed by filters and tools that use mathematical/logical expressions - thanks to Benjamin Weber
  • Developers can now specify GUI and command-line options for their Weka schemes via a new unified annotation-based mechanism
  • ClassConditionalProbabilities filter - replaces the value of a nominal attribute in a given instance with its probability given each of the possible class values
  • GUI package manager's available list now shows both packages that are not currently installed, and those installed packages for which there is a more recent version available that is compatible with the base version of Weka being used
  • ReplaceWithMissingValue filter - allows values to be randomly (with a user-specified probability) replaced with missing values. Useful for experimenting with methods for imputing missing values
  • WrapperSubsetEval can now use plugin evaluation metrics

In packages:

  • alternatingModelTrees package - alternating trees for regression
  • timeSeriesFilters package, contributed by Benjamin Weber
  • distributedWekaSpark package - wrapper for distributed Weka on Spark
  • wekaPython package - execution of CPython scripts and wrapper classifier/clusterer for Scikit Learn schemes
  • MLRClassifier in RPlugin now provides access to almost all classification and regression learners in MLR 2.4
September 11, 2015, 04:55:02
3.7.12

In core weka:

  • GUIChooser now has a plugin exension point that allows implementations of GUIChooser.GUIChooserMenuPlugin to appear as entries in either the Tools or Visualization menus
  • SubsetByExpression filter now has support for regexp matching
  • weka.classifiers.IterativeClassifierOptimizer - a classifier that can efficiently optimize the number of iterations for a base classifier that implements IterativeClassifier
  • Speedup for LogitBoost in the two class case
  • weka.filters.supervised.instance.ClassBalancer - a simple filter to balance the weight of classes
  • New class hierarchy for stopwords algorithms. Includes new methods to read custom stopwords from a file and apply multiple stopwords algorithms
  • Ability to turn off capabilities checking in Weka algorithms. Improves runtime for ensemble methods that create a lot of simple base classifiers
  • Memory savings in weka.core.Attribute
  • Improvements in runtime for SimpleKMeans and EM
  • weka.estimators.UnivariateMixtureEstimator - new mixture estimator

In packages:

  • New discriminantAnalysis package. Provides an implementation of Fisher's linear discriminant analysis
  • Quartile estimators, correlation matrix heat map and k-means++ clustering in distributed Weka
  • Support for default settings for GridSearch via a properties file
  • Improvements in scripting with addition of the offical Groovy console (kfGroovy package) from the Groovy project and TigerJython (new tigerjython package) as the Jython console via the GUIChooser
  • Support for the latest version of MLR in the RPlugin package
  • EAR4 package contributed by Vahid Jalali
  • StudentFilters package contributed by Chris Gearhart
  • graphgram package contributed by Johannes Schneider
December 17, 2014, 03:04:17
3.7.11

In core weka:

  • Bagging and RandomForest are now faster if the base learner is a WeightedInstancesHandler
  • Speed-ups for REPTree and other classes that use entropy calculations
  • Many other code improvements and speed-ups
  • Additional statistics available in the output of LinearRegression and SimpleLinearRegression. Contributed by Chris Meyer
  • Reduced memory consumption in BayesNet
  • Improvements to the package manager: load status of individual packages can now be toggled to prevent a package from loading; "Available" button now displays the latest version of all available packages that are compatible with the base version of Weka
  • RandomizableFilteredClassifier
  • Canopy clusterer
  • ImageViewer KnowledgeFlow component
  • PMML export support for Logistic. Infrastructure and changes contributed by David Person
  • Extensive tool-tips now displayed in the Explorer's scheme selector tree lists
  • Join KnowledgeFlow component for performing an inner join on two incoming streams/data sets

In packages:

  • IWSSembeded package, contributed by Pablo Bermejo
  • CVAttributeEval package, contributed by Justin Liang
  • distributedWeka package for Hadoop
  • Improvements to multiLayerPerceptrons and addtion of MLPAutoencoder
  • Code clean-up in many packages
April 24, 2014, 10:13:12
3.7.10

http://sourceforge.net/projects/weka/files/weka-3-7/3.7.10/README-3-7-10.txt/view

July 31, 2013, 05:27:43
3.7.9

http://sourceforge.net/projects/weka/files/weka-3-7/3.7.9/README-3-7-9.txt/view

February 24, 2013, 09:13:22
3.7.8

http://sourceforge.net/projects/weka/files/weka-3-7/3.7.8/README-3-7-8.txt/view

January 25, 2013, 01:37:56
3.7.7

http://sourceforge.net/projects/weka/files/weka-3-7/3.7.7/README-3-7-7.txt/view

August 17, 2012, 02:23:06
3.7.6

http://sourceforge.net/projects/weka/files/weka-3-7/3.7.6/README-3-7-6.txt/view

May 11, 2012, 03:59:26
3.7.5

http://sourceforge.net/projects/weka/files/weka-3-7/3.7.5/README-3-7-5.txt/view

October 31, 2011, 09:09:36
3.7.4

http://sourceforge.net/projects/weka/files/weka-3-7/3.7.4/README-3-7-4.txt/view

June 30, 2011, 11:04:14
3.7.3

Initial Announcement on mloss.org.

December 10, 2010, 00:10:01
3.7.2

Initial Announcement on mloss.org.

August 2, 2010, 11:17:22
3.7.1

Initial Announcement on mloss.org.

January 12, 2010, 21:50:10
3.7.0

Initial Announcement on mloss.org.

June 5, 2009, 05:38:28
3.6.0

Initial Announcement on mloss.org.

November 11, 2007, 22:24:02

Comments

No one has posted any comments yet. Perhaps you'd like to be the first?

Leave a comment

You must be logged in to post comments.