Pick a tab for the type of template you are looking for. Some still need to be ported (a simple process) to Apache PIO and these are marked. Also see each Template description for special support instructions.

The Universal Recommender

Use for:

  • Personalized recommendations—user-based
  • Similar items—item-based
  • Viewed this bought that—item-based cross-action
  • Popular Items and User-defined ranking
  • Item-set recommendations for complimentarty purchases or shopping carts—item-set-based
  • Hybrid collaborative filtering and content based recommendations—limited content-based
  • Business rules

The name "Universal" refers to the use of this template in virtually any case that calls for recommendations - ecommerce, news, videos, virtually anywhere user behavioral data is known. This recommender uses the new Cross-Occurrence (CCO) algorithm to auto-correlate different user actions (clickstream data), profile data, contextual information (location, device), and some content types to make better recommendations. It also implements flexible filters and boosts for implementing business rules.

Support: The Universal Recommender user group


Type Language License Status PIO min version Apache PIO Convesion Required
Parallel Scala Apache Licence 2.0 stable 0.10.0-incubating already compatible

Recommendation

An engine template is an almost-complete implementation of an engine. PredictionIO's Recommendation Engine Template has integrated Apache Spark MLlib's Collaborative Filtering algorithm by default. You can customize it easily to fit your specific needs.

Support: Apache PredictionIO mailing lists


Type Language License Status PIO min version Apache PIO Convesion Required
Parallel Scala Apache Licence 2.0 stable 0.10.0-incubating already compatible

E-Commerce Recommendation

This engine template provides personalized recommendation for e-commerce applications with the following features by default:

  • Exclude out-of-stock items
  • Provide recommendation to new users who sign up after the model is trained
  • Recommend unseen items only (configurable)
  • Recommend popular items if no information about the user is available (added in template version v0.4.0)

Support: Apache PredictionIO mailing lists


Type Language License Status PIO min version Apache PIO Convesion Required
Parallel Scala Apache Licence 2.0 alpha 0.10.0-incubating already compatible

Similar Product

This engine template recommends products that are "similar" to the input product(s). Similarity is not defined by user or item attributes but by users' previous actions. By default, it uses 'view' action such that product A and B are considered similar if most users who view A also view B. The template can be customized to support other action types such as buy, rate, like..etc

Support: Apache PredictionIO mailing lists


Type Language License Status PIO min version Apache PIO Convesion Required
Parallel Scala Apache Licence 2.0 stable 0.10.0-incubating already compatible

E-Commerce Recommendation (Java)

This engine template provides personalized recommendation for e-commerce applications with the following features by default:

  • Exclude out-of-stock items
  • Provide recommendation to new users who sign up after the model is trained
  • Recommend unseen items only (configurable)
  • Recommend popular items if no information about the user is available

Support: Apache PredictionIO mailing lists


Type Language License Status PIO min version Apache PIO Convesion Required
Parallel Java Apache Licence 2.0 alpha 0.9.3 requires conversion

Product Ranking

This engine template sorts a list of products for a user based on his/her preference. This is ideal for personalizing the display order of product page, catalog, or menu items if you have large number of options. It creates engagement and early conversion by placing products that a user prefers on the top.

Support:


Type Language License Status PIO min version Apache PIO Convesion Required
Parallel Scala Apache Licence 2.0 stable 0.9.2 requires conversion

Complementary Purchase

This engine template recommends the complementary items which most user frequently buy at the same time with one or more items in the query.

Support:


Type Language License Status PIO min version Apache PIO Convesion Required
Parallel Scala Apache Licence 2.0 alpha 0.9.2 requires conversion

Music Recommendations

This is very similar to music recommendations template. It is integrated with all the events a music application can have such as song played, liked, downloaded, purchased, etc.

Support: Github issues


Type Language License Status PIO min version Apache PIO Convesion Required
Parallel Scala Apache Licence 2.0 alpha 0.9.2 requires conversion

Viewed This Bought That

This Engine uses co-occurence algorithm to match viewed items to bought items. Using this engine you may predict which item the user will buy, given the item(s) browsed.

Support: Github issues


Type Language License Status PIO min version Apache PIO Convesion Required
Parallel Scala Apache Licence 2.0 stable 0.9.2 requires conversion

