首页 > 解决方案 > 使用 Keras 预测未来值

问题描述

我对创建神经网络非常陌生,我正在尝试在 python 中使用 Keras 来创建一个模型,该模型将根据前 100 个输入来预测序列。

我正在使用 11x10000 数组来预测单个输出值,并且我创建了一个非常适合该回归的 NN。但是,我想创建另一个 NN 来预测回归 NN 的输入。

我有一个非常大的数据集可供我使用,我正在尝试使用数组的前几个输入来预测一个 11x10000 数组。

我可以让它预测当前时间步的期望值,但我希望它根据当前和近期的值来预测远期的值。

这是一些代码:

names = getNames()
test = getNames()

for index in range(len(names)):
        print(index)
        X, Y = getData(names, index, False)
        X_test, Y_test = getData(test, index, True)

        NN = makeNN(X,Y, X_test, X_test)
def getModel():
    keras.backend.clear_session()
    model = Sequential()
    model.add(Dense(100, input_dim=11, kernel_initializer='normal', activation='relu'))
    model.add(Dense(10, init='uniform', activation='relu'))
    model.add(Dense(11, init='uniform', activation='relu'))

    model.compile(loss='mean_squared_error', optimizer='adam')

    return model
def makeNN(X, Y, X_test, Y_test):
    try:
        model = keras.models.load_model('./trajSweepNNVacc.h5')
        print("previous model loaded")
    except:
        model = getModel()
        print("new model created")


    X_train = X[0:]

    print('Training -----------')

    model.fit(X_train, X_train, epochs=2)

    print('\nTesting ------------')
    cost = model.evaluate(X_test, Y_test)
    print('test cost:', cost)
    W, b = model.layers[0].get_weights()


    model.save('trajSweepNNVacc.h5')
    return model

我想让它预测未来的 10000 个值,但目前我只能让它预测一个当前值

标签: pythontensorflowkeras

解决方案


推荐阅读