Merge pull request #17 from takezoe/mark-override Mark override methods
Merge pull request #17 from takezoe/mark-override
Mark override methods
Please refer to https://predictionio.apache.org/templates/ecommercerecommendation/quickstart/
Update for Apache PredictionIO 0.14.0
Update for Apache PredictionIO 0.13.0
Change from ALSAlgorithm.scala to ECommAlgorithm.scala
add some unit tests for testing code that may be customized
update for PredictionIO 0.9.2, including:
$ python data/import_eventserver.py --access_key <your_access_key>
normal:
$ curl -H "Content-Type: application/json" \ -d '{ "user" : "u1", "num" : 10 }' \ http://localhost:8000/queries.json \ -w %{time_connect}:%{time_starttransfer}:%{time_total}
$ curl -H "Content-Type: application/json" \ -d '{ "user" : "u1", "num": 10, "categories" : ["c4", "c3"] }' \ http://localhost:8000/queries.json \ -w %{time_connect}:%{time_starttransfer}:%{time_total}
curl -H "Content-Type: application/json" \ -d '{ "user" : "u1", "num": 10, "whiteList": ["i21", "i26", "i40"] }' \ http://localhost:8000/queries.json \ -w %{time_connect}:%{time_starttransfer}:%{time_total}
curl -H "Content-Type: application/json" \ -d '{ "user" : "u1", "num": 10, "blackList": ["i21", "i26", "i40"] }' \ http://localhost:8000/queries.json \ -w %{time_connect}:%{time_starttransfer}:%{time_total}
unknown user:
curl -H "Content-Type: application/json" \ -d '{ "user" : "unk1", "num": 10}' \ http://localhost:8000/queries.json \ -w %{time_connect}:%{time_starttransfer}:%{time_total}
new user:
curl -H "Content-Type: application/json" \ -d '{ "user" : "x1", "num": 10}' \ http://localhost:8000/queries.json \ -w %{time_connect}:%{time_starttransfer}:%{time_total}
import some view events and try to get recommendation for x1 again.
accessKey=<YOUR_ACCESS_KEY>
curl -i -X POST http://localhost:7070/events.json?accessKey=$accessKey \ -H "Content-Type: application/json" \ -d '{ "event" : "view", "entityType" : "user" "entityId" : "x1", "targetEntityType" : "item", "targetEntityId" : "i2", "eventTime" : "2015-02-17T02:11:21.934Z" }' curl -i -X POST http://localhost:7070/events.json?accessKey=$accessKey \ -H "Content-Type: application/json" \ -d '{ "event" : "view", "entityType" : "user" "entityId" : "x1", "targetEntityType" : "item", "targetEntityId" : "i3", "eventTime" : "2015-02-17T02:12:21.934Z" }'
Set the following items as unavailable (need to specify complete list each time when this list is changed):
curl -i -X POST http://localhost:7070/events.json?accessKey=$accessKey \ -H "Content-Type: application/json" \ -d '{ "event" : "$set", "entityType" : "constraint" "entityId" : "unavailableItems", "properties" : { "items": ["i43", "i20", "i37", "i3", "i4", "i5"], } "eventTime" : "2015-02-17T02:11:21.934Z" }'
Set empty list when no more items unavailable:
curl -i -X POST http://localhost:7070/events.json?accessKey=$accessKey \ -H "Content-Type: application/json" \ -d '{ "event" : "$set", "entityType" : "constraint" "entityId" : "unavailableItems", "properties" : { "items": [], } "eventTime" : "2015-02-18T02:11:21.934Z" }'
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802032778号
E-Commerce Recommendation Template
Documentation
Please refer to https://predictionio.apache.org/templates/ecommercerecommendation/quickstart/
Versions
v0.14.0
Update for Apache PredictionIO 0.14.0
v0.13.0
Update for Apache PredictionIO 0.13.0
v0.12.0-incubating
v0.11.0-incubating
v0.5.0
v0.4.0
Change from ALSAlgorithm.scala to ECommAlgorithm.scala
add some unit tests for testing code that may be customized
v0.3.1
v0.3.0
update for PredictionIO 0.9.2, including:
v0.2.0
v0.1.1
v0.1.0
Development Notes
import sample data
query
normal:
unknown user:
handle new user
new user:
import some view events and try to get recommendation for x1 again.
handle unavailable items
Set the following items as unavailable (need to specify complete list each time when this list is changed):
Set empty list when no more items unavailable: