因此,我正在建立一个使用客户和产品信息的推荐模型。这将通过隐式完成,也就是说,客户有或没有产品,因为我们没有关于产品的评级信息。我希望模型推荐一个使用协同过滤的产品,所以我正在考虑使用一个推荐模型,比如矩阵分解/ SVD等。我将执行多个测试/实验来确定最佳的算法。
在推荐人之前,我应该先进行聚类,根据他们的人口和地理信息来确定相似的客户吗?然后,我是否应该为每个集群训练一个推荐模型?
这种方法是否有任何好处,还是推荐模式能够自然地确定类似的客户?
发布于 2020-07-16 21:42:31
简短的回答:不,在进行矩阵分解之前不应该执行聚类。
首先,我只想说SVD是矩阵分解的一个特例。另外,SVD在推荐上不是传统的SVD,而是有一个异形。
矩阵分解(MF)本身执行聚类。当您执行矩阵分解时,您将得到用户和项的潜在向量。通过在这些潜在向量上运行一个聚类算法,例如K-均值,您最终会进行聚类。但是,如果您的最终目标只是推荐,那么就没有必要事先执行聚类。
。
发布于 2021-04-03 10:01:02
你应该考虑:
发布于 2021-04-04 19:20:32
这就是你的领域专长发挥作用的地方。一些重要的考虑因素,例如基于位置的用户行为和基于位置的产品提供。
对于典型的推荐问题,您所需要的只是来自用户的产品评级。分析了产品的特点和用户对产品的行为。
另外,您还拥有一组属性,这些属性可以帮助您创建具有类似行为的个人类别。将这些作为您的评等矩阵的一部分,只会混淆典型的推荐算法。现在出现的问题是如何最好地使用它们,因为拥有更多的数据总是更好。这可以通过先前的聚类来实现。
最重要的是,这是你正试图解决的更大问题的两个独立部分。您必须评估哪种方法更有效,同时要记住,您不应该最终得到大量的集群,这会显著减少每个集群的产品评级数据。
或者,如果你有较少的产品,你可以选择一个多标签或多输出分类公式,因为你正在寻找一个二元的结果推荐一个产品与否(而不是一个评级)。
https://datascience.stackexchange.com/questions/76232
复制相似问题