gpt4 book ai didi

python - 依赖于 numpy 中 2 个数组的函数的矢量化

转载 作者:太空宇宙 更新时间:2023-11-03 14:00:20 25 4
gpt4 key购买 nike

我正在尝试向量化一个由循环组成的函数。

原函数为:

def error(X, Y, m, c):
total = 0
for i in range(20):
total += (Y[i]-(m*X[i]+c))**2
return total

我已经尝试了以下但它不起作用:

def error(X, Y, m, c):
errorVector = np.array([(y-(m*x+c))**2 for (x,y) in (X,Y)])
total = errorVector.sum()
return total

如何向量化函数?

最佳答案

这是一种方法,假设 XY 的第一维长度为 20。

def error(X, Y, m, c):
total = 0
for i in range(20):
total += (Y[i]-(m*X[i]+c))**2
return total

def error_vec(X, Y, m, c):
return np.sum((Y - (m*X + c))**2)

m, c = 3, 4
X = np.arange(20)
Y = np.arange(20)

assert error(X, Y, m, c) == error_vec(X, Y, m, c)

关于python - 依赖于 numpy 中 2 个数组的函数的矢量化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50033014/

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