Frequent Pattern Mining

Template uses FP Growth algorithm allowing to mine for frequent patterns. Template returns subsequent items together with confidence score. Sometimes used as a shopping cart recommender but has other uses.

Support: Github issues


Type Language License Status PIO min version Apache PIO Convesion Required
Parallel Scala Apache Licence 2.0 alpha 0.9.5 requires conversion

Similar Product with Rating

Similar product template with rating support! Used for the MovieLens Demo.

Support: Github issues


Type Language License Status PIO min version Apache PIO Convesion Required
Parallel Scala Apache Licence 2.0 beta 0.9.0 requires conversion

Frequent Pattern Mining

Template uses FP Growth algorithm allowing to mine for frequent patterns. Template returns subsequent items together with confidence score.

Support: Github issues


Type Language License Status PIO min version Apache PIO Convesion Required
Parallel Scala Apache Licence 2.0 alpha 0.9.5 requires conversion

Classification

An engine template is an almost-complete implementation of an engine. PredictionIO's Classification Engine Template has integrated Apache Spark MLlib's Naive Bayes algorithm by default.

Support: Apache PredictionIO mailing lists


Type Language License Status PIO min version Apache PIO Convesion Required
Parallel Scala Apache Licence 2.0 stable 0.9.2 already compatible

Classification

