0
스테이트 풀 LSTM을 만들고 싶습니다.스테이트 풀 LSTM 구현
내 데이터는 68871 x 43이며, 기능은 열 번호에 있습니다. 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는 1stm 시간대입니다. 43은 입력 된 숫자입니다. – user3218279