使用基于项或基于用户的方法的推荐应用程序

recommender-engine的Python项目详细描述



推荐程序是使用基于项或基于用户的方法的推荐应用程序。

推荐程序位于v0.3.0版本,有关发布历史的更多详细信息,请参见change log

如果你喜欢这个项目,请在这里留下几句感谢的话Say Thanks!

BuildBuild StatusCoverage Status
QualityMaintainabilityRequirements Status
Supportgitter
Platformpyversionimplementation

目录

  1. Usage
  2. Contribution
  3. License

用法

使用pip安装

$ pip install recommender-engine

api

进行推荐(个人推荐,偏好空间,推荐人方法='基于用户的',推荐项目数=10,相似性度量='欧几里得距离')

	Return list of recommendation items based on the chosen approach and similarity emasure

	Parameters
	--------------
	person_to_recommend (str): user id/name to recommend to

	preference_space (dict):  keys are user id/name and values are dictionary of items and ratings

	recommender_approach (str): support 'user_based' (default) or 'item_based'

	number_of_items_to_recommend (int): number of items to recommend (default=10)

	similarity_measure (str): similarity measurement method , support 'euclidean_distance' (default), 'cosine' or 'pearson_correlation'

示例


>>> from recommender_engine import make_recommendation
>>>	result = make_recommendation(person_to_recommend = "userA",
								 preference_space = preference_space,
								 recommender_approach = 'user_based',
								 number_of_items_to_recommend = 10,
								 similarity_measure = 'euclidean_distance')

首选项空间是字典数据结构,其中键是用户,值是项和分级的字典

preference_space = {
					'userA : {
							 'item1' : 'ratingA1, 
							 'item2' : 'ratingA2',
							  ..., 
							  'itemn' : 'ratingAn
							  }, 
					..., 
					'userZ:{
							'item1' : 'ratingZ1,
							 'item2' : 'ratingZ2',
							  ...,
							 'itemn' : 'ratingZn
							}
				    }

测试数据集

该项目已经在这些数据集上进行了测试

  1. Jester
  2. MovieLens

贡献Open Source Helpers

请遵循我们在contribution instructioncode of conduct的捐款约定

请查看issue file以获取需要帮助的问题列表。

欣赏

请随意将您的姓名添加到list of contributors中。您将自动进入名人堂,以表示我对您的贡献的感谢

名人堂


许可证

请参阅LICENSE文件以了解许可证权限和限制(apache license 2.0)。

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

推荐PyPI第三方库


热门话题
通过signingReport运行安卓应用程序时发生java错误   java我需要实现hashCode()和equals()方法吗?   javascript Selenium Java从Pinterest下载图像   java Tomcat(嵌入式),无需重新启动即可进行更改   java检查每个if是否有匹配的endif   的java接口。我也是。罐子   mysql java。sql。SQLException:列索引超出范围,0<1。使用准备好的语句   如何在java中修改json字符串?   javascript智能手机的独特功能   web服务java。lang.NoSuchMethodError:javax。ws。rs.core。响应$Status$Family   sockets通过浏览器/URL与ServerSocket建立Java连接   JavaSpring数据自定义存储库和接口隔离原则   swing从不同的java类访问jdialog的一个实例   java如何根据发出的事件有条件地缓冲分组的可观察/流量?   用java将电子邮件正文导出为html文件   JavaSpring获取ServletContext并将其作为Bean提供   setter不做java中应该做的事情