我正在做一项任务。即使在研究了错误并应用了建议的修复方法之后,我仍然不断得到TypeError:-:“int”和“function”的不支持的操作数类型。我不想找任何人给我一个解决方案,但我希望再看一眼。我错过了一些东西,但我不知道是什么。这是我遇到问题的代码部分:
accuracies = [calculate_accuracy(df['Close'].iloc[-test_size:].values, r) for r in results]
plt.figure(figsize = (15, 5))
for no, r in enumerate(results):
plt.plot(r, label = 'forecast %d'%(no + 1))
plt.plot(df['Close'].iloc[-test_size:].values, label = 'true trend', c = 'black')
plt.legend()
plt.title('average accuracy: %.4f'%(np.mean(accuracies)))
plt.show()
收到的响应代码为:
<ipython-input-109-bece89ad4cea> in <listcomp>(.0)
----> 1 accuracies = [calculate_accuracy(df['Close'].iloc[-test_size:].values, r) for r in results]
2
3 plt.figure(figsize = (15, 5))
4 for no, r in enumerate(results):
5 plt.plot(r, label = 'forecast %d'%(no + 1))
<ipython-input-105-f18f06dc1a5f> in calculate_accuracy(real, predict)
60 def calculate_accuracy(real, predict):
61 real = np.array(real) + 1
---> 62 predict = np.array(predict) + 1
63 percentage = 1 - np.sqrt(np.mean(np.square((real - predict) / real)))
64 return percentage * 100
TypeError: unsupported operand type(s) for +: 'function' and 'int'
如果您对此有任何见解,将不胜感激
每个人都在关注
values
。但是values
是DataFrame
的有效用法values()
是字典用法更仔细地查看回溯:
问题在于
predict
,它是calculate_accuracy
的第二个参数,元素r
来自results
。第一个参数real
可以也就是说,我无法想象
np.array(predict)
如何产生一个function
什么是
results
?它是怎么生产的?错误表明这是一个函数列表。为什么?您可能还想显示
calculate_accuracy
函数,但我们可能在错误回溯中看到了足够的内容相关问题 更多 >
编程相关推荐