Сходство косинус руке и GraphLab recommender косинуса параметр те же output не встречают?

Я пробую создавать систему рекомендации в руку и с помощью graphlab item_similarity_recommender. Однако, они не дают мне те же output.

В руку

Здесь эта, как он блистает данными. Есть eclipse_id, реклама, с subscriber_id. В центре ты считаешь эту, что времена subscriber работал с рекламой:

enter image description here

Сегодня давайте вычислять массив сходства и рекламы рекомендации для каждого usario. data_ibs находится массив сходства между рекламой. Этот null сначала.

# iteramos sobre las lineas
from scipy.spatial.distance import cosine
for i in range(0,len(data_ibs.columns)) :
    # iteramos sobre las columnas
    for j in range(0,len(data_ibs.columns)) :
      # llenamos la matriz con coseno  semejanza
      data_ibs.iloc[i,j] = 1-cosine(data.iloc[:,i],data.iloc[:,j])

# Creamos una matriz para las publicidades similares con otras publicidades
data_neighbours = pd.DataFrame(index=data_ibs.columns,columns=range(1,11))

# iteremos sobre la matriz de semejanza coseno para escribir las correctas y escribir las publicidades id 
for i in range(0,len(data_ibs.columns)):
    data_neighbours.iloc[i,:10] = data_ibs.iloc[0:,i].sort_values(ascending=False)[:10].index

data_neighbours.head(6).iloc[:6,1:6]
# Hay un error : 6413 da 6413

data_neighbour

Utilisemos прогресс реклама:

data_recommend = pd.DataFrame(index=data_sims.index, columns=['user','1','2','3','4','5','6'])
data_recommend.iloc[0:,0] = data_sims.iloc[:,0]

Вместо utilisar Ваш пунктуация, мы хотим Ваш пойдите:

for i in range(0,len(data_sims.index)):
    data_recommend.iloc[i,1:] = data_sims.iloc[i,:].sort_values(ascending=False).iloc[1:7,].index.transpose()

И здесь - рекомендация:

recommendation sample: subscriber 13 has ad 10411 recommended for instance

GraphLab рекомендация

# Leemos users file:
products = pd.DataFrame(listado)
products['eclipse_id'] = products['eclipse_id'].fillna(0).astype(int)
sf = SFrame(data=products)
print sf
ratings_base,ratings_test = sf.random_split(.8, seed=0)

Здесь мы формируем алгоритм

personalized_model = graphlab.item_similarity_recommender.create(ratings_base, user_id='subscriber_id', item_id='eclipse_id', target='count', similarity_type='cosine')

Или здесь - рекомендация первого пользователя:

personalized_model.recommend(users=[users[0]])

graphlab recommnedation system : subscriber 13 has ad 6565 recommended

Поскольку они могут видеть это, есть острое различие между двумя системами.

Я связываю между системами:

В модели, созданной в руку, соединение будь с listado что находится массив в формате JSON.

df = pd.DataFrame(listado)
data = df.fillna(0).astype(int)

Заключение и вопрос:

Потому что косинус сходство, созданный в руку и и graphlab item_similarity_recommender созданный с cosine параметр система рекомендации не имейте того же output? Ошибка есть?

6
задан 05.06.2017, 21:29
0 ответов