В рамках курса обучения в ML я изучаю линейную регрессию. Странно, я столкнулся со следующей проблемой, и я не уверен, как решить эту проблему.
даны два вектора 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 - это возвращаемое значение этого метода. кто-нибудь может просветить меня? Спасибо за любую помощь!