predictionio-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Donald Szeto <don...@apache.org>
Subject Re: Empty result even though there are events
Date Wed, 05 Apr 2017 03:19:05 GMT
Are you using the appName in engine.json that corresponds to the appId you
used when you did `pio import`? Setting a new appName in engine.json will
not automatically create a new app. Apps are created when you do `pio app
new`.

On Tue, Apr 4, 2017 at 8:13 PM Vaghawan Ojha <vaghawan781@gmail.com> wrote:

Hi,

Yes, I couldn't use different appName. Even when I changed the appName in
engine.json and did pio build, the app name in pio app list still reamins
the same. Something to do with the pio itself, I guess.

Thank you very much for your support.

On Mon, Apr 3, 2017 at 6:58 PM, Pat Ferrel <pat@occamsmachete.com> wrote:

I am unclear. What is the problem? You can’t use different datasets
(different appNames)?

What is the output of `pio app list`


On Apr 2, 2017, at 9:06 PM, Vaghawan Ojha <vaghawan781@gmail.com> wrote:

Hi,

Thank you, I did the changes. But whenever I changed the appname and did
pio build its Ok, but while training it says invalid appname for any other
app name. I'm missing something, however when I left the appname as
handmade, it works.

Now the data and recommendation are all working. Thank you very much, I
used engine.json.minimum. I will be testing other features, like cart
recommendation. Here's my engine.json

{
  "comment":" This config file uses default settings for all but the
required values see README.md for docs",
  "id": "default",
  "description": "Default settings",
  "engineFactory": "org.template.RecommendationEngine",
  "datasource": {
    "params" : {
      "name": "sample-handmade-data.txt",
      "appName": "handmade",
      "eventNames": ["purchase", "view"]
    }
  },
  "sparkConf": {
    "spark.serializer": "org.apache.spark.serializer.KryoSerializer",
    "spark.kryo.registrator": "org.apache.mahout.sparkbindings.io
.MahoutKryoRegistrator",
    "spark.kryo.referenceTracking": "false",
    "spark.kryoserializer.buffer.mb": "300",
    "spark.kryoserializer.buffer": "300m",
    "es.index.auto.create": "true"
  },
  "algorithms": [
    {
      "comment": "simplest setup where all values are default, popularity
based backfill, must add eventsNames",
      "name": "ur",
      "params": {
        "appName": "handmade",
        "indexName": "urindex",
        "typeName": "items",
        "comment": "must have data for the first event or the model will
not build, other events are optional",
        "eventNames": ["purchase", "view"]
      }
    }
  ]
}

I was very curious, what does this means: "name":
"sample-handmade-data.txt",
Thanks


On Sat, Apr 1, 2017 at 1:29 AM, Pat Ferrel <pat@occamsmachete.com> wrote:

You have active date range filters and no dates in your data. This is
because you are using the engine.json from the integration test, which uses
that config.

Start form engine.json.minimum and set the appName for your data and the
eventNames you will use.


On Mar 31, 2017, at 12:52 AM, Vaghawan Ojha <vaghawan781@gmail.com> wrote:

More info: I don't have the secondary event like "View" in my data, I just
don't collect the view event, since I'm using old purchased history of the
user.

With integration test data everything is Ok, but with my real data, it's
not.  All the data looks like this with varying item_id and user_id. There
is no view events.

{"entityId":"00068116","entityType":"user","event":"purchase","targetEntityType":"item","targetEntityId":"BM8941"}
{"entityId":"00068116","entityType":"user","event":"purchase","targetEntityType":"item","targetEntityId":"BM8920"}
{"entityId":"00088894","entityType":"user","event":"purchase","targetEntityType":"item","targetEntityId":"BM66336"}
{"entityId":"00097710","entityType":"user","event":"purchase","targetEntityType":"item","targetEntityId":"BM42110"}
{"entityId":"00097710","entityType":"user","event":"purchase","targetEntityType":"item","targetEntityId":"BM61833"}
{"entityId":"00097710","entityType":"user","event":"purchase","targetEntityType":"item","targetEntityId":"BM65826"}
{"entityId":"00097710","entityType":"user","event":"purchase","targetEntityType":"item","targetEntityId":"BM40182"}
{"entityId":"00097710","entityType":"user","event":"purchase","targetEntityType":"item","targetEntityId":"BM5001"}

