User-based Collaborative Filtering Algorithms?

User 5193 | 5/16/2016, 10:45:07 AM

How do I use User-based Collaborative Filtering Algorithms? Or flexible as some api?

Comments

User 1207 | 5/16/2016, 6:19:41 PM

Hello @parkjoonho,

I'm not sure what specifically you are looking for, so I'm not sure how to answer your question. We have two main models for doing this, an item similarity model and a factorization model. The former uses user ratings or interactions to build a network of items with similar user access patterns, and the second tries to do the same thing but with matrix factorization techniques. A good place to get started with these is at https://dato.com/learn/userguide/recommender/introduction.html.

Hope that helps! -- Hoyt


User 5193 | 5/17/2016, 7:49:35 AM

I have only variable is whether or not the user has, announcements, queries. I like to use a collaborative user base algorithm and algorithm-based items. Are you using some api? Are dato has a user base collaboration algorithm?


User 1207 | 5/17/2016, 4:07:45 PM

Hello @parkjoonho,

I believe the item_similarity recommender models should give you what you want. It uses users to choose items that are similar. The link I sent gives you the API to get started. Let me know if that works for you.

Thanks! -- Hoyt


User 5193 | 5/18/2016, 8:19:54 AM

hello @hoytak Thank answers to my questions It had written to leverage the API has given you. Is it possible to review the correct Use-base CF? And I want to see user-specific results. Do you use any API?


import graphlab as gl sf = gl.SFrame.read.csv('test.csv') sf ** data table view gl.canvas.set_target('ipynb') sf['userid','itemid'].show() len(sf) users = sf['user_id'].unique() items = sf['itemid'].unique() train.test = gl. recommender.util.randomsplitbyuser(sf, userid="userid", itemid="itemid") model = gl.recommender.create(train, "userid", "itemid") results = model.recommend()


I want to see per user items.

ex)

userid | itemid | rank aaaaa | 111111 | 1 aaaaa | 111112 | 1 aaaaa | 111121 | 1 aaaaa | 112111 | 1 aaaaa | 111221 | 1 aaaaa | 121112 | 1


User 1207 | 5/18/2016, 5:46:52 PM

Hi @parkjoonho,

I think the API you want to use for getting user-specific recommendations is at https://dato.com/products/create/docs/generated/graphlab.recommender.itemsimilarityrecommender.ItemSimilarityRecommender.recommend.html#graphlab.recommender.itemsimilarityrecommender.ItemSimilarityRecommender.recommend. In other words, you can call the recommend() method with a number of arguments, including which users you want recommendations for.

You can also type model.recommend? in ipython and it will show you what the API is for the recommend function.

Hope that helps! -- Hoyt


User 5193 | 5/26/2016, 8:40:48 AM

hi @hoytak , Given you you api confirmed. But I do not know how I should use. You can give some more explanation? I have written code to send attachments. request.