Hi,

After a year of work, I would like to present PredictionIO project (
https://github.com/PredictionIO) to this community.

When a few of us were doing PhD study, Mahout was the de facto Java package
that we used in many research work. This is a very powerful algorithm
library, yet we see that something needs to be done to make it more
accessible to developers in production environment.

Therefore, we started the idea of PredictionIO, which adds a
developer-friendly REST API, a web admin UI and an integrated
infrastructure on top of Mahout. The project is still at its early stage.
CF algorithm libraries of Mahout is supported currently.

*REST API and SDK* in Python, Ruby, Java, PHP, Node.js etc
Through the API layer, which supports both sync and asycn call, users can:

- Record data
  A sample SDK call:
* cli.identify("John")*
* cli.record_action_on_item("view", "Mahout Page 1")*

- Query recommendation in real-time
  A sample GEO-based recommendation query:
* r = cli.get_itemrec_topn("myEngine", 5, {"pio_latlng":[37.9, 91.2]})*


*Web Admin UI*
Through the UI, users can:
- conduct algorithm evaluation with metrics such as MAP@k
- deploy / switch algorithm on production
- adjust recommendation preferences, such as Freshness, Serendipity,
Unseen-only filter etc


*Integrated Infrastructure*
PredictionIO helps users link Mahout, Hadoop, data store and job scheduler
etc together. The whole stack can be installed and configured in minutes.
It takes care of a lot of production issues, such as model re-training with
new data and prediction result indexing.


We are working hard to make it extremely easy for developers to build
Machine Learning into web and apps. Hopefully, PredictionIO can get Mahout
into the hands of a wider audience.

Love to hear your feedback. If you are interested in the project, just
remember that contributors are always welcome!


Regards,
Simon

Reply via email to