All Projects → apache → predictionio-template-java-ecom-recommender

apache / predictionio-template-java-ecom-recommender

Licence: Apache-2.0 License
PredictionIO E-Commerce Recommendation Engine Template (Java-based parallelized engine)

Programming Languages

java
68154 projects - #9 most used programming language
python
139335 projects - #7 most used programming language
scala
5932 projects

Projects that are alternatives of or similar to predictionio-template-java-ecom-recommender

predictionio-sdk-ruby
PredictionIO Ruby SDK
Stars: ✭ 192 (+433.33%)
Mutual labels:  big-data, predictionio
predictionio-template-similar-product
PredictionIO Similar Product Engine Template (Scala-based parallelized engine)
Stars: ✭ 50 (+38.89%)
Mutual labels:  big-data, predictionio
Attic Predictionio
PredictionIO, a machine learning server for developers and ML engineers.
Stars: ✭ 12,522 (+34683.33%)
Mutual labels:  big-data, predictionio
predictionio
PredictionIO, a machine learning server for developers and ML engineers.
Stars: ✭ 12,510 (+34650%)
Mutual labels:  big-data, predictionio
predictionio-template-attribute-based-classifier
PredictionIO Classification Engine Template (Scala-based parallelized engine)
Stars: ✭ 38 (+5.56%)
Mutual labels:  big-data, predictionio
predictionio-sdk-python
PredictionIO Python SDK
Stars: ✭ 199 (+452.78%)
Mutual labels:  big-data, predictionio
predictionio-template-recommender
PredictionIO Recommendation Engine Template (Scala-based parallelized engine)
Stars: ✭ 80 (+122.22%)
Mutual labels:  big-data, predictionio
predictionio-sdk-java
PredictionIO Java SDK
Stars: ✭ 107 (+197.22%)
Mutual labels:  big-data, predictionio
predictionio-template-ecom-recommender
PredictionIO E-Commerce Recommendation Engine Template (Scala-based parallelized engine)
Stars: ✭ 73 (+102.78%)
Mutual labels:  big-data, predictionio
predictionio-sdk-php
PredictionIO PHP SDK
Stars: ✭ 269 (+647.22%)
Mutual labels:  big-data, predictionio
pyspark-cheatsheet
PySpark Cheat Sheet - example code to help you learn PySpark and develop apps faster
Stars: ✭ 115 (+219.44%)
Mutual labels:  big-data
big-sorter
Java library that sorts very large files of records by splitting into smaller sorted files and merging
Stars: ✭ 49 (+36.11%)
Mutual labels:  big-data
vxquery
Mirror of Apache VXQuery
Stars: ✭ 19 (-47.22%)
Mutual labels:  big-data
spark-acid
ACID Data Source for Apache Spark based on Hive ACID
Stars: ✭ 91 (+152.78%)
Mutual labels:  big-data
big data
A collection of tutorials on Hadoop, MapReduce, Spark, Docker
Stars: ✭ 34 (-5.56%)
Mutual labels:  big-data
alluxio-py
Alluxio Python client - Access Any Data Source with Python
Stars: ✭ 18 (-50%)
Mutual labels:  big-data
hyper-engine
Python library for Bayesian hyper-parameters optimization
Stars: ✭ 80 (+122.22%)
Mutual labels:  big-data
bftkv
A distributed key-value storage that's tolerant to Byzantine fault.
Stars: ✭ 27 (-25%)
Mutual labels:  big-data
AverageShiftedHistograms.jl
⚡ Lightning fast density estimation in Julia ⚡
Stars: ✭ 52 (+44.44%)
Mutual labels:  big-data
awesome-AI-kubernetes
❄️ 🐳 Awesome tools and libs for AI, Deep Learning, Machine Learning, Computer Vision, Data Science, Data Analytics and Cognitive Computing that are baked in the oven to be Native on Kubernetes and Docker with Python, R, Scala, Java, C#, Go, Julia, C++ etc
Stars: ✭ 95 (+163.89%)
Mutual labels:  big-data

E-Commerce Recommendation Template in Java

Documentation

Please refer to https://predictionio.apache.org/templates/javaecommercerecommendation/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

  • Bump version number to track PredictionIO version
  • Sets default build targets according to PredictionIO
  • Fix compilation issue with Scala 2.11

v0.11.0-incubating

  • Update to build with PredictionIO 0.11.0-incubating
  • Rename Java package name
  • Update SBT and plugin versions

v0.1.2

add "org.jblas" dependency in build.sbt

v0.1.1

  • parallelize filtering valid items

v0.1.0

  • initial version

Development Notes

Import Sample Data

$ python data/import_eventserver.py --access_key <your_access_key>

Query

normal:

$ curl -H "Content-Type: application/json" \
-d '{
  "userEntityId" : "u1",
  "number" : 10 }' \
http://localhost:8000/queries.json
$ curl -H "Content-Type: application/json" \
-d '{
  "userEntityId" : "u1",
  "number": 10,
  "categories" : ["c4", "c3"]
}' \
http://localhost:8000/queries.json
curl -H "Content-Type: application/json" \
-d '{
  "userEntityId" : "u1",
  "number": 10,
  "whitelist": ["i21", "i26", "i40"]
}' \
http://localhost:8000/queries.json
curl -H "Content-Type: application/json" \
-d '{
  "userEntityId" : "u1",
  "number": 10,
  "blacklist": ["i21", "i26", "i40"]
}' \
http://localhost:8000/queries.json

unknown user:

curl -H "Content-Type: application/json" \
-d '{
  "userEntityId" : "unk1",
  "number": 10}' \
http://localhost:8000/queries.json

Handle New User

new user:

curl -H "Content-Type: application/json" \
-d '{
  "userEntityId" : "x1",
  "number": 10}' \
http://localhost:8000/queries.json

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"
}'

Handle Unavailable Items

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"
}'
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].