【问题标题】:Density of Mahout SparseMatrixMahout SparseMatrix 的密度
【发布时间】:2013-02-26 21:43:08
【问题描述】:

一个关于 Mahout 的 SparseMatrix 类的简短问题:

是否有一种简单的(已经可以通过 Mahout 获得)方法来计算稀疏矩阵的密度?

我问这个是因为我正在运行一个标签传播算法,它是使用SparseMatrix 实现的。我的程序运行out of memory,我认为这是因为the density of the matrix 的增长速度比我预期的要快。如果没有可用的东西,我将不得不编写自己的方法来计算密度,但是,如果答案阻止我重新发明轮子,我将不胜感激。

【问题讨论】:

    标签: java machine-learning mahout sparse-matrix


    【解决方案1】:

    SparseMatrix.getNumNondefaultElements() 似乎返回非空行数和非空条目数,因此您可以通过将这两个数字相乘来计算悲观估计。

    【讨论】:

    • 这个方法的文档让我有点困惑。它返回一个包含 [row, column] 计数的 int[2]。我无法找到任何进一步的细节。这是否意味着它将返回不完全为零的行数和列数?如果是这样,那么将它们相乘不会给我密度。但我会在一些手动创建的小型矩阵上进行尝试并检查。
    • 我假设矩阵的“密度”是指矩阵中非零条目的数量。据我了解源代码,SparseMatrix.getNumNondefaultElements() 为您提供不完全为零的行数,以及“最密集”列中的非零条目数。因此,两者的乘积应该会给您一个大于或等于实际非零条目数的估计值。我找不到能提供实际非零数的方法。
    猜你喜欢
    • 1970-01-01
    • 2013-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-28
    • 1970-01-01
    • 2012-05-06
    • 1970-01-01
    相关资源
    最近更新 更多