2017-12-11 7 views
0

LSTM 모델을 사용하여 판매 예측에 대한 질문이 있습니다. 모델을 작성하려면 이전 판매 값 (샘플 크기 30을 선택)과 승진 여부, 휴일 여부 등의 현재 기능 (t)을 입력하고 싶습니다. 현재 코드 :하나의 시퀀스 기능과 3 개의 현재 기능이있는 LSTM

def create_dataset(dataset, look_back=1): 
dataX, dataY = [], [] 
for i in range(len(dataset)-look_back-1): 
    a = dataset[i:(i+look_back), 0] 
    dataX.append(a) 
    dataY.append(dataset[i + look_back, 0]) 
return np.array(dataX), np.array(dataY) 

look_back = 30 
trainX, trainY = create_dataset(train, look_back) 
valX, valY = create_dataset(val, look_back) 

# note: train and val dataset here only include sale values 

trainX = np.reshape(trainX, (trainX.shape[0], 1, trainX.shape[1])) 
valX = np.reshape(valX, (valX.shape[0], 1, valX.shape[1])) 

n * 30 데이터 세트 (30 개 열)를 생성합니다. 그런 다음 Kerr LSTM 모델에 적용합니다. 그렇지만 현재의 기능 (시간 순서가 아님)을 모델의 입력으로 어떻게 포함시킬 수 있습니까?

답변

0

비정상적인 방식으로 모델을 빌드하는 경우 기능적 API를 사용하면 여러 입력을 가질 수 있습니다. 그런 다음 lstm을 사용하여 시간을 처리하고 일부 밀집한 계층의 현재 featuers로 입력을 처리 할 수 ​​있습니다. 그런 다음 예측을 만들기 전에 예제를 병합하여보다 밀도가 높은 레이어를 사용합니다.

일부 예는 https://keras.io/getting-started/functional-api-guide/