You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@predictionio.apache.org by Ravi Kiran <ra...@gmail.com> on 2017/04/12 11:57:36 UTC

Terminology in event creation API

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?

Re: Terminology in event creation API

Posted by Pat Ferrel <pa...@occamsmachete.com>.
Not all templates have been ported to Apache PIO from the older namespace. Porting them is usually pretty easy. The template gallery advertises which are ported and which need to be ported.


On Apr 12, 2017, at 9:04 AM, YOUSSEF ASSATA <as...@gmail.com> wrote:

well for example this : https://github.com/detrevid/predictionio-template-classification-dl4j <https://github.com/detrevid/predictionio-template-classification-dl4j>
it's on your templates but it not working anymore 
so ?
ᐧ

2017-04-12 17:01 GMT+01:00 Pat Ferrel <pat@occamsmachete.com <ma...@occamsmachete.com>>:
Which classification template? There should be docs on the github README.md for using it. Also the Template Gallery on the PIO site gives a support link.

We’ll do our best to answer here but I for one have not used the classification templates.



On Apr 12, 2017, at 8:53 AM, Ravi Kiran <ravi.gunale@gmail.com <ma...@gmail.com>> wrote:

@Pat, I am using classification template. In this context, what is meaning of above terminology.

On 12-Apr-2017 9:17 PM, "Pat Ferrel" <pat@occamsmachete.com <ma...@occamsmachete.com>> wrote:
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 <vaghawan781@gmail.com <ma...@gmail.com>> 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 <ravi.gunale@gmail.com <ma...@gmail.com>> 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?






Re: Terminology in event creation API

Posted by YOUSSEF ASSATA <as...@gmail.com>.
well for example this :
https://github.com/detrevid/predictionio-template-classification-dl4j
it's on your templates but it not working anymore
so ?
ᐧ

2017-04-12 17:01 GMT+01:00 Pat Ferrel <pa...@occamsmachete.com>:

> Which classification template? There should be docs on the github
> README.md for using it. Also the Template Gallery on the PIO site gives a
> support link.
>
> We’ll do our best to answer here but I for one have not used the
> classification templates.
>
>
>
> On Apr 12, 2017, at 8:53 AM, Ravi Kiran <ra...@gmail.com> wrote:
>
> @Pat, I am using classification template. In this context, what is meaning
> of above terminology.
>
> On 12-Apr-2017 9:17 PM, "Pat Ferrel" <pa...@occamsmachete.com> wrote:
>
>> 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 <va...@gmail.com> 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 <ra...@gmail.com>
>> 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?
>>>
>>
>>
>>
>

Re: Terminology in event creation API

Posted by Pat Ferrel <pa...@occamsmachete.com>.
Which classification template? There should be docs on the github README.md for using it. Also the Template Gallery on the PIO site gives a support link.

We’ll do our best to answer here but I for one have not used the classification templates.


On Apr 12, 2017, at 8:53 AM, Ravi Kiran <ra...@gmail.com> wrote:

@Pat, I am using classification template. In this context, what is meaning of above terminology.

On 12-Apr-2017 9:17 PM, "Pat Ferrel" <pat@occamsmachete.com <ma...@occamsmachete.com>> wrote:
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 <vaghawan781@gmail.com <ma...@gmail.com>> 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 <ravi.gunale@gmail.com <ma...@gmail.com>> 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?




Re: Terminology in event creation API

Posted by Ravi Kiran <ra...@gmail.com>.
@Pat, I am using classification template. In this context, what is meaning
of above terminology.

On 12-Apr-2017 9:17 PM, "Pat Ferrel" <pa...@occamsmachete.com> wrote:

> 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 <va...@gmail.com> 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 <ra...@gmail.com> 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?
>>
>
>
>

Re: Terminology in event creation API

Posted by Pat Ferrel <pa...@occamsmachete.com>.
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 <va...@gmail.com> 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 <ravi.gunale@gmail.com <ma...@gmail.com>> 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?



Re: Terminology in event creation API

Posted by Vaghawan Ojha <va...@gmail.com>.
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 <ra...@gmail.com> 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?
>