0
は、私は私のデータは、機能が列なしである68871のx 43、であるステートフルLSTM実装
を作成したいです。 1-42のラベルと列番号のラベル。データの分類のための43
マイkerasのLSTMコードが
import numpy
import matplotlib.pyplot as plt
import math
from keras.models import Sequential
from keras.layers import Dense
from keras.layers import LSTM, Dropout
from sklearn.preprocessing import MinMaxScaler
from sklearn.metrics import mean_squared_error
# convert an array of values into a dataset matrix
def create_dataset(dataset, look_back):
dataX, dataY= [], []
for i in range(len(dataset)-look_back-1):
a = dataset[i:(i+look_back), 0:43]
dataX.append(a)
dataY.append(dataset[i + look_back, 43])
return numpy.array(dataX), numpy.array(dataY)
# fix random seed for reproducibility
#numpy.random.seed(7)
# load the dataset
look_back=5
dataset = numpy.loadtxt("Source.txt", delimiter=" ")
# normalize the dataset
scaler = MinMaxScaler(feature_range=(0, 1))
dataset[:,0:43] = scaler.fit_transform(dataset[:,0:43])
# split into train and test sets
train_size = int(len(dataset) * 0.67)
test_size = len(dataset) - train_size
train, test = dataset[0:train_size,:], dataset[train_size:len(dataset),:]
trainX, trainY = create_dataset(train, look_back)
testX, testY = create_dataset(test, look_back)
print trainX.shape
#trainX=numpy.reshape(trainX,(46117,43,25))
# create and fit the LSTM network
model = Sequential()
model.add(LSTM(10, input_dim=43))
#model.add(Dropout(0.3))
model.add(Dense(1))
model.compile(loss='mean_squared_error', optimizer='adagrad')
model.fit(trainX, trainY, nb_epoch=10, batch_size=5)
model.evaluate(testX, testY, batch_size=1)
で事前にそんなにLSTMステートフル 感謝を作るためになされる変更内容を提案してください!!!!!
入力形状はmodel.add()で指定する必要がありますが、多くの入力サイズで試してみましたが、エラーが発生しています。 有効な入力サイズをお勧めしますか? – user3218279
print trainX.shapeは何を提供しますか? –
それが印刷されます(46137,5,43) :46137は番号です。列車のサンプルの 5は、lstmタイムステップです 43入力の数は – user3218279