gpt4 book ai didi

python - np.matrix(np.array([0,0])) 和 np.matrix([0,0]) 有区别吗?

转载 作者:太空宇宙 更新时间:2023-11-03 23:58:58 30 4
gpt4 key购买 nike

我正在读这个code ,用于从头开始实现线性回归:

# convert from data frames to numpy matrices
X = np.matrix(X.values)
y = np.matrix(y.values)
theta = np.matrix(np.array([0,0]))

当我遇到这条线时:

np.matrix(np.array([0,0]))

我想知道为什么那个人不直接写 np.matrix([0,0]) .

我在 jupyter notebook 中运行了两个并得到了相同的输出:

theta = np.matrix([0,0])
theta2 = np.matrix(np.array([0,0]))
print(theta,theta2,type(theta),type(theta2))

输出:[[0 0]] [[0 0]] <class 'numpy.matrix'> <class 'numpy.matrix'>

两者有区别吗?额外的np.array以某种方式部分添加到 theta 的功能?如果将前者替换为后者,最终代码是否能正常运行?

最佳答案

奇怪的是,matrix(array([0,0])) 创建了一个拥有其数据的干净对象

>>> np.matrix(np.array([0,0])).flags
C_CONTIGUOUS : True
F_CONTIGUOUS : True
OWNDATA : True
WRITEABLE : True
ALIGNED : True
WRITEBACKIFCOPY : False
UPDATEIFCOPY : False
>>> np.matrix(np.array([0,0])).base

matrix([0,0]) 似乎是一个匿名数组的 View 。

>>> np.matrix([0,0]).flags
C_CONTIGUOUS : True
F_CONTIGUOUS : True
OWNDATA : False
WRITEABLE : True
ALIGNED : True
WRITEBACKIFCOPY : False
UPDATEIFCOPY : False
>>> np.matrix([0,0]).base
array([0, 0])

所以,matrix(array(..)) 中额外的 array 似乎避免了困惑,尽管对我来说更深层次的原因仍然是个谜。

关于python - np.matrix(np.array([0,0])) 和 np.matrix([0,0]) 有区别吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56371568/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com