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.