Giving a detailed explanation of machine learning is beyond the scope of this book. For this purpose, there are other excellent resources that I have listed here:
Machine Learning by Andrew Ng at Coursera (https://www.coursera.org/course/ml)
Foundations of Machine Learning (Adaptive Computation and Machine Learning series) by Mehryar Mohri, Afshin Rostamizadeh, and Ameet Talwalker
However, basic machine learning concepts are explained very briefly here, for those who are not familiar with it.
Machine learning is an area of artificial intelligence that focuses on learning from the available data to make predictions on unseen data without explicit programming.
To solve real-world problems using machine learning, we first need to represent the characteristics of the problem domain using features.
A feature is a distinct, measurable, heuristic property of the item of interest being perceived. We need to consider the features that have the greatest potential in discriminating between different categories.
Let's explain the difference between supervised learning and unsupervised learning using a simple example of pebbles:
Supervised learning: Take a collection of mixed pebbles, as given in the preceding figure, and categorize (label) them as small, medium, and large pebbles. Examples of supervised learning are regression and classification.
Unsupervised learning: Here, just group them based on similar sizes but don't label them. An example of unsupervised learning is clustering.
For a machine to perform learning tasks, it requires features such as the diameter and weight of each pebble.
This book will cover how to implement the following machine learning techniques using Apache Mahout:
Clustering
Classification and regression
Recommendations