python - Python中赋值错误之前引用的局部变量

标签 python machine-learning syntax-error

我正在尝试找出数据的偏差。但我对以下错误感到震惊。你能帮我一下吗?

我的代码是

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/

相关文章:

python - Scipy nnls算法没有终止容错选项

python - 无法在 OS X 上安装 scikit-learn

python - 使用Docker容器运行django应用失败

machine-learning - 人工神经网络中的无监督学习

python - 图像分类有必要组织数据集吗?

javascript - 错误 : SyntaxError: DOM Exception 12 on Tag Creation Using jQuery

batch-file - 批处理文件,命令的语法不正确

python - PIL协助Python

python - 在pandas中展开dataFrame

再现 Fisher 线性判别图