gpt4 book ai didi

python - scipy csr_matrix : understand indptr

转载 作者:太空狗 更新时间:2023-10-29 17:43:43 26 4
gpt4 key购买 nike

每隔一段时间,我就会操作一个csr_matrix,但我总是忘记参数indicesindptr 是如何一起工作来构建的稀疏矩阵。

我正在寻找关于定义稀疏矩阵时 indptr 如何与 dataindices 参数交互的清晰直观的解释使用符号 csr_matrix((data, indices, indptr), [shape=(M, N)])

我可以从 scipy documentation 中看出data 参数包含所有非零数据,indices 参数包含与该数据关联的列(因此,indices 是等于文档中给出的示例中的 col)。但是我们如何清楚地解释 indptr 参数呢?

最佳答案

也许这个解释可以帮助理解这个概念:

  • data 是一个包含稀疏矩阵所有非零元素的数组。
  • indices 是一个数组,将 data 中的每个元素映射到其在稀疏矩阵中的列。
  • indptr 然后将 dataindices 的元素映射到稀疏矩阵的行。这是通过以下推理完成的:

    1. 如果稀疏矩阵有M行,indptr是一个包含M+1个元素的数组
    2. 对于 i 行,[indptr[i]:indptr[i+1]] 返回要从 data 中获取的元素的索引和 indices 对应于第 i 行。所以假设 indptr[i]=kindptr[i+1]=l,对应于行 i 的数据将是 indices[k:l] 处的数据[k:l]。这是棘手的部分,我希望下面的示例有助于理解它。

编辑:我用字母替换了 data 中的数字,以避免在下面的示例中出现混淆。

enter image description here

注意:indptr 中的值必然递增,因为 indptr 中的下一个单元格(下一行)指的是 data< 中的下一个值indices 对应于该行。

关于python - scipy csr_matrix : understand indptr,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52299420/

26 4 0
文章推荐: c# - 无法将附加属性绑定(bind)到另一个依赖属性
文章推荐: angular - 类型 'concatMap' 上不存在属性 'Observable'?