Actually each Template has different “event” interpretation. @Vaghawan is 
giving the interpretation of a recommender. Other Templates will use the event 
fields in different ways so we should backup to that a Template is and does and 
what the rest of PIO does.

 - Template: code that implements some AI/Machine Learning algorithm. An 
instance of a Template with accompanying engine.json is called and Engine. Each 
engine uses event made of the same JSON bits but interprets them in a way 
needed for the algorithm
 - EventServer: a saver of datasets, called “apps” in PIO terminology. The 
stream of events is stored, on per “app” with an appName and app ID. These are 
input into PIO Engines

The model created by an Engine is not part of the storage or naming conventions 
of PIO, each Engine stores them in different ways and formats.

Event fields have different meaning and can convey a wide variety of data but 
each time you look at how to form events you should start with Template 
documentation. Event Recommenders are different, for instance the ALS 
recommenders require $set events to define items to be recommended, but the 
Universal Recommender does not, it finds them from what users interact with 
(buy, view, like, etc)

So @Ravi if you can tell us what Template you are using we can be more 
specific. 


On Apr 12, 2017, at 5:03 AM, Vaghawan Ojha <[email protected]> wrote:

Hi, 

1. event: event means the name of your event, forsay "buy", "view" , "rate", 
"like". (It's not a model name) 
2. entityType is always user, since the event corresponds to a user's event. 
3. EntityId correspond to a user ID. 
4. properties can vary, for example I might pass a category id of a particular 
purchase event, or something like that. 

A basic event would look something like this: 

{"entityId":"User1","entityType":"user","event":"buy","targetEntityType":"item","targetEntityId":"Product1"}
{"entityId":"User2","entityType":"user","event":"buy","targetEntityType":"item","targetEntityId":"Product2"}
{"entityId":"User3","entityType":"user","event":"view","targetEntityType":"item","targetEntityId":"Product5"}

I hope this helps

On Wed, Apr 12, 2017 at 5:42 PM, Ravi Kiran <[email protected] 
<mailto:[email protected]>> wrote:
Hi, 
I am getting started with prediction IO. I need clarification about prediction 
IO event creation api terminology. I want someone to verify if my understanding 
of terminology is correct.

As per terminology here 
<http://predictionio.incubator.apache.org/datacollection/eventapi/#>, 

1) Does 'event' mean model name?

2) 'entityType' is analogous to table name. Can I consider entityType is like 
name of dataset (features and dependent variable data set)

3) 'entityId' is like row number of data set

4) attributes in 'properties' mean features (or variables)

I want someone to confirm if my above assumptions are correct?


Reply via email to