Return to page

BLOG

Replay: Modeling MNIST With RF Hands-on Demo

 headshot

By H2O.ai Team | minute read | September 05, 2013

Category: Uncategorized
Blog decorative banner image

Last week Spencer put together a great hands on for modeling data using H2O (http://www.meetup.com/H2Omeetup/).  This post is a write-up of the workflow for generating an RF model on MNIST data for those of you who want to walk through the demo again, or maybe missed the live action version.  I’m running through one of our local servers, with an allocation to H2O of 20 gigs.
RF on MNIST data:  Spencer used a data set of pre-GPUed MNIST data similar to that provided by Kaggle in a currently running competition.  If you’re interested in some of the different approaches to the MNIST data (including Neural Nets and K Nearest Neighbors) I highly recommend taking a look at http://yann.lecun.com/exdb/mnist/ .
Problem : The training data are 60,000 observations of 786 variables, testing data are 10,000 observations. Each independent variable corresponds to one square pixel of  an image. The value given for any variable indicates the level of saturation of the pixel.  Results are given and discussed below. Here is the step by step process for generating these results.

  1. Starting at the drop down menu Data inhale and parse data (both the testing and training sets).
  2. From the Model drop down menu choose **Random Forest**
    Mnist table
  3. Set Ntree = 50, and Features = 200. Leave all other options in default.  Note that H2O automatically ignores all constant columns, so you need not sort through the data summary by hand  to find those variables.Request Rf form
  4. Step 3 generates a model, the confusion matrix shown below is the output of this model.
  5. The model key is at the top of the RF results page; highlight and copy it. From the drop down menu Score, select RF.RFview data key
  6. In the specification page for scoring your RF model enter the .hex  key for your testing data, paste the model key, specify the dependent variable column, and submit.Request RFscore

At this point you have built a model and verified that it works. In practice, the motivation is generally to actually predict an outcome of interest – which you can now do with this same model by returning to the drop down menu Score and selecting Predict . Feeding  Predict data with the same predictors as contained in your training set produces a column of predictions matching each observation.
Results:   In an RF model of 50 trees,  features set to 200, and all other options left in default, H2O produces this confusion matrix.Confusion matrix 
Testing the generated RF model on the test set  produces a classification  error of 3.28%.Confusion matrix full scoring 
So- there you have it. A walkthrough of Spencer’s meetup presentation that you can follow step by step.

 headshot

H2O.ai Team

At H2O.ai, democratizing AI isn’t just an idea. It’s a movement. And that means that it requires action. We started out as a group of like minded individuals in the open source community, collectively driven by the idea that there should be freedom around the creation and use of AI.

Today we have evolved into a global company built by people from a variety of different backgrounds and skill sets, all driven to be part of something greater than ourselves. Our partnerships now extend beyond the open-source community to include business customers, academia, and non-profit organizations.