这个包将基于内容和用户评分创建推荐,并最终基于这两个数据点提供顶级推荐
hybrid-recommender的Python项目详细描述
混合推荐者
这个包使用多种算法和参数来适应不同的用例集
参数:
- item_集群:int 生成项矩阵的群集数此参数可以调整
- top_结果:int 需要的建议数默认值为10
- ratings\u权重:int 用户评分的权重默认值为1
- content\u权重:int 内容得分的权重。默认值为1
- null_rating_replace:str 用于替换缺失评级的值默认值为“平均”,其他可接受值为“零”、“一”和“最小”
返回:
DataFrame having top recommended results for the list of users
接近:
创建混合推荐类的实例 mr=混合推荐人()
通过传递分级和内容数据对定义的对象调用fit方法 菲特先生(收视率、内容)
调用预测方法 推荐的_df=mr.predict()
示例
创建分级数据框
item_id=[1,7,9,10,12,2,4,6,8,10,12,3,6,9,12,14,10,13,12,14,11,2,5,7,8,9,10,12]user_id=[1,1,1,1,1,2,2,2,2,2,2,3,3,3,3,3,4,4,4,4,4,5,5,5,5,5,5,5]rating=[4,5,2,3,5,2,3,2,3,4,4,5,1,2,3,1,2,4,5,3,5,3,1,3,5,3,5,3]ratings=pd.DataFrame({'user_id':user_id,'item_id':item_id,'rating':rating})
创建内容数据框
items=[1,2,3,4,5,6,7,8,9,10,11,12,13,14]cols=['col1','col2','col3','col4','col5']feats=[[1,0,0,1,1],[1,1,0,0,1],[0,1,1,0,0],[0,1,1,1,0],[1,0,1,1,1],[1,1,1,0,0],[0,1,0,1,0],[0,0,0,1,0],[0,1,1,0,0],[1,1,1,0,1],[0,0,0,1,1],[0,1,0,1,0],[0,1,1,0,1],[0,0,1,1,1],]item_df=pd.DataFrame(feats,index=items,columns=cols)
ratings数据帧
ratings.head()
Content数据帧
item_df.head()
拟合与预测
创建推荐对象
my_recommender=hybrid_recommenders(item_clusters=4,top_results=5)
拟合数据
my_recommender.fit(ratings,item_df)
推荐给少数用户
my_recommender.predict([1,2,3])
向所有用户推荐
my_recommender.predict()