我正在尝试找出数据的偏差。但我对以下错误感到震惊。你能帮我一下吗?
我的代码是
total_bias = 0
error = [0]*len(y_train)
def bias(train_label , predicted_label):
for i in range(0,len(train_label)):
error[i] = train_label[i]-predicted_label[i]
total_bias+=error[i]
print("Bias of the data is\n",total_bias)
因此,当我调用该函数时,出现如下错误
UnboundLocalError Traceback (most recent call last)
<ipython-input-116-bd69154610c9> in <module>
----> 1 bias(y_train , y_train_pred )
<ipython-input-115-9efa292295d6> in bias(train_label, predicted_label)
4 for i in range(0,len(train_label)):
5 error[i] = train_label[i]-predicted_label[i]
----> 6 total_bias+=error[i]
7 print("Bias of the data is\n",total_bias)
UnboundLocalError: local variable 'total_bias' referenced before assignment
最佳答案
只需更改您的代码,以便将total_bias视为全局
total_bias = 0
error = [0]*len(y_train)
def bias(train_label, predicted_label):
global total_bias #has to be defined global, otherwise it is seen as in a local scope
for i in range(0,len(train_label)):
error[i] = train_label[i] - predicted_label[i]
total_bias += error[i]
print("Bias of the Data is \n",total_bias)
关于python - Python中赋值错误之前引用的局部变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60149967/