This engine template is an almost-complete implementation of an engine meant to used with PredictionIO. This Multi-label Classification Engine Template has integrated LingPipe (http://alias-i.com/lingpipe/) algorithm by default.

Support:


Type Language License Status PIO min version Apache PIO Convesion Required
Parallel Java Apache Licence 2.0 stable 0.9.5 already compatible

Lead Scoring

This engine template predicts the probability of an user will convert (conversion event by user) in the current session.

Support:


Type Language License Status PIO min version Apache PIO Convesion Required
Parallel Scala Apache Licence 2.0 alpha 0.9.2 requires conversion

Text Classification

Use this engine for general text classification purposes. Uses OpenNLP library for text vectorization, includes t.f.-i.d.f.-based feature transformation and reduction, and uses Spark MLLib's Multinomial Naive Bayes implementation for classification.

Support: Github issues


Type Language License Status PIO min version Apache PIO Convesion Required
Parallel Scala Apache Licence 2.0 alpha 0.9.2 requires conversion

Churn Prediction - H2O Sparkling Water

This is an engine template with Sparkling Water integration. The goal is to use Deep Learning algorithm to predict the churn rate for a phone carrier's customers.

Support: Github issues


Type Language License Status PIO min version Apache PIO Convesion Required
Parallel Scala Apache Licence 2.0 alpha 0.9.2 requires conversion

Classification Deeplearning4j

A classification engine template that uses Deeplearning4j library.

Support: Github issues


Type Language License Status PIO min version Apache PIO Convesion Required
Parallel Scala Apache Licence 2.0 alpha 0.9.2 requires conversion

Probabilistic Classifier (Logistic Regression w/ LBFGS)

A PredictionIO engine template using logistic regression (trained with limited-memory BFGS ) with raw (probabilistic) outputs.

Support: Github issues


Type Language License Status PIO min version Apache PIO Convesion Required
Parallel Scala MIT License alpha 0.9.2 requires conversion

Document Classification with OpenNLP

Document Classification template with OpenNLP GISModel.

Support: Github issues


Type Language License Status PIO min version Apache PIO Convesion Required
Parallel Scala Apache Licence 2.0 alpha 0.9.0 requires conversion

Circuit End Use Classification

A classification engine template that uses machine learning models trained with sample circuit energy consumption data and end usage to predict the end use of a circuit by its energy consumption history.

Support: Github issues


Type Language License Status PIO min version Apache PIO Convesion Required
Parallel Scala Apache Licence 2.0 alpha 0.9.1 requires conversion

GBRT_Classification

The Gradient-Boosted Regression Trees(GBRT) for classification.

Support: Github issues


Type Language License Status PIO min version Apache PIO Convesion Required
Parallel Scala Apache Licence 2.0 alpha 0.9.2 requires conversion

MLlib-Decision-Trees-Template

An engine template is an almost-complete implementation of an engine. This is a classification engine template which has integrated Apache Spark MLlib's Decision tree algorithm by default.

Support: Github issues


Type Language License Status PIO min version Apache PIO Convesion Required
Parallel Scala Apache Licence 2.0 alpha 0.9.0 requires conversion

Classification with MultiLayerNetwork

This engine template integrates the MultiLayerNetwork implementation from the Deeplearning4j library into PredictionIO. In this template, we use PredictionIO to classify the widely-known IRIS flower dataset by constructing a deep-belief net.

Support: Github issues


Type Language License Status PIO min version Apache PIO Convesion Required
Parallel Scala Apache Licence 2.0 alpha 0.9.0 requires conversion

Deeplearning4j RNTN

Recursive Neural Tensor Network algorithm is supervised learning algorithm used to predict sentiment of sentences. This template is based on deeplearning4j RNTN example: https://github.com/SkymindIO/deeplearning4j-nlp-examples/tree/master/src/main/java/org/deeplearning4j/rottentomatoes/rntn. It's goal is to show how to integrate deeplearning4j library with PredictionIO.

Support: Github issues


Type Language License Status PIO min version Apache PIO Convesion Required
Parallel Scala Apache Licence 2.0 alpha 0.9.2 requires conversion

classifier-kafka-streaming-template

The template will provide a simple integration of DASE with kafka using spark streaming capabilites in order to play around with real time notification, messages ..

Support: Github issues


Type Language License Status PIO min version Apache PIO Convesion Required
Parallel Scala Apache Licence 2.0 alpha - requires conversion

Sentiment Analysis - Bag of Words Model

This sentiment analysis template uses a bag of words model. Given text, the engine will return sentiment as 1.0 (positive) or 0.0 (negative) along with scores indicating how +ve or -ve it is.

Support: Github issues


Type Language License Status PIO min version Apache PIO Convesion Required
Parallel Scala Apache Licence 2.0 stable 0.10.0-incubating already compatible

Classification template for Iris

This is Python(PySpark) based classification example for Iris dataset.

Support:


Type Language License Status PIO min version Apache PIO Convesion Required
Parallel Python Apache Licence 2.0 stable 0.12.0-incubating

Survival Regression

Survival regression template is based on brand new Spark 1.6 AFT (accelerated failure time) survival analysis algorithm. There are interesting applications of survival analysis like:

  • Business Planning : Profiling customers who has a higher survival rate and make strategy accordingly.
  • Lifetime Value Prediction : Engage with customers according to their lifetime value
  • Active customers : Predict when the customer will be active for the next time and take interventions accordingly. * Campaign evaluation : Monitor effect of campaign on the survival rate of customers.
Source: http://www.analyticsvidhya.com/blog/2014/04/survival-analysis-model-you/

Support: Blog post


Type Language License Status PIO min version Apache PIO Convesion Required
Parallel Scala Apache Licence 2.0 beta 0.9.5 requires conversion

Sparkling Water-Deep Learning Energy Forecasting

This Engine Template demonstrates an energy forecasting engine. It integrates Deep Learning from the Sparkling Water library to perform energy analysis. We can query the circuit and time, and return predicted energy usage.

Support: Github issues


Type Language License Status PIO min version Apache PIO Convesion Required
Parallel Scala Apache Licence 2.0 alpha 0.9.2 requires conversion

Electric Load Forecasting

This is a PredictionIO engine for electric load forecasting. The engine is using linear regression with stochastic gradient descent from Spark MLlib.

Support: Github issues


Type Language License Status PIO min version Apache PIO Convesion Required
Parallel Scala Apache Licence 2.0 stable 0.9.2 requires conversion

MLLib-LinearRegression

This template uses the linear regression with stochastic gradient descent algorithm from MLLib to make predictions on real-valued data based on features (explanatory variables)

Support: Github issues


Type Language License Status PIO min version Apache PIO Convesion Required
Parallel Scala Apache Licence 2.0 alpha 0.9.1 requires conversion

Linear Regression BFGS

Modeling the relationship between a dependent variable, y, and one or more explanatory variables, denoted X.

Support:


Type Language License Status PIO min version Apache PIO Convesion Required
Parallel Scala Apache Licence 2.0 beta 0.10.0

Regression template for Boston House Prices

This is Python(PySpark) based regression example for Boston House Prices dataset.

Support:


Type Language License Status PIO min version Apache PIO Convesion Required
Parallel Python Apache Licence 2.0 stable 0.12.0-incubating

Cstablo-template-text-similarity-classification

Text similarity engine based on Word2Vec algorithm. Builds vectors of full documents in training phase. Finds similar documents in query phase.

Support: Github issues


Type Language License Status PIO min version Apache PIO Convesion Required
Parallel Scala Apache Licence 2.0 alpha 0.9.5 requires conversion

Topic Labelling with Wikipedia

This template will label topics (e.g. topic generated through LDA topic modeling) with relevant category by referring to Wikipedia as a knowledge base.

Support: Github issues


Type Language License Status PIO min version Apache PIO Convesion Required
Parallel Scala Apache Licence 2.0 stable 0.10.0-incubating already compatible

Text Classification

Use this engine for general text classification purposes. Uses OpenNLP library for text vectorization, includes t.f.-i.d.f.-based feature transformation and reduction, and uses Spark MLLib's Multinomial Naive Bayes implementation for classification.

Support: Github issues


Type Language License Status PIO min version Apache PIO Convesion Required
Parallel Scala Apache Licence 2.0 alpha 0.9.2 requires conversion

Deeplearning4j RNTN

Recursive Neural Tensor Network algorithm is supervised learning algorithm used to predict sentiment of sentences. This template is based on deeplearning4j RNTN example: https://github.com/SkymindIO/deeplearning4j-nlp-examples/tree/master/src/main/java/org/deeplearning4j/rottentomatoes/rntn. It's goal is to show how to integrate deeplearning4j library with PredictionIO.

Support: Github issues


Type Language License Status PIO min version Apache PIO Convesion Required
Parallel Scala Apache Licence 2.0 alpha 0.9.2 requires conversion

Sentiment Analysis - Bag of Words Model

This sentiment analysis template uses a bag of words model. Given text, the engine will return sentiment as 1.0 (positive) or 0.0 (negative) along with scores indicating how +ve or -ve it is.

Support: Github issues


Type Language License Status PIO min version Apache PIO Convesion Required
Parallel Scala Apache Licence 2.0 stable 0.10.0-incubating already compatible

OpenNLP Sentiment Analysis Template

Given a sentence, this engine will return a score between 0 and 4. This is the sentiment of the sentence. The lower the number the more negative the sentence is. It uses the OpenNLP library.

Support: Github issues


Type Language License Status PIO min version Apache PIO Convesion Required
Parallel Scala Apache Licence 2.0 beta 0.10.0-incubating already compatible

Sentiment analysis

This template implements various algorithms for sentiment analysis, most based on recursive neural networks (RNN) and recursive neural tensor networks (RNTN)[1]. It uses an experimental library called Composable Machine Learning (CML) and the Stanford Parser. The example data set is the Stanford Sentiment Treebank.

Support: Github issues


Type Language License Status PIO min version Apache PIO Convesion Required
Parallel Scala Apache Licence 2.0 alpha 0.9.2 requires conversion

Word2Vec

This template integrates the Word2Vec implementation from deeplearning4j with PredictionIO. The Word2Vec algorithm takes a corpus of text and computes a vector representation for each word. These representations can be subsequently used in many natural language processing applications.

Support: Github issues


Type Language License Status PIO min version Apache PIO Convesion Required
Parallel Scala Apache Licence 2.0 alpha 0.9.0 requires conversion

Spark Deeplearning4j Word2Vec

This template shows how to integrate Deeplearnign4j spark api with PredictionIO on example of app which uses Word2Vec algorithm to predict nearest words.

Support: Github issues


Type Language License Status PIO min version Apache PIO Convesion Required
Parallel Scala Apache Licence 2.0 stable 0.9.2 requires conversion

Sentiment Analysis Template

Given a sentence, return a score between 0 and 4, indicating the sentence's sentiment. 0 being very negative, 4 being very positive, 2 being neutral. The engine uses the stanford CoreNLP library and the Scala binding `gangeli/CoreNLP-Scala` for parsing.

Support: Github issues


Type Language License Status PIO min version Apache PIO Convesion Required
Parallel Scala None stable 0.9.0 requires conversion

Recursive Neural Networks (Sentiment Analysis)

Predicting sentiment of phrases with use of Recursive Neural Network algorithm and OpenNLP parser.

Support: Github issues


Type Language License Status PIO min version Apache PIO Convesion Required
Parallel Scala Apache Licence 2.0 stable 0.9.2 requires conversion

CoreNLP Text Classification

This engine uses CoreNLP to do text analysis in order to classify the category a strings of text falls under.

Support: Github issues


Type Language License Status PIO min version Apache PIO Convesion Required
Parallel Scala Apache Licence 2.0 alpha - requires conversion

MLlibKMeansClustering

This is a template which demonstrates the use of K-Means clustering algorithm which can be deployed on a spark-cluster using prediction.io.

Support: Github issues


Type Language License Status PIO min version Apache PIO Convesion Required
Parallel Scala Apache Licence 2.0 alpha - requires conversion

Topc Model (LDA)

A PredictionIO engine template using Latent Dirichlet Allocation to learn a topic model from raw text

Support: Github issues


Type Language License Status PIO min version Apache PIO Convesion Required
Parallel Scala Apache Licence 2.0 alpha 0.9.4 requires conversion

KMeans-Clustering-Template

forked from PredictionIO/template-scala-parallel-vanilla. It implements the KMeans Algorithm. Can be extended to mainstream implementation with minor changes.

Support: Github issues


Type Language License Status PIO min version Apache PIO Convesion Required
Parallel Scala Apache Licence 2.0 alpha 0.9.2 requires conversion

Topic Labelling with Wikipedia

This template will label topics (e.g. topic generated through LDA topic modeling) with relevant category by referring to Wikipedia as a knowledge base.

Support: Github issues


Type Language License Status PIO min version Apache PIO Convesion Required
Parallel Scala Apache Licence 2.0 stable 0.10.0-incubating already compatible

Content Based SVD Item Similarity Engine

Template to calculate similarity between items based on their attributes—sometimes called content-based similarity. Attributes can be either numeric or categorical in the last case it will be encoded using one-hot encoder. Algorithm uses SVD in order to reduce data dimensionality. Cosine similarity is now implemented but can be easily extended to other similarity measures.

Support: The Universal Recommender user group


Type Language License Status PIO min version Apache PIO Convesion Required
Parallel Scala Apache Licence 2.0 alpha 0.9.2 requires conversion

Cstablo-template-text-similarity-classification

Text similarity engine based on Word2Vec algorithm. Builds vectors of full documents in training phase. Finds similar documents in query phase.

Support: Github issues


Type Language License Status PIO min version Apache PIO Convesion Required
Parallel Scala Apache Licence 2.0 alpha 0.9.5 requires conversion

Similar Product with Rating

Similar product template with rating support! Used for the MovieLens Demo.

Support: Github issues


Type Language License Status PIO min version Apache PIO Convesion Required
Parallel Scala Apache Licence 2.0 beta 0.9.0 requires conversion

Frequent Pattern Mining

Template uses FP Growth algorithm allowing to mine for frequent patterns. Template returns subsequent items together with confidence score.

Support: Github issues


Type Language License Status PIO min version Apache PIO Convesion Required
Parallel Scala Apache Licence 2.0 alpha 0.9.5 requires conversion

template-decision-tree-feature-importance

This template shows how to use spark' decision tree. It enables : - both categorical and continuous features - feature importance calculation - tree output in json - reading training data from a csv file

Support: Github issues


Type Language License Status PIO min version Apache PIO Convesion Required
Parallel Scala Apache Licence 2.0 stable 0.9.0 requires conversion

Skeleton

Skeleton template is for developing new engine when you find other engine templates do not fit your needs. This template provides a skeleton to kick start new engine development.

Support: Apache PredictionIO mailing lists


Type Language License Status PIO min version Apache PIO Convesion Required
Parallel Scala Apache Licence 2.0 stable 0.9.2 already compatible