协同过滤方法用于注册课程的提示/推荐

我正在研究一个特定的问题,需要构建一个推荐系统。一般的问题描述如下:每个用户注册了(假设)x门课程(c1, c2, c3, .. cx)。根据每门课程,我需要向用户提供(假设)前5个提示/推荐(例如,可能有用的学习材料等)。我需要应用协同元素来学习哪些推荐对用户有帮助。
我查看了像Apache Mahout Taste这样的推荐引擎,但我无法以一种与展示的例子相似的方式来建模我的问题。(用户与一门或多门课程相关联,以及每个推荐/提示可能与一门或多门课程相关联的额外过滤条件让我感到困惑。)
请告诉我是否有好的方法来建模这样的问题?任何指向文档/例子的指引将非常受欢迎。我刚刚开始在这个领域的研究,所以如果我误解了任何概念,请多包涵。

谢谢,
@Vivek


回答:

这可能太简单了,不需要推荐系统。如果每门课程都有一套相关的材料,那么显然,选择课程c1就意味着他们应该拥有该课程的相关材料。也许可以根据所有材料的受欢迎程度进行排名。这可能非常简单,并且能满足你的大部分需求。

如果你想将这建模为协同过滤,你可以;我不知道你有多少数据。如果你只有少数用户和课程,数据将过于稀疏,无法提供有用的答案。

你的用户与两件事有关:课程和材料。你不想推荐课程,而是材料。我会构建两个数据模型:一个包含用户-课程信息,另一个包含用户-材料购买信息。使用用户-课程数据作为用户相似性实现的基础,定义用户-用户相似性。然后将它与NearestNUserNeighborhood、GenericUserBasedRecommender结合,但使用另一个用户-材料数据模型。

你将使用基于课程的用户-用户相似性来从材料中进行推荐。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注