提供易于使用的推荐引擎的库。

py-recommendation的Python项目详细描述


简介

这个库为通用推荐系统提供了一个纯Python接口。在

推荐系统

推荐系统是一种算法,旨在向用户推荐相关的商品(商品是要购买的产品、要看的电影、要阅读的文本或任何其他取决于行业的东西)。有两大类方法

  1. 基于内容的方法
  2. 协同过滤方法

基于内容的推荐

基于内容的方法使用有关用户和/或项目的附加信息。基于内容的方法的主要思想是尝试建立一个模型,基于可用的“特性”,解释观察到的用户-项目交互。在

协同过滤方法

推荐系统中的协同方法是基于用户和物品之间过去的交互作用来产生新的推荐的方法。在

安装

pip install py-recommendation

使用

模块导入

importpy_recommendationasprc

获取输入数据

生成可用于各种可用建议的输入数据对象

项目数据

^{pr2}$

配置数据

# Reffer from sample data given below:sample_items_data={"title":['Place-A','Place-B','Place-C','Place-D','Place-E','Place-F','Place-G'],"tags":['party & dance, nightlife, food, bar & restaurant, enjoy family','Historic old monument, landmarks & enjoy$ beautiful','Beach party, bar & nightlife @water, Beautiful','Old Historic Temple, peaceful & rest, Family vacation','Nature waterfall & green, beauty water','Beautiful Himalaya hills, nature snow, water & peace','Sights & Landmarks, Monuments & Statues']}itemData=itemsInitialise.setData(data=sample_items_data,itemNameField='title',itemTagField='tags',)

或者从文件中设置数据

itemData=itemsInitialise.setData_file(filePath='path to the data file',itemName_col='column name carrying the item name/id',itemTag_col='column name carrying the item features',fileType='type of file (xlsx/csv)')

用户数据

usersInitialise=prc.UsersData()

配置数据

# Reffer from sample data given below:sample_users_data={"names":['Professor','Lisbon','Berlin','Nairobi','Helsinki','Rio'],"visited":[['Place-B','Place-D'],['Place-D','Place-E'],['Place-B'],['Place-C','Place-E'],['Place-F'],['Place-A','Place-F']]}usersData=usersInitialise.setData(data=sample_users_data,userNameField='names',triedItemField='visited',)

基于相似项的推荐器

用于根据特征查找与给定项相似的其他项。在

similarItemInit=prc.SimilarItem(itemData)recommendation=similarItemInit.similarItem('Place-D')

基于已尝试的项目的特定用户的基于内容的推荐程序

contentRecommendInit=prc.UserContent(itemData=itemData,usersData=usersData)recommendation=contentRecommendInit.contentRecomend('Lisbon')
  • recommendation包含每个推荐项目的列表,以及它们的推荐分数为100。在
  • recommendation可能有负分数的项目,这意味着该项目已经尝试过。只有在“ItemData”中的项数较少时才会出现这种情况

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

推荐PyPI第三方库


热门话题
Spring启动测试中的java MockBean注释导致NonuniqueBeandDefinitionException   java Spring Hateoas调试模板不能为null   递归培根游戏Java程序?   java在Android中保存少量数据(对象)的最简单方法是什么?   异常处理Java中finally块的要点是什么?   是java。util。货币真的是工厂方法模式吗?   java如何输入字符以停止循环   java如何对流的某些部分执行缩减操作   java new Gson()。单例类的toJson(object)返回null   java Itext泰米尔字体显示不正确   java运行时。getRuntime()。gpg命令不起作用的exec()   java如何在preparedstatemenet中将字符连接到SQL字符串   java将同一实体的多个表示形式与lazyload合并时出错   JavaSpring、Hibernate和JPA:在entitymanager上调用persist似乎并没有提交到数据库   java osgi r6服务。组成部分注释属性列表