在 class 中的函数之间传递变量
Pass a variable between functions within a class
如何将 class 中的函数返回的变量传递给 class 中的另一个函数?
例如(实现线性回归):
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(距离函数的平方)传递给误差函数?
使用class个变量
self.D_sqr = D_sqr
错误:
sigma = np.sum(self.D_sqr)
当你可以调用其他函数时,你不需要传递任何东西
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):
abs_D, D_sqr = self.distance()
sigma = np.sum(D_sqr)
mean_error = sigma / len(D_sqr)
return mean_error
或者你可以重新计算一次
def error(self):
abs_D = self.realoutput - self.guess_output
D_sqr = abs_D ** 2
sigma = np.sum(D_sqr)
mean_error = sigma / len(D_sqr)
return mean_error
如何将 class 中的函数返回的变量传递给 class 中的另一个函数?
例如(实现线性回归):
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(距离函数的平方)传递给误差函数?
使用class个变量
self.D_sqr = D_sqr
错误:
sigma = np.sum(self.D_sqr)
当你可以调用其他函数时,你不需要传递任何东西
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):
abs_D, D_sqr = self.distance()
sigma = np.sum(D_sqr)
mean_error = sigma / len(D_sqr)
return mean_error
或者你可以重新计算一次
def error(self):
abs_D = self.realoutput - self.guess_output
D_sqr = abs_D ** 2
sigma = np.sum(D_sqr)
mean_error = sigma / len(D_sqr)
return mean_error