这个包将基于内容和用户评分创建推荐,并最终基于这两个数据点提供顶级推荐

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

接近:

  1. 创建混合推荐类的实例 mr=混合推荐人()

  2. 通过传递分级和内容数据对定义的对象调用fit方法 菲特先生(收视率、内容)

  3. 调用预测方法 推荐的_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()

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Rest DSL路由无法启动路由,因为同一端点不允许有多个使用者   jvm有没有像JConsole或VisualVM这样的工具可以告诉我“类、对象、引用变量在java中存储在哪里?”   java为什么我的列表中的所有元素看起来都一样?   java运行时。运行shell脚本的exec无法打开文件   JPopupMenu的JMenuItem的java热键   会话在Java中被覆盖   如何在java中去除字符串中的尖锐重音?   java Mockito监视一个接口,模拟它的默认方法,获取NullPointerException   javascript如何在jquery中禁用同一时间选择   将数组列表附加到现有CSV文件,但它会附加并清除存储在Java文件中的以前的数据   java从我的jar中访问pdf文件   java Sonar issue参数必须为非Null,但标记为可为Null   java Salesforce流式API:在网络故障之后和重新订阅之前获取事件   在Java 1.8.0_65上运行Play2.0应用程序时出现playframework错误   java为什么字母的ASCII由方法自动转换。toCharArray()?   java如何知道JDialog是否关闭?   java向服务器发送POST请求,服务器的响应为null,启动   java如何设置JTable中特定单元格的值?   ImagePlus中的java保存问题