Developing Real-World Machine Learning Applications with PredictionIO

David Jones
Feb 13, 2015

Last night at the SF Machine Learning meet up I enjoyed watching a presentation by Simon Chan: Building Real-world Machine Learning Apps with PredictionIO and Spark MLlib. I had the pleasure of meeting Simon and Isabelle from PredictionIO.

Simon Chan speaking at the SF Machine Learning meet up

Simon Chan speaking at the SF Machine Learning meet up.

The SF Machine Learning meet up often has technical talks about algorithm advancements or optimisations. I found it refreshing to hear Simon state there are a number of popular and effective algorithms that have already been accurately implemented and optimised. While algorithm advancements are extremely important for the future of the field, putting the rubber on the road and making use of what we have today is just as important. For our clients, it's vital.

Being a web and mobile application consulting company, we have to deal with the harsh realities of writing production software. It has to be reliable, stable and easy to maintain. We also serve our clients well when we're able to deliver great value in a short amount of time. PredictionIO is one way of getting up and running quickly with machine learning while keeping maintenance to a minimum.

Simon outlined the high level architecture of a PredictionIO engine, named DASE:

  1. Data - includes Data Source and Data Preparator
  2. Algorithm(s)
  3. Serving
  4. Evaluator

The DASE architecture outline resonated with what others are using in their own machine learning stacks. When multiple people independently implement common architecture, it makes a lot of sense to roll that into a framework. PredictionIO provides the role of that framework.

We were one of PredictionIO's early users and it's been interesting to see them grow and how the project has changed. Going from version 0.7 to 0.8 the user interface has been taken away. There was also mention about how earlier users were skewed towards using recommender systems because that's what it offered. While we currently fit into this category, I like where PredictionIO is headed. Their stack looks more customisable than ever and that opens up the opportunity to solve more unique problems while solving common ones with their provided templates.

Join The Conversation

Share and start a conversation about this post

More On The Blog

Ready To Get Started?

Find out how we can help you achieve your goals by booking a free consultation today.

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
Brand Image