Build and Deploy
Machine Intelligence
in a fraction of the time.

PredictionIO - An open-source machine learning server for developers
and data scientists to create predictive engines for production environments, with zero downtime training and deployment.

Built on top of Apache Spark, HBase and Spray.

What is PredictionIO?
PredictionIO has been a game changer for us. It's helped us to rapidly prototype our data science in a way that simply wouldn't be possible without it.

Marty Hu,

Technical Lead of Dropbox

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.

David Jones,

Technical Director of Resolve Digital

Build Predictive Engines Fast
$ pio template get
$ cd MyEngine
$ pio build; pio train; pio deploy

Start with an Engine Template

  • Choose a template from the gallery:
    Recommendation, classification, similar product discovery and more...
  • Deploy it as a web service easily
Data Source - readTraining()
Data Preparator - prepare()
Algorithm: - train()
- predict()
Serving - serve()
Evaluator - evaluate()

Customize Code with Software Design Pattern

  • Customize engine code for your specific need
  • Separate-of-concern with DASE - the "MVC" for Machine Learning
  • Built-in support to Spark MLlib, or create your own algorithm
cli = predictionio.EventClient("<my_app_id>")
# predict top preferences
eng = predictionio.EngineClient("<my_engine_url>")
rec = eng.send_query({"uid":"John","n":5})

Connect to your App with SDKs

  • Simple REST APIs and SDKs for app integration
  • Distributed deployment ready

Unify Data for Predictive Analytics


Speed Up Data Science

PredictionIO platform handles the routine work so that you can focus on solving your unique data problems.

Model Selection

Automate hyperparameter optimization processes for your engine. Compare multiple algorithms and settings at the same time.

Accuracy Evaluation

Conduct simulated evaluation with one of the built-in measures, or create your own measures. Live evaluation is also supported.

History and Versioning

Keep track of evaluation results with algorithm versioning and setting history.

Parallel Processing

Speed up evaluation work by processing models in parallel.

Start building cool things with PredictionIO

Get Started

Please take a look at the Docs. It is helpful to read through a few examples.

Get Help

Join our Forum to discuss, get help and help others in the PredictionIO community.

Get Involved

Check out the source code on GitHub and report issues on the Bug Tracker.