Как передать переменную, возвращаемую функцией внутри класса, другой функции внутри этого класса?
Например (реализующей линейной регрессии):Передача переменной между функциями внутри класса
class ForwardPropagation(object):
def __init__(self, xs, realoutput):
self.xs = np.asarray(xs)
self.realoutput = np.asarray(realoutput)
self.guess_slope = random.randint(1,10)
self.guess_b = random.randint(1,10)
self.guess_output = (self.guess_slope * self.xs) + self.guess_b
def distance(self):#returns np.array with distance results
abs_D = self.realoutput - self.guess_output
D_sqr = abs_D ** 2
return abs_D, D_sqr
def error(self):
sigma = np.sum(D_sqr)
mean_error = sigma/len(D_sqr)
return mean_error
Как я могу передать переменную D_sqr, которая является квадрат моей функции расстояния, в функции ошибки?
Ошибка в вашей дистанционной функции - она никогда не вернет D_sqr, так как она будет разбита на первый оператор возврата. Если вы хотите вернуть оба D_sqr и abs_D, вы можете вернуть их как кортеж, например: 'return abs_D, D_sqr' – nrlakin
В функции расстояния у вас не может быть двух возвратов, второй возврат не будет выполнен. – Octo