how recommend similar interest people

User 1752 | 4/12/2015, 6:04:53 PM

Hello , I use recommend method but , I not able calculate how I will be use recommend method for similar interested people .

<b class="Bold">What I want</b> >> I want to recommend people who has similar interest , but I not able to calculate how ?

Dataset filed are following >>

UserID Username Interest Location Groups Workplace
1 Sam Web Development CA asp.net CA ........................................................... as like that.

How I do that using https://dato.com/learn/gallery/notebooks/fivelinerecommender.html ?

Please help , I really appreciate your help in advance. Thanks

Comments

User 940 | 4/16/2015, 12:40:24 AM

Hi @Pkdato

Unfortunately, we do not currently support this feature. However, there is a workaround. You can switch users and items and re-train the model. So in the case of the 5-line recommender, you would be recommending people(who are similar) for each interest(in this case a movie).

Does this help?

Cheers! -Piotr


User 1752 | 4/16/2015, 10:18:18 PM

Hi, Thanks for reply , It can be possible in dato or not ? other option ?

Please can you create a example for me ? please give me example with syntax . {You can switch users and items and re-train the model. So in the case of the 5-line recommender, you would be recommending people(who are similar) for each interest(in this case a movie).}

Its really helpful , if I get a example in it.

Thanks


User 940 | 4/21/2015, 5:24:11 PM

Hi Pkdato,

Sorry for the delay.

In short, it should be possible in Dato.

In order to give a good code example, it'd be helpful to have a little more information about the data. Would it be possible to link to some sample data?

If not, I have the following questions:

1.) Can each person have multiple interests? Or is there only one row of data per user_id?

2.) Are you interested in giving recommendations based on only the interest field, or also other fields(such as workplace, location, etc.) present in the dataset.

Cheers! -Piotr


User 1752 | 4/25/2015, 11:26:34 AM

Hi Piotr,

Sorry for the delay.

In short, I am collecting richer data set for example. Please check the attachment below .

1.) Each person can have multiple interests.

2.) Yes , Other fields, like workplace, location, etc..

In attachment there two sheet , #1 is raw data set , #2 shorted data set , also you can modify and adjust according to your requirement and need.

Please let me know if you want more info about the data set and reset other issue.

I really appreciate you help .

Thanks Waiting for reply


User 940 | 4/27/2015, 3:03:18 PM

Hi @Pkdato ,

I'm going to start out by saying that you will need much more data to make recommender learn anything useful. However, here's a code snippet that should help you out:

import graphlab sf = graphlab.SFrame('/Users/piotrteterwak/Desktop/assist.csv') m = graphlab.recommender.create(sf, item_id='Idx', user_id='Interest') #Flipped users and items m.get_similar_items([182710451]) # ID of first person

I also modified the csv a little bit. For some reason the forum is not allowing me to attach it, but I filled in the missing rows in the Idx column.

I hope this helps!

Cheers! -Piotr


User 1752 | 4/27/2015, 4:54:12 PM

Hi @piotr ,

Thank you very much for providing help, but I am having some questions and issues.

  1. Please take a look to image and check my result is correct according to you.?
  2. Please also check the second result by {results = model.recommend(users=None, k=5)}, its right?

Issues

  1. How I able to figure out similar Interest , bcoz sometimes I see that by regenerating code the Interest Item is changed by mean( rank 1 -10) ?
  2. So in first table hard to find that for which interest item its calculated. There is any way to also show the interest items there ?
  3. How I able to see full data {results = model.recommend(users=None, k=5) }, for all rank , not only 10 rows.

Thanks Waiting for reply


User 940 | 4/27/2015, 6:56:21 PM

Hi @Pkdato ,

First, your results look correct.

  1. Similar interests can be calculated as follows: m = graphlab.recommender.create(sf, user_id='Idx', item_id='Interest') # Flip user and item back m.get_similar_items(['Programming'])#similar items to Programming
  2. This is only calculating similar users. Basically what happens is the model learns some representation of the user(which is independent of the representation of the interest), and you find other users with similar representations.

  3. Remove the .head() from your final line.

I hope this helps!

Cheers! -Piotr