Book Image

Practical Data Analysis - Second Edition

By : Hector Cuesta, Dr. Sampath Kumar
Book Image

Practical Data Analysis - Second Edition

By: Hector Cuesta, Dr. Sampath Kumar

Overview of this book

Beyond buzzwords like Big Data or Data Science, there are a great opportunities to innovate in many businesses using data analysis to get data-driven products. Data analysis involves asking many questions about data in order to discover insights and generate value for a product or a service. This book explains the basic data algorithms without the theoretical jargon, and you’ll get hands-on turning data into insights using machine learning techniques. We will perform data-driven innovation processing for several types of data such as text, Images, social network graphs, documents, and time series, showing you how to implement large data processing with MongoDB and Apache Spark.
Table of Contents (21 chapters)
Practical Data Analysis - Second Edition
Credits
About the Authors
About the Reviewers
www.PacktPub.com
Preface

Grouping and aggregation


In the following example, we will perform grouping and aggregation in order to get statistics (Sum, Max, Min, and Average) about NBA players and which number of points they scored. First, the map function will send the name of the player and the number of points scored for each game. The map function will look like this:

function(){emit(this.player, this.points); }

Then, we can perform all the aggregation functions simultaneously using the sum method from the JavaScript Array object and the max/min functions of the JavaScript Math object. The reduce function will look like this:

function(key, values) {      
      var explain = {total:Array.sum(values),                     
                     max:Math.max.apply(Math, values),                     
					 min:Math.min.apply(Math, values),                     
					 avg:Array.sum(values)/values.length}     
     return explain
}

For this example, we will create synthetic data, randomly mixing the names of the 10 players...