我正在尝试使用协同过滤构建推荐系统。我有通常的[user, movie, rating]
信息。我想加入一个额外的功能,比如“语言”或“电影时长”。我不确定我可以使用什么技术来解决这样的问题。
请在 python/R 中建议参考或包。
我正在尝试使用协同过滤构建推荐系统。我有通常的[user, movie, rating]
信息。我想加入一个额外的功能,比如“语言”或“电影时长”。我不确定我可以使用什么技术来解决这样的问题。
请在 python/R 中建议参考或包。
这里有一些可能有用的资源:
Recommenderlab - 用于开发和测试推荐算法的框架和开源软件。对应的R 包推荐实验室。
以下博客文章说明了使用recommenderlab
包(恕我直言,可以将其推广到任何开源推荐引擎)基于协同过滤构建电影推荐应用程序。
推荐系统研究——一个很好的网页,包含有关该主题的资源,由 Recommenderlab 的首席开发人员 Michael Hahsler 维护。
Mortar Recommendation Engine - 一个开源的可定制推荐引擎,用于Hadoop
和Pig
,用Python
和Java
。赞助本项目开发的公司Mortar Data提供通用商业云平台,用于开发和托管数据科学软件项目,包括基于Mortar Recommendation Engine
(公共项目开发和托管免费)的项目: http://www.mortardata。 com。Mortar Data 以公共问答论坛( https://answers.mortardata.com )的形式提供帮助,以及使用开放技术构建推荐引擎的综合教程(http://help.mortardata.com/data_apps/recommendation_engine)。
“推荐系统简介” - 相关的 Coursera 课程 (MOOC),其内容和描述提供了有关该主题的额外资源。
PredictionIO - 一个开源机器学习服务器软件,允许构建数据科学应用程序,包括推荐系统 (源代码可在 GitHub 上获得)。PredictionIO
包括一个内置的推荐引擎( http://docs.prediction.io/current/engines/itemrec/index.htmlRESTful
),并通过API 和 SDK/插件支持广泛的编程语言和框架PredictionIO 维护一个Amazon Machine Image
on AWS Marketplace,用于在 AWS 基础设施上部署应用程序。
与主题相关的其他开源软件项目(通过机器学习开源软件MLOSS
网站发现: http ://www.mloss.org ):
以下相关R
博客文章也很有趣:
我将使用矩阵分解方法代替协同过滤,其中用户和电影都由潜在特征的向量表示,其点积产生评级。通常,人们只选择等级(特征数量)而不考虑特征代表什么,其余的由算法完成。与 PCA 一样,结果不能立即解释,但会产生良好的结果。您要做的是扩展电影矩阵以包含您提到的其他功能,并确保它们保持固定,因为算法使用正则化估计两个矩阵。用户矩阵中的相应条目将被随机初始化,然后通过矩阵分解算法进行估计。这是一种通用且高效的方法,但需要对机器学习有所了解,
不久前我看到了一个不错的 ipython 笔记本,但我现在找不到它,所以我会向您推荐另一个,虽然不是很好,但仍然可以澄清一些数学问题。