25得票2回答
Sklearn的train_test_split; 在训练集中保留列中的唯一值

有没有一种方法可以使用 sklearn.model_selection.train_test_split 来在训练集中保留特定列中所有唯一值。 让我举个例子。我知道最常见的矩阵分解问题是预测用户对电影的评分,例如在 Netflix Challenge 或 Movielens 数据集中。现在这...

18得票3回答
Python非负矩阵分解处理零和缺失数据的方法?

我正在寻找一个具有Python接口且能够处理缺失数据和零值的NMF实现。 在开始因子分解之前,我不想填补缺失值,而是希望它们在最小化函数中被忽略。 似乎scikit-learn、nimfa、graphlab和mahout都没有提供这样的选项。 谢谢!

17得票1回答
使用置换矩阵进行稀疏矩阵的Cholesky分解

我对大型稀疏矩阵的Cholesky分解很感兴趣。我的问题是,Cholesky因子不一定是稀疏的(就像两个稀疏矩阵的乘积不一定是稀疏的)。例如,对于仅在第一行、第一列和对角线上有非零元素的矩阵,其Cholesky因子具有100%的填充(下三角和上三角都是100%密集的)。在下图中,image中灰...

16得票1回答
如何比较PCA和NMF的预测能力

我想要比较算法使用不同预处理数据(NMF和PCA)处理后的输出结果。 为了得到可比较的结果,不仅仅是为PCA和NMF选择相同数量的组成部分,我还想选择解释保留方差95%的数量。 我在想是否有可能确定每个NMF组成部分中保留的方差。 例如,使用PCA可以通过以下方式确定: retainedV...

15得票2回答
Lightfm: 处理用户和物品冷启动

我记得lightfm的一个优点是其模型不会遇到冷启动问题,包括用户和物品的冷启动:lightfm原始论文然而,我仍然不理解如何使用lightfm来解决冷启动问题。我使用用户-物品交互数据对模型进行了训练。据我所知,我只能对在我的数据集中存在的profile_ids进行预测。def predic...

13得票1回答
sklearn矩阵分解示例

我目前正在使用的代码可以在http://www.quuxlabs.com/blog上找到。 该代码的结果很好。我可以清楚地看到矩阵发生的变化。 此外,我还尝试了在sklearn.decomposition.NMF库中使用相同的输入,但得到的结果不够好。也许我漏掉了什么。 以下是我的示例代码 -...

13得票1回答
使用矩阵分解实现推荐系统

我正在使用C# 6.0的基于物品的协同过滤器开发餐厅推荐系统。我想要使我的算法尽可能地表现出色,因此我对预测用户尚未点评的餐厅的评级的不同方法进行了一些研究。 首先介绍一下我所做的研究 首先,我想要使用基于用户的协同过滤器,并使用皮尔逊相关度来看哪些用户相互匹配度较高。但是这种方法的主要问...

11得票1回答
Sympy:在有限域中求解矩阵

为了我的项目,我需要解决一个矩阵X,给定矩阵Y和K。(XY=K)每个矩阵的元素必须是取模随机256位质数的整数。我尝试使用SymPy的mod_inv(n)函数来解决这个问题。但是,我发现当矩阵大小达到30左右时就会出现内存不足的问题。我的下一个想法是进行矩阵分解,因为这可能对内存的要求更小。然...

11得票1回答
评估LightFM推荐模型

我已经玩了相当长一段时间的lightfm,发现它非常有用,可以生成推荐。然而,我想知道两个主要问题。 评估LightFM模型时,如果推荐等级很重要,我应该更依赖于precision@k还是其他提供的评估指标,比如AUC分数?在哪些情况下,我应该专注于改善我的precision@k而不是其他...

9得票3回答
如何在Python的Scikit NMF中处理缺失值

我正在尝试使用Python scikit-learn对我的数据集应用NMF。我的数据集中包含0值和缺失值。但是scikit-learn不允许数据矩阵中存在NaN值。一些帖子建议用0替换缺失值。 我的问题如下: - 如果我用0替换缺失值,算法如何区分缺失值和真正的0值? - 是否有其他可以处...