簡體   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