【发布时间】:2021-04-14 22:29:24
【问题描述】:
我一直在使用基本的 LSTM 神经网络来探索其预测股市行为的能力,而我围绕它构建的特定代码会产生一个我不完全理解如何解释的准确度得分。它输出一个介于 0 和 1 之间的值,但我不知道如何向某人解释它的好坏以及原因。
任何帮助将不胜感激!
这是计算准确度分数的函数:
def accuracy(model, data):
y_test = data["y_test"]
X_test = data["X_test"]
y_pred = model.predict(X_test)
y_test = np.squeeze(data["column_scaler"]["Close"].inverse_transform(np.expand_dims(y_test, axis=0)))
y_pred = np.squeeze(data["column_scaler"]["Close"].inverse_transform(y_pred))
y_pred = list(map(lambda current, future: int(float(future) > float(current)), y_test[:-LOOKUP_STEP], y_pred[LOOKUP_STEP:]))
y_test = list(map(lambda current, future: int(float(future) > float(current)), y_test[:-LOOKUP_STEP], y_test[LOOKUP_STEP:]))
return accuracy_score(y_test, y_pred)
print(str(LOOKUP_STEP) + ":", "Accuracy Score:", accuracy(model, data))
【问题讨论】:
-
“预测股市行为”听起来像是一个回归任务,但看起来这做了很多后处理以将输出离散化为分类任务。 R^{2} 作为指标是否更有意义?
标签: python tensorflow lstm