函数能否在python中返回numpy参数?

函数能否在python中返回numpy参数?,python,function,numpy,linear-regression,data-science,Python,Function,Numpy,Linear Regression,Data Science,作为ML uni课程的一部分,我正在学习线性回归。奇怪的是,我遇到了以下问题,我不知道该怎么办 给定两个向量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 linea

作为ML uni课程的一部分,我正在学习线性回归。奇怪的是,我遇到了以下问题,我不知道该怎么办

给定两个向量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\u cost\u函数是一个返回函数的函数

lambda J(θ0,θ1)对成本函数进行建模

因此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
def add_x(x):
返回λz:z+x
g=加上x(3)
打印(键入(g))#->
印刷品(g(2))#5

写得非常清楚-
mse\u cost\u函数
应该返回一个函数(lambda),这就是为什么在Python函数中执行
j(2.1,2.9)
是完全合理的,就像几乎所有其他函数一样,这意味着可以将它们存储在变量中,并将它们作为参数或其他函数的返回值传递。