Is my data wrong? I am able to successfully  train and deploy the engine.

On Fri, Mar 31, 2017 at 11:40 AM, Vaghawan Ojha <vaghawan781@gmail.com>
wrote:

I've 50000 transection data for experiment. I don't  think it's the data
because with the same data I could get recommendation using Recommendation
template.

On Fri, Mar 31, 2017 at 11:29 AM, Vaghawan Ojha <vaghawan781@gmail.com>
wrote:

Hi,

I imported the bulk data using pio import --appid (id) --input  data.json .
The import was successful, then I build and trained and deployed the UR,
but when I query the server, it always returns a empty
json {"itemScores":[]} .


I think,  I must be missing something in the config, here is my engine.json

{
  "comment":" This config file uses default settings for all but the
required values see README.md for docs",
  "id": "default",
  "description": "Default settings",
  "engineFactory": "org.template.RecommendationEngine",
  "datasource": {
    "params" : {
      "name": "sample-handmade-data.txt",
      "appName": "handmade",
      "eventNames": ["purchase", "view"]
    }
  },
  "sparkConf": {
    "spark.serializer": "org.apache.spark.serializer.KryoSerializer",
    "spark.kryo.registrator": "org.apache.mahout.sparkbindings.io
.MahoutKryoRegistrator",
    "spark.kryo.referenceTracking": "false",
    "spark.kryoserializer.buffer": "300m",
    "es.index.auto.create": "true"
  },
  "algorithms": [
    {
      "comment": "simplest setup where all values are default, popularity
based backfill, must add eventsNames",
      "name": "ur",
      "params": {
        "appName": "handmade",
        "indexName": "urindex",
        "typeName": "items",
        "comment": "must have data for the first event or the model will
not build, other events are optional",
        "indicators": [
          {
            "name": "purchase"
          },{
            "name": "view",
            "maxCorrelatorsPerItem": 50
          }
        ],
        "availableDateName": "available",
        "expireDateName": "expires",
        "dateName": "date",
        "num": 4
      }
    }
  ]
}

is the data supposed to come from the sample-handmade-data.txt? I'm not
sure this is weird. My json data import and trains correctly without an
error. And example integration runs fine.




-- 
You received this message because you are subscribed to the Google Groups
"actionml-user" group.
To unsubscribe from this group and stop receiving emails from it, send an
email to actionml-user+unsubscribe@googlegroups.com.
To post to this group, send email to actionml-user@googlegroups.com.
To view this discussion on the web visit
https://groups.google.com/d/msgid/actionml-user/CA%2B69RXbRLmJXz7k%2BaB%2BPp1i1ZA0gmvH0U8U2kMzZ%2B-stgx-xjA%40mail.gmail.com
<https://groups.google.com/d/msgid/actionml-user/CA%2B69RXbRLmJXz7k%2BaB%2BPp1i1ZA0gmvH0U8U2kMzZ%2B-stgx-xjA%40mail.gmail.com?utm_medium=email&utm_source=footer>
.
For more options, visit https://groups.google.com/d/optout.



-- 
You received this message because you are subscribed to the Google Groups
"actionml-user" group.
To unsubscribe from this group and stop receiving emails from it, send an
email to actionml-user+unsubscribe@googlegroups.com.
To post to this group, send email to actionml-user@googlegroups.com.
To view this discussion on the web visit
https://groups.google.com/d/msgid/actionml-user/CA%2B69RXbiz0ghijds%2B3X8Z8fO%3DQOnwVxY_TWh_Pg%3DHqVMsFziAQ%40mail.gmail.com
<https://groups.google.com/d/msgid/actionml-user/CA%2B69RXbiz0ghijds%2B3X8Z8fO%3DQOnwVxY_TWh_Pg%3DHqVMsFziAQ%40mail.gmail.com?utm_medium=email&utm_source=footer>
.
For more options, visit https://groups.google.com/d/optout.

Mime
View raw message