Laravel 5 wrapper for PredictionIO v0.9.*
*Based on michaeljhopkins
The Laravel PredictionIO library provides a client which offers easy access to a PredictionIO recommendation engine. PredictionIO is an open source machine learning server for software developers to create predictive features, such as personalization, recommendation and content discovery.
Through a small set of simple calls, all server functionality is exposed to your application. You can add users and items,
register actions between these users and items and retrieve recommendations deduced from this information by any
PredictionIO recommendation engine. Applications range from showing recommended products in a
web shop to discovering relevant experts in a social collaboration network.
- Install library and dependencies:
$ composer require "linkthrow/laravel-5-predictionio"
- Add a provider in
- Add an alias in
'EngineClient' => LinkThrow\LaravelPredictionIO\Facades\EngineFacade::class, 'EventClient' => LinkThrow\LaravelPredictionIO\Facades\EventFacade::class,
- Define your PredictionIO API endpoint in
'predictionio' => [ 'key' => '0250b3f85ce33284f77c77f36b41010ef2c4fc5c', 'url' => 'http://localhost:7200' ],
// assume you have a user with user ID 5 $response = EventClient::setUser(5);
// assume you have a book with ID 'bookId1' and we assign 1 as the type ID for book $response = EventClient::setItem('bookId1', array('itypes' => 1));
// assume this user has viewed this book item EventClient::recordUserActionOnItem('view', 5, 'bookId1');
// assume you have created an itemrank engine on localhost:8000 // we try to get ranking of 5 items (item IDs: 1, 2, 3, 4, 5) for a user (user ID 7) $response = EngineClient::sendQuery(array('uid'=>7, 'iids'=>array(1,2,3,4,5))); print_r($response);
This project is licensed using DBAD. Go have a blast.