The UR uses Elasticsearch for part of the Recommender algorithm, therefor it 
must be configured as a storage backend. It is possible to use Postgres or 
MySQL for the other stores but we have very little experience with this. HBase 
is indefinitely scalable so we always use that. Single machine deployments are 
rare with a reasonably sized data so Elasticsearch + Hbase running separately 
or in clusters will always meet the data needs. The RDBs will not and anyway, 
like I said you have to use Elasticsearch.

Therefore for the UR follow instructions on the ActionML site since they are 
specific to the UR. For other templates you may use other configurations of PIO 
but if you use the UR config you can also use every template too.


On Mar 23, 2017, at 9:07 AM, Vaghawan Ojha <[email protected]> wrote:

Hi, Thank you! 

I came into further more confusion here, actually I installed prediction IO 
version 0.10.0 from here 
http://predictionio.incubator.apache.org/install/install-sourcecode/ 
<http://predictionio.incubator.apache.org/install/install-sourcecode/>  and 
have been fighting to configure mysql as a storage in my local linux machine. 

But I see there is a different documentation of installing in actionml website, 
I'm not sure for which I would have to go. Currently there is no "pio-env.sh".  
file inside conf folder however there is pio-env.sh.template file. I commented 
the pgsql section and uncommented the mysql section with the username and 
password, but whenever I do . sudo PredictionIO-0.10.0-incubating/bin/pio 
eventserver there seems to be an error that says that authentication failed 
with pgsql, however I don't want to use pgsql. 

# Storage Repositories

# Default is to use PostgreSQL
PIO_STORAGE_REPOSITORIES_METADATA_NAME=pio_meta
PIO_STORAGE_REPOSITORIES_METADATA_SOURCE=PGSQL

PIO_STORAGE_REPOSITORIES_EVENTDATA_NAME=pio_event
PIO_STORAGE_REPOSITORIES_EVENTDATA_SOURCE=PGSQL

PIO_STORAGE_REPOSITORIES_MODELDATA_NAME=pio_model
PIO_STORAGE_REPOSITORIES_MODELDATA_SOURCE=PGSQL

# Storage Data Sources

# PostgreSQL Default Settings
# Please change "pio" to your database name in PIO_STORAGE_SOURCES_PGSQL_URL
# Please change PIO_STORAGE_SOURCES_PGSQL_USERNAME and
# PIO_STORAGE_SOURCES_PGSQL_PASSWORD accordingly
#PIO_STORAGE_SOURCES_PGSQL_TYPE=jdbc
#PIO_STORAGE_SOURCES_PGSQL_URL=jdbc:postgresql://localhost/pio
#PIO_STORAGE_SOURCES_PGSQL_USERNAME=pio
#PIO_STORAGE_SOURCES_PGSQL_PASSWORD=pio

# MySQL Example
 PIO_STORAGE_SOURCES_MYSQL_TYPE=jdbc
 PIO_STORAGE_SOURCES_MYSQL_URL=jdbc:mysql://localhost/pio
 PIO_STORAGE_SOURCES_MYSQL_USERNAME=root
 PIO_STORAGE_SOURCES_MYSQL_PASSWORD=root


This is how the pio-env.sh.template looks like. And again when I visited the 
actionml site, it suggests that I do have to have ELASTICSEARCH. but 
prediction.io <http://prediction.io/> site doesn't tells us the same. Which one 
should I follow and where would I find the current working version of 
installation guide. I actually wanaa use prediction.io <http://prediction.io/> 
in my production shortly after I implemented in local. 

Please help me, thank you very much for your help, I appreciate it so much.
Vaghawan


On Thu, Mar 23, 2017 at 9:27 PM, Pat Ferrel <[email protected] 
<mailto:[email protected]>> wrote:
Since PIO has moved to Apache, the namespace of PIO code changed and so all 
templates need to be updated. None of the ones in  
https://github.com/PredictionIO/ 
<https://github.com/PredictionIO/template-scala-parallel-universal-recommendation>
 will work with Apache PIO. For the upgraded UR see: 
https://github.com/actionml/universal-recommender 
<https://github.com/actionml/universal-recommender> Docs for the UR are here: 
http://actionml.com/docs/ur <http://actionml.com/docs/ur> 

Also look on the Template gallery page here for a description of template 
status. Some have not been moved to the new namespace and converted to run with 
PIO but this is pretty easy to do yourself. 
http://predictionio.incubator.apache.org/gallery/template-gallery/ 
<http://predictionio.incubator.apache.org/gallery/template-gallery/>

user_id, product_id and purchase_date is all you need to use any recommender. 
If you plan to gather other events in the future, use the UR. As far as item or 
user based recommendations, the UR will give either based on the query with the 
same data and model, as some others will do. The UR allows you to mix both 
types in a single query, which may be useful with small amounts of individual 
user data.

Also the accepted wisdom about this it to put item-based recs on item detail 
pages, and user-based recs elsewhere, when you don’t have an item to base recs 
on, or in another placement on any page.

You can have many different placements of recs in any page by changing the 
queries. This is how Netflix gets rows and rows of specialized recs for 
different things all based on the same data. The UR queries are quite flexible.


On Mar 23, 2017, at 7:08 AM, Vaghawan Ojha <[email protected] 
<mailto:[email protected]>> wrote:

Hi, 

I've been trying to deploy a recommendation system using 
https://github.com/PredictionIO/template-scala-parallel-universal-recommendation
 
<https://github.com/PredictionIO/template-scala-parallel-universal-recommendation>.
 

I've purchase history of user something like this: 
user_id, product_id and purchase_date, so I will be using user_id and 
product_id to determine the recommendation. I'm not sure if I would be able to 
customize the default even parameter. 

Do you have any suggestions like which template would be more suitable for my 
problem. I don't have data like rating or view state, I only have data about 
user and product they purchased. I need something like item based similarity as 
well as user based item similarity. 

Any help would be great

Thank you
Vaghawan



Reply via email to