我有一些培訓數據x_train
和x_train
的一些相應標籤,名爲y_train
。下面是如何x_train
和y_train
構造:LSTM with keras
train_x = np.array([np.random.rand(1, 1000)[0] for i in range(10000)])
train_y = (np.random.randint(1,150,10000))
train_x
有10000行和1000列的每一行。 train_y
對於train_x中的每個樣本具有介於1和150之間的標籤並且代表每個train_x樣本的代碼。
我也有一個樣本,稱爲樣本,這是1行1000列,我想用這個LSTM模型預測。這個變量被定義爲
sample = np.random.rand(1,1000)[0]
我想訓練和預測使用Keras的這個數據的LSTM。我想採用這個特徵向量,並使用這個LSTM來預測範圍從1到150的代碼之一。我知道這些是隨機數組,但是我不能發佈我擁有的數據。我嘗試了以下方法,我認爲應該可以工作,但是我面臨一些問題
model = Sequential()
model.add(LSTM(output_dim = 32, input_length = 10000, input_dim = 1000,return_sequences=True))
model.add(Dense(150, activation='relu'))
model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])
history = model.fit(train_x, train_y,
batch_size=128, nb_epoch=1,
verbose = 1)
model.predict(sample)
任何對此管道的幫助或調整都會很好。我不確定output_dim
是否正確。我想在1000維數據的每個樣本上傳遞LSTM,然後再生成1到150範圍內的特定代碼。謝謝。
所以當我。改變爲一個長度爲150的熱點編碼向量我在每個地方都會得到一串小數點作爲預測,這些小數點代表什麼?它們是1,2,3級,...,150級的概率嗎? –
是的 - 但記住ab取出這個基於0的數組索引。第1類的概率是指數0, - 第2類 - 指數1等 –
好的非常感謝你!你可以用k熱點編碼矢量做這個嗎?假設對於樣本1,我們有[5,8,9],而樣本2我們有[130,11,12,5,9],其中有不同數量的標籤? –