Apache Mahout Cookbook

Whether you’re a beginner or advanced user of Apache Mahout, this cookbook will expand your skills through a host of recipes, illustrations, and real-world examples. Your data mining will take on a totally new level of capability.

Apache Mahout Cookbook

Cookbook
Piero Giacomelli

Whether you’re a beginner or advanced user of Apache Mahout, this cookbook will expand your skills through a host of recipes, illustrations, and real-world examples. Your data mining will take on a totally new level of capability.
$26.99
$44.99
RRP $26.99
RRP $44.99
eBook
Print + eBook
$12.99 p/month

Get Access

Get Unlimited Access to every Packt eBook and Video course

Enjoy full and instant access to over 3000 books and videos – you’ll find everything you need to stay ahead of the curve and make sure you can always get the job done.

Book Details

ISBN 139781849518024
Paperback250 pages

About This Book

  • Learn how to set up a Mahout development environment
  • Start testing Mahout in a standalone Hadoop cluster
  • Learn to find stock market direction using logistic regression
  • Over 35 recipes with real-world examples to help both skilled and the non-skilled developers get the hang of the different features of Mahout

Who This Book Is For

"Apache Mahout Cookbook" is great for developers who want to have a fresh and fast introduction to Mahout coding. No previous knowledge of Mahout is required, and even skilled developers or system administrators will benefit from the various recipes presented.

Table of Contents

Chapter 1: Mahout is Not So Difficult!
Introduction
Installing Java and Hadoop
Setting up a Maven and NetBeans development environment
Coding a basic recommender
Chapter 2: Using Sequence Files – When and Why?
Introduction
Creating sequence files from the command line
Generating sequence files from code
Reading sequence files from code
Chapter 3: Integrating Mahout with an External Datasource
Introduction
Importing an external datasource into HDFS
Exporting data from HDFS to RDBMS
Creating a Sqoop job to deal with RDBMS
Importing data using Sqoop API
Chapter 4: Implementing the Naϊve Bayes classifier in Mahout
Introduction
Using the Mahout text classifier to demonstrate the basic use case
Using the Naïve Bayes classifier from code
Using Complementary Naïve Bayes from the command line
Coding the Complementary Naïve Bayes classifier
Chapter 5: Stock Market Forecasting with Mahout
Introduction
Preparing data for logistic regression
Predicting GOOG movements using logistic regression
Using adaptive logistic regression in Java code
Using logistic regression on large-scale datasets
Using Random Forest to forecast market movements
Chapter 6: Canopy Clustering in Mahout
Introduction
Command-line-based Canopy clustering
Command-line-based Canopy clustering with parameters
Using Canopy clustering from the Java code
Coding your own cluster distance evaluation
Chapter 7: Spectral Clustering in Mahout
Introduction
Using EigenCuts from the command line
Using EigenCuts from Java code
Creating a similarity matrix from raw data
Using spectral clustering with image segmentation
Chapter 8: K-means Clustering
Introduction
Using K-means clustering from Java code
Clustering traffic accidents using K-means
K-means clustering using MapReduce
Using K-means clustering from the command line
Chapter 9: Soft Computing with Mahout
Introduction
Frequent Pattern Mining with Mahout
Creating metrics for Frequent Pattern Mining
Using Frequent Pattern Mining from Java code
Using LDA for creating topics
Chapter 10: Implementing the Genetic Algorithm in Mahout
Introduction
Setting up Mahout for using GA
Using the genetic algorithm over graphs
Using the genetic algorithm from Java code

What You Will Learn

  • Configure from scratch a full development environment for Mahout with NetBeans and Maven
  • Handle sequencefiles for better performance
  • Query and store results into an RDBMS system with SQOOP
  • Use logistic regression to predict the next step
  • Understand text mining of raw data with Naïve Bayes
  • Create and understand clusters
  • Customize Mahout to evaluate different cluster algorithms
  • Use the mapreduce approach to solve real world data mining problems

In Detail

The rise of the Internet and social networks has created a new demand for software that can analyze large datasets that can scale up to 10 billion rows. Apache Hadoop has been created to handle such heavy computational tasks. Mahout gained recognition for providing data mining classification algorithms that can be used with such kind of datasets.

"Apache Mahout Cookbook" provides a fresh, scope-oriented approach to the Mahout world for both beginners as well as advanced users. The book gives an insight on how to write different data mining algorithms to be used in the Hadoop environment and choose the best one suiting the task in hand.

"Apache Mahout Cookbook" looks at the various Mahout algorithms available, and gives the reader a fresh solution-centered approach on how to solve different data mining tasks. The recipes start easy but get progressively complicated. A step-by-step approach will guide the developer in the different tasks involved in mining a huge dataset. You will also learn how to code your Mahout’s data mining algorithm to determine the best one for a particular task. Coupled with this, a whole chapter is dedicated to loading data into Mahout from an external RDMS system. A lot of attention has also been put on using your data mining algorithm inside your code so as to be able to use it in an Hadoop environment. Theoretical aspects of the algorithms are covered for information purposes, but every chapter is written to allow the developer to get into the code as quickly and smoothly as possible. This means that with every recipe, the book provides the code for reusing it using Maven as well as the Maven Mahout source code.

By the end of this book you will be able to code your procedure to do various data mining tasks with different algorithms and to evaluate and choose the best ones for your tasks.

Authors

Table of Contents

Chapter 1: Mahout is Not So Difficult!
Introduction
Installing Java and Hadoop
Setting up a Maven and NetBeans development environment
Coding a basic recommender
Chapter 2: Using Sequence Files – When and Why?
Introduction
Creating sequence files from the command line
Generating sequence files from code
Reading sequence files from code
Chapter 3: Integrating Mahout with an External Datasource
Introduction
Importing an external datasource into HDFS
Exporting data from HDFS to RDBMS
Creating a Sqoop job to deal with RDBMS
Importing data using Sqoop API
Chapter 4: Implementing the Naϊve Bayes classifier in Mahout
Introduction
Using the Mahout text classifier to demonstrate the basic use case
Using the Naïve Bayes classifier from code
Using Complementary Naïve Bayes from the command line
Coding the Complementary Naïve Bayes classifier
Chapter 5: Stock Market Forecasting with Mahout
Introduction
Preparing data for logistic regression
Predicting GOOG movements using logistic regression
Using adaptive logistic regression in Java code
Using logistic regression on large-scale datasets
Using Random Forest to forecast market movements
Chapter 6: Canopy Clustering in Mahout
Introduction
Command-line-based Canopy clustering
Command-line-based Canopy clustering with parameters
Using Canopy clustering from the Java code
Coding your own cluster distance evaluation
Chapter 7: Spectral Clustering in Mahout
Introduction
Using EigenCuts from the command line
Using EigenCuts from Java code
Creating a similarity matrix from raw data
Using spectral clustering with image segmentation
Chapter 8: K-means Clustering
Introduction
Using K-means clustering from Java code
Clustering traffic accidents using K-means
K-means clustering using MapReduce
Using K-means clustering from the command line
Chapter 9: Soft Computing with Mahout
Introduction
Frequent Pattern Mining with Mahout
Creating metrics for Frequent Pattern Mining
Using Frequent Pattern Mining from Java code
Using LDA for creating topics
Chapter 10: Implementing the Genetic Algorithm in Mahout
Introduction
Setting up Mahout for using GA
Using the genetic algorithm over graphs
Using the genetic algorithm from Java code

Book Details

ISBN 139781849518024
Paperback250 pages
Read More