| 
  • If you are citizen of an European Union member nation, you may not use this service unless you are at least 16 years old.

View
 

FrontPage

Page history last edited by mike@mbowles.com 9 years, 1 month ago

Machine Learning on Big Data with MapReduce

Course objectives:  
Participants will learn to author and execute machine learning algorithms in the map reduce framework.  Participants should finish the class able to author their own machine learning algorithms for map reduce and to run them on Amazon Web Services. 


Participants will learn to use python code to author mappers and reducers for “hadoop-streaming”.  For most of the class we will employ “mrjob” - an open-source framework developed at Yelp.  Employing mrjob enables class members to program mappers and reducers in python.  The mrjob framework then submits the mapper-reducer to run locally without using hadoop, to run on Amazon Web Services, or to run them on a private hadoop cluster.  This will simplify the programming tasks.

Schedule: Here's a tentative schedule to give a rough idea of what we intend to cover.  This may change somewhat to meet the interests of the class participants. 

 

Week/Date
Topic
Notes
Week 1
Implementing Algorithms on Big Data
 
 
MapReduce, Hadoop Streaming, Mahout, Amazon (AWS, EMR)

Lecture 1,

mrjob installation

 
mrjob
Lecture 2  
Week 2
Clustering
Lecture 3  
 
k-means, Canopy Clustering

kMeans  

1st Exercises

 
Guassian Mixture Model - EM 

Canopy-EMMixture  

2ndExercises

Week 3
Supervised Learning
 
 
EM algo for mixture model, using canopy for speedup
kMeansWCanopy  
 

Finish unsupervised learning,

Intro to supervised learning

after session on details of EM algo

Lecture6

Project Suggestions  

Week 4 Other ML Tasks
 
Regularized Regression - glmnet algo for elasticnet Lecture 7  
 
Association Rules - a priori rule
Lecture 9  
Week 5 Student Projects   
 

 Other topics

   Decision Trees - Google PLANET

   Text Mining, recommender systems

 
 
Student Projects 1
 
 
Student Projects 2  

 



Prerequisites:
-Facility with undergrad level math and stats (vector calculus, density functions, etc.)
-Comfortable programming  basic python (version 2.6 or 2.7 NOT version 3). 

-You'll also need to develop some familiarity with Numpy - ("random" family of functions, matrix(), array())
-Install mrjob and boto (these are both python installations)
-Familiarity with basic machine learning.  

 

Background Material:

 

Reference material for python

Here's a page with links to Python tutorial to help you learn python.  python references DO NOT INSTALL Python VERSION 3 - it has incompatibilities.  You can find python at www.python.org

 

mrjob

Here's some installation help with mrjob. mrjob installation We'll have a wide variety of different OS and capabilities.  If you make discoveries about the process when you install, add info the the mrjob installation page. 

 

Here's some general documentation on mrjob and a google group devoted to it:  mrjob resources

 

Amazon Web Services

You'll need to sign up for AWS.  This page has step-by-step signup directions:  AWS

 

Ricky Ho's Blog

 

Ricky Ho (one of the members of our class) has put great explanations on his blog.  Have a look at them. 

http://horicky.blogspot.com/2011/04/k-means-clustering-in-map-reduce.html

http://horicky.blogspot.com/2010/08/designing-algorithmis-for-map-reduce.html

http://horicky.blogspot.com/2010/08/mapreduce-to-recommend-people.html

http://horicky.blogspot.com/2010/07/graph-processing-in-map-reduce.html

http://horicky.blogspot.com/2008/11/hadoop-mapreduce-implementation.html

 

Registration:

Register for the class at:  http://machinelearningbigdata.eventbrite.com/

 

People have asked to attend this class remotely, so we've added a teleconference ticket on eventbrite.  We need signups for remote attendees at least one day before the event so we have time to communicate connection info.

 

Thank you to amazon web services for sponsoring this class. 

 

Comments (0)

You don't have permission to comment on this page.