使用者畫像構建步驟:
使用者畫像建立
import pandas as pd
import numpy as np
from gensim.models import tfidfmodel
from functools import
reduce
import collections
from pprint import pprint
# ......
'''user profile畫像建立:
1. 提取使用者**列表
3. 根據詞頻排序,最多保留top-k個詞,這裡k設為100,作為使用者的標籤
'''def
create_user_profile()
: watch_record = pd.read_csv(
"datasets/ml-latest-small/ratings.csv"
, usecols=
range(2
), dtype=
) watch_record = watch_record.groupby(
"userid"
).agg(
list
)# print(watch_record)
movie_dataset = get_movie_dataset(
) movie_profile = create_movie_profile(movie_dataset)
user_profile =
for uid, mids in watch_record.itertuples():
record_movie_prifole = movie_profile.loc[
list
(mids)
] counter = collections.counter(
reduce
(lambda x, y:
list
(x)+
list
(y), record_movie_prifole[
"profile"
].values)
)# 興趣詞
interest_words = counter.most_common(50)
maxcount = interest_words[0]
[1] interest_words =
[(w,
round
(c/maxcount,4)
)for w,c in interest_words]
user_profile[uid]
= interest_words
return user_profile
user_profile = create_user_profile(
)pprint(user_profile)
基於內容和使用者畫像的個性化推薦
目前比較流行的個性化推薦演算法有以下幾種 本文所講述的基於內容和使用者畫像的個性化推薦屬於第一種。對於此種推薦,有兩個實體 內容和使用者,因此需要有乙個聯絡這兩者的東西,即為標籤。內容轉換為標籤即為內容特徵化,使用者則稱為使用者特徵化。對於此種推薦,主要分為以下幾個關鍵部分 綜合上面講述的各個部分即...
如何實現基於內容和使用者畫像的個性化推薦
基於內容和使用者畫像的個性化推薦,有兩個實體 內容和使用者。需要有乙個聯絡這兩者的東西,即為標籤。內容轉換為標籤即為內容特徵化,使用者則稱為使用者特徵化。因此,對於此種推薦,主要分為以下幾個關鍵部分 綜合上面講述的各個部分即可實現乙個基於內容和使用者畫像的個性化推薦系統。如下圖所示 標籤庫 標籤是聯...
基於使用者喜好以及電影型別的電影推薦演算法
電影推薦是推薦演算法應用的重要場景。其中比較受歡迎的是基於內容的推薦演算法以及協同濾波演算法。其中基於內容的推薦演算法通過分析電影的標題,演員等資訊對使用者進行推薦。而協同濾波演算法的原理是物理類聚,人以群分,將興趣愛好相同的人聚集起來,向他們推薦互相喜歡的電影。但是這兩種演算法在資訊不全時會無法使...