我得到 ZeroDivisionError: float Division 任何低于 1 的值都会出错。
def get_accuracy(antibodies, test_data, self_class, non_self_class):
correct = 0.0
incorrect = 0.0
for x in test_data:
yhat = predict(antibodies, x, self_class, non_self_class )
if x[0] == yhat:
correct += 1
else:
incorrect += 1
accuracy = correct / float(len(test_data))
return accuracy
回溯(最近一次调用最后一次): 准确度 = 正确/浮点(len(test_data))
ZeroDivisionError: 浮点数除以零
答案 0 :(得分:0)
这是因为测试数据大小为零。
您可以通过打印有关 test_data 的信息来检查它。
print(len(test_data))