Giter Club home page Giter Club logo

lstm's People

Contributors

yangwohenmai avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

lstm's Issues

有关预测多个内容

大佬,你好,请问如何预测2个变量组成的数据呢,比如我想预测延时率、丢包率两个结果,求大佬指点

包的版本呢

这里面没说那些包的版本啊,比如tensorflow,具体的版本没说

关于多变量预测中归一化与反归一化的问题

您好,我在series_to_supervised函数中输入n_in>1的情况时,会出现反归一化报错的问题,提示此时反归一化的数据alueError: operands could not be broadcast together with shapes,请问该如何解决呢,谢谢!

多步预测的LSTM网络.py--Unrecognized keyword arguments passed to LSTM: {'batch_size': {1,1,1}}

代码修改如下:

import tensorflow as tf
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense
from tensorflow.keras.layers import LSTM

出现问题的代码块:

def fit_lstm(train, n_lag, n_seq, n_batch, nb_epoch, n_neurons):
    # (train, 历史1lag, 预测3个步长, 用1 batch数据, 15网络次数_权重更新, 1个神经元)
    # 重塑训练数据格式 [samples, timesteps, features]
    X, y = train[:, 0:n_lag], train[:, n_lag:]  # 1列22个历史数据,3列22个未来数据
    X = X.reshape(X.shape[0], 1, X.shape[1]) # (22,1,1)
    # 配置一个LSTM神经网络,添加网络参数
    model = Sequential()
    #1 model.add(LSTM(n_neurons,input_length=X.shape[1], input_dim=X.shape[2])) #TEST: input_length
    #1 return Unrecognized keyword arguments passed to LSTM: {'input_length': 1}
    #2 model.add(LSTM(units=n_neurons,batch_size=n_batch,input_shape=(X.shape[1], X.shape[2]))) #TEST: batch_size
    #2 return Unrecognized keyword arguments passed to LSTM: {'batch_size': 1}
    #3 model.add(LSTM(units=n_neurons,activation='tanh',batch_input_shape=(None, X.shape[1], X.shape[2]),stateful=True)) #TEST: batch_input_shape
    #3 return Unrecognized keyword arguments passed to LSTM: {'batch_input_shape': (1, 1, 1)}
    model.add(LSTM(units=n_neurons,input_shape=(X.shape[1], X.shape[2]))) 
    # return 'Sequential' object has no attribute 'reset_states'
    # stateful = True --> 需要shuffle = False
    model.add(Dense(y.shape[1]))
    model.compile(loss='mean_squared_error', optimizer='adam')
    # 调用网络,迭代数据对神经网络进行训练,最后输出训练好的网络模型
    for i in range(nb_epoch):
        model.fit(X, y, epochs=1, batch_size=n_batch, verbose=0, shuffle=False)
        model.reset_states()
    return model

model = fit_lstm(train, n_lag, n_seq, n_batch, n_epochs, n_neurons)

尝试各种不同的add lstm的方法,均失败
安装包版本:
tensorflow 2.16.1
keras 3.2.1
python 3.9.19

关于数据重构问题

您好,看了您的代码,受益匪浅,但是针对自己的问题,还有一些地方不太清楚,如果您有时间,希望你可以帮忙解答,万分感谢!
问题:现在网上很多的LSTM的实例讲解,大都是针对一列数据,如您代码中的乘客、香皂等。我现在想做的是一年内的每日降水,且我有三十个站点,这样的话,我的原始数据就是366*30的数据表,我想问一下,针对多条数据,在进行数据输入重构的时候应该怎么做?

52行和55并没有用处吧?

def scale(train, test):
# 根据训练数据建立缩放器
scaler = MinMaxScaler(feature_range=(-1, 1))
scaler = scaler.fit(train)
# 转换train data
train = train.reshape(train.shape[0], train.shape[1])
train_scaled = scaler.transform(train)
# 转换test data
test = test.reshape(test.shape[0], test.shape[1])
test_scaled = scaler.transform(test)
return scaler, train_scaled, test_scaled

shape本来就是这样的吧,看不懂这里的代码要做什么。

可以预测多天的吗?

您好,想问您一下,如果我有一系列时间和对应的数值数据,我想预测未来一周的数据情况,可以通过您的哪个框架实现呢?

model definition

Hello! Yes, you are correct. In the model definition, the test set and validation set appear to be the same dataset. According to my understanding, they should not be the same dataset.

> > 你好,我想请教一下,我学习了一下LSTM多变量3这个完整的算例,结果看上去预测值会比实际值滞后一格,请问这是为什么。从代码上看标签都是取得数据重构后最后一列的数据,这个现象是正常的嘛。 ![image](https://user-images.githubusercontent.com/92704247/138576889-fb9428f6-cbf1-42b9-a1c9-0623ea8abce7.png) ![image](https://user-images.githubusercontent.com/92704247/138576898-b26fa9f4-0a1c-47da-a57a-9500fbf6f3a7.png)

你好,我想请教一下,我学习了一下LSTM多变量3这个完整的算例,结果看上去预测值会比实际值滞后一格,请问这是为什么。从代码上看标签都是取得数据重构后最后一列的数据,这个现象是正常的嘛。 image image

是正常的,主要原因是这是这个网络只是一个用于学习的基本的简单网络,以及训练数据集并不足够,并没有训练得到很好的效果。如果想进一步提高准确率,需要对网络模型进行进一步的优化

补充多问一下,主要的运行过程中最后计算得到的RMSE是根据这个错位结果来的,导致RMSE看上去挺大的。别的算例里面有训练数据集不足的,确实是看上去是简单的平移,这个算例初始的训练集是一年,我把它增加到两年三年好像也没有改善,麻烦请教一下训练集大概要是多少才能不出现这种现象。
另外,真的很感谢,算例讲得其实很清楚,有很多注释,算是我神经网络的入门学习资料了!

Originally posted by @Zhujh0224 in #4 (comment)

关于LSTM预测结果滞后的问题

你好,我想请教一下,我学习了一下LSTM多变量3这个完整的算例,结果看上去预测值会比实际值滞后一格,请问这是为什么。从代码上看标签都是取得数据重构后最后一列的数据,这个现象是正常的嘛。
image
image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.