predictionio-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Pat Ferrel <...@occamsmachete.com>
Subject Re: Need a Suggessations
Date Thu, 23 Mar 2017 19:18:32 GMT
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 <vaghawan781@gmail.com> 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 <pat@occamsmachete.com <mailto:pat@occamsmachete.com>>
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 <vaghawan781@gmail.com <mailto:vaghawan781@gmail.com>>
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




Mime
View raw message