为了账号安全,请及时绑定邮箱和手机立即绑定

Coo_matrix 和其他矩阵示例

Coo_matrix 和其他矩阵示例

白衣非少年 2021-06-18 22:39:15
我知道这可能是一个非常广泛的话题,但我想更多地了解它。我的问题是关于 sklearn 的 coo_matrix。我从文档中阅读并理解它表示稀疏矩阵的坐标矩阵。这里的“坐标”这个词有什么意义吗?例如,coo_matrix ((1, 2)) 会得到我array([[0, 0]])那么在这个例子中坐标是什么意思呢?或者我们还有其他例子来区分它与其他矩阵吗?如csr_matrix、bsr_matrix等。同样,如果我问错了问题或者这个问题可以在任何地方找到,请告诉我或提供链接,如果可能的话。**对于“让我知道”,只要告诉我“你问的问题太简单了”或“你的问题可以在别处找到,做一些研究”应该很好,然后我会按原样删除这篇文章不相干。对于“共享链接”,请让我知道我可以在哪里学习并了解更多信息。先感谢您。**提示:根据一些专家的说法,这篇文章被认为是重复的帖子,我得到了一些建议,如果其他人发布的答案可能与未来的读者相关,我可以将其保留在这里,因此,我将其保留。
查看完整描述

1 回答

?
慕莱坞森

TA贡献1810条经验 获得超4个赞

看起来 coo 矩阵只需要一个行列表、一个列列表和一个值(数据)列表(每个列表的大小相同)。重要的是它们的大小与您将通过每个元素获得三元组(行索引、列索引、值)相同。这告诉函数在您正在制作的矩阵的(行索引,列索引)处放置一个值。我很确定它被称为坐标格式,因为您传递了具有关联值的坐标(带有行和列)。我们来做一个简单的例子。


row  = np.array([1,3])

col  = np.array([2,0])

data = np.array([5,11])

print(coo_matrix((data, (row, col)), shape=(4, 4)).toarray())

查看每个列表的第一个元素:

row[0] = 1和col[0] = 2,因此我们将查看(1,2)矩阵中的元素(记住在 python 中,索引从 0 开始)。value[0] = 5,因此该函数将 5 作为(1,2)矩阵中的元素放入。


查看每个列表的第二个元素:

row[1] = 3和col[1] = 0,因此我们将查看(3,0)矩阵中的元素。value[1] = 11,因此该函数将 11 作为(3,0)矩阵中的元素放入。


其余的元素(除了那些被索引的(1,2)和(3,0))然后是 0:


输出:


[[ 0  0  0  0]

 [ 0  0  5  0]

 [ 0  0  0  0]

 [11  0  0  0]]


查看完整回答
反对 回复 2021-06-29
  • 1 回答
  • 0 关注
  • 288 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信