Introduction
In this chapter and the following, chapter we will cover recipes that use machine-learning techniques to learn patterns from data. These patterns are the center of attention for at least three key machine-learning tasks: classification, regression, and clustering. Classification is the task of predicting a value from a nominal class. In contrast to classification, regression models attempt to predict a value from a numeric class. Finally, clustering is the technique of grouping of data points based on their proximity.
There are many Java-based tools, workbenches, libraries, and APIs that can be used for research and development in the areas of machine learning mentioned earlier. One of the most popular tools is Waikato Environment of Knowledge Analysis (Weka), which is a free software licensed under the GNU General Public License. It is written in Java and has a very good collection of data preparation and filtering options, classical machine learning algorithms with customizable...