gpt4 book ai didi

python - python 中函数可以返回 numpy 参数吗?

转载 作者:行者123 更新时间:2023-12-01 07:03:44 27 4
gpt4 key购买 nike

作为机器学习大学类(class)的一部分,我正在学习线性回归。奇怪的是,我遇到了以下问题,我不知道如何解决。

给定两个向量 x 和 y :

x = np.linspace(x_min, x_max,50)
y = np.random.randint(-5/2,5/2, size=50)
y = y + 3 + 2*x

我需要在这两个方法中填写代码:

def linear_hypothesis(theta_0, theta_1):
''' Combines given arguments in a linear equation and returns it as a function

Args:
theta_0: first coefficient
theta_1: second coefficient

Returns:
lambda that models a linear function based on theta_0, theta_1 and x
'''
def mse_cost_function(x, y):
''' Implements MSE cost function as a function J(theta_0, theta_1) on given tranings data

Args:
x: vector of x values
y: vector of ground truth values y

Returns:
lambda J(theta_0, theta_1) that models the cost function
'''

然后应通过以下代码调用上述函数:

j = mse_cost_function(x, y)
print(j(2.1, 2.9))

这就是让我困惑的地方。我不确定每个函数的返回类型应该是什么,并且我不明白这一行 j(2.1, 2.9) 应该做什么,因为 j 是该方法的返回值。有人可以启发我吗?感谢您的帮助!

最佳答案

mse_cost_function 是一个返回函数的函数。

lambda J(theta_0, theta_1) that models the cost function

so j 是一个函数。与任何函数(或更一般的可调用函数)一样,它可以获取输入(在本例中为两个)。

为了更简单的解释,这里有一个函数add_x,它接受 x 并返回一个新函数,该函数接受 z 并计算 z+x

def add_x(x):
return lambda z: z+x


g = add_x(3)
print(type(g)) # -> <class 'function'>
print(g(2)) # 5

关于python - python 中函数可以返回 numpy 参数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58530632/

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