繁体   English   中英

如何为股票预测输出CNN的值

[英]How to output a value of a CNN for Stock Prediction

我建立了一个基于LSTM的神经网络来预测BTC的价格。 它的培训是不错的我会说,但我不知道如何让它预测明天的价格。

我尝试了Keras的方法predict我训练的模型,以今天的价格作为参数,然后是tensorflow的“tf.argmax”来挑选阵列中最高的确定性。 现在我知道它指的是在计算机视觉的情况下预测的类,但我真的不知道那些概率在这种情况下所指的是什么。

型号内置:


  model = Sequential()
  model.add(LSTM(neurons, return_sequences=True, input_shape=(inputs.shape[1], inputs.shape[2]), activation=activ_func))
  model.add(Dropout(dropout))
  model.add(LSTM(neurons, return_sequences=True, activation=activ_func))
  model.add(Dropout(dropout))
  model.add(LSTM(neurons, activation=activ_func))
  model.add(Dropout(dropout))
  model.add(Dense(units=output_size))
  model.add(Activation(activ_func))
  model.compile(loss=loss, optimizer=optimizer, metrics=['mae'])
  model.summary()
  plot_keras_model(model, show_shapes=True, show_layer_names=False)

培训和预测:


prediction_data = get_today_price4prediction('bitcoin', tag="BTC")
X_prediction = create_inputs(prediction_data)
X_prediction = to_array(X_prediction)
btc_history = btc_model.fit(X_train, Y_train_btc, epochs=epochs, batch_size=batch_size, verbose=1, validation_data=(X_test, Y_test_btc), shuffle=False)
predictions = btc_model.predict(X_prediction, verbose=1, steps=None)
plot_results(btc_history, btc_model, Y_train_btc, coin='BTC')
predictions = tf.math.argmax(predictions)
print(predictions)

预期输出是7D numpy数组,值为11e-7 但我不知道这些价值所指的是什么。 有什么建议吗?

听起来你正试图在不知道你的数据的情况下得到结果。 不要那么做,你可能会得到无用的结果。

我不知道你从哪里得到数据,但那个地方应该描述目标是什么。 在这种情况下,由于多维输出,它可能是一个分类目标(例如,如果你使用分类的交叉熵损失,但它也没有在代码中说明)。 如果是这种情况并且您期望的输出是实数,则类别可能是此数字的范围,并且输出数组中的每个值将是该数字属于这些范围中的每一个的概率。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM