当前位置: 首页 > news >正文

设计师接单的网站如何做好互联网营销推广

设计师接单的网站,如何做好互联网营销推广,网络推广公司效果不好起诉,网站建设业务的途径的体会LSTM复现笔记和问题记录 1 LSTM复现记录1.1 复现环境配置1.2 LSTM_Fly文件夹1.2.1 LSTM回归网络(1→1).py1.2.1.1 加载数据1.2.1.2 数据处理1.2.1.3 输入模型维度 1.2.2 移动窗口型回归(3→1).py1.2.2.1 数据处理1.2.2.2 输入模型维度 1.2.3 时间步长型回归(3→1).py1.2.3.1 数…

LSTM复现笔记和问题记录

  • 1 LSTM复现记录
    • 1.1 复现环境配置
    • 1.2 LSTM_Fly文件夹
      • 1.2.1 LSTM回归网络(1→1).py
        • 1.2.1.1 加载数据
        • 1.2.1.2 数据处理
        • 1.2.1.3 输入模型维度
      • 1.2.2 移动窗口型回归(3→1).py
        • 1.2.2.1 数据处理
        • 1.2.2.2 输入模型维度
      • 1.2.3 时间步长型回归(3→1).py
        • 1.2.3.1 数据处理
        • 1.2.3.2 输入模型维度
    • 1.3 LSTM系列文件夹
      • 1.3.1 LSTM单变量4
        • 1.3.1.1 输入模型维度1
      • 1.3.2 LSTM多变量3
        • 1.3.2.1 输入模型维度
      • 1.3.3 Multi-Step LSTM预测2
        • 1.3.3.1 输入模型维度
    • 1.4 stock_predict
      • 1.4.1 stock_predict_1.py
        • 1.4.1.1 输入模型维度
    • 1.5 洗发水销量(单步预测)
      • 1.5.1 6.LSTM模型实例.py
  • 总结

1 LSTM复现记录

复现github链接:https://github.com/yangwohenmai/LSTM.git

1.1 复现环境配置

采用cuda10.1;1050ti显卡; python版本:3.8.20

absl-py==2.1.0
astunparse==1.6.3
cachetools==4.2.4
certifi==2025.1.31
charset-normalizer==3.4.1
contourpy==1.1.1
cycler==0.12.1
fonttools==4.56.0
gast==0.3.3
google-auth==1.35.0
google-auth-oauthlib==0.4.6
google-pasta==0.2.0
grpcio==1.70.0
h5py==2.10.0
idna==3.10
importlib_metadata==8.5.0
importlib_resources==6.4.5
joblib==1.4.2
Keras-Preprocessing==1.1.2
kiwisolver==1.4.7
Markdown==3.7
MarkupSafe==2.1.5
matplotlib==3.3.4
numpy==1.18.5
oauthlib==3.2.2
opt_einsum==3.4.0
packaging==24.2
pandas==1.1.5
pillow==10.4.0
protobuf==3.20.0
pyasn1==0.6.1
pyasn1_modules==0.4.1
pyparsing==3.1.4
python-dateutil==2.9.0.post0
pytz==2025.1
PyYAML==6.0.2
requests==2.32.3
requests-oauthlib==2.0.0
rsa==4.9
scikit-learn==0.24.2
scipy==1.4.1
six==1.17.0
tensorboard==2.2.2
tensorboard-data-server==0.7.2
tensorboard-plugin-wit==1.8.1
tensorflow-gpu==2.2.0
tensorflow-gpu-estimator==2.2.0
termcolor==2.4.0
Theano==1.0.5
threadpoolctl==3.5.0
tzdata==2025.1
urllib3==2.2.3
Werkzeug==3.0.6
wrapt==1.17.2
zipp==3.20.2

注:这个版本得tensorflow中自带keras,后面keras.xxx相关模块得导入,修改成tensorflow.keras.xxx

vscode配置:

{"version": "1.95.2","configurations": [{"name": "Python Debugger: Current File","type": "debugpy","request": "launch","program": "${file}","console": "integratedTerminal","cwd":"${fileDirname}",}]
}

1.2 LSTM_Fly文件夹

1.2.1 LSTM回归网络(1→1).py

将数据截取成1->1的监督学习格式:即用前一个数据预测后一个数据

1.2.1.1 加载数据

加载数据时未考虑第一列的时间序列,故命名未回归网络

# 加载数据
dataframe = read_csv('airline-passengers.csv', usecols=[1], engine='python')
1.2.1.2 数据处理

look_back参数设置为1,实现前一个值预测后一个值

# 将数据截取成1->1的监督学习格式
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 numpy.array(dataX), numpy.array(dataY)# 预测数据步长为1,一个预测一个,1->1
look_back = 1
trainX, trainY = create_dataset(train, look_back)
testX, testY = create_dataset(test, look_back)
1.2.1.3 输入模型维度
# 重构输入数据格式 [samples, time steps, features] = [93,1,1]
trainX = numpy.reshape(trainX, (trainX.shape[0], 1, trainX.shape[1]))
testX = numpy.reshape(testX, (testX.shape[0], 1, testX.shape[1]))# 构建 LSTM 网络
model = Sequential()
model.add(LSTM(4, input_shape=(1, look_back)))
model.add(Dense(1))
model.compile(loss='mean_squared_error', optimizer='adam')model.fit(trainX, trainY, epochs=100, batch_size=1, verbose=2)

1.2.2 移动窗口型回归(3→1).py

用重构的长度为3的数据预测一个数据,相当于进行了特征重构,前三个时间步作为特征进行变换,预测后一个值。

1.2.2.1 数据处理
# 将数据截取成3个一组的监督学习格式
def create_dataset(dataset, look_back=1):dataX, dataY = [], []# 这里没有充分利用数据,若修改为len(dataset)-look_back,然后加上dataset[i + look_back, 0]才刚好遍历到最后一个数据# 如果没有加上Y,则是len(dataset)-look_back+1for 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 numpy.array(dataX), numpy.array(dataY)
1.2.2.2 输入模型维度
# 预测数据步长为3,三个预测一个,3->1
look_back = 3
trainX, trainY = create_dataset(train, look_back)
testX, testY = create_dataset(test, look_back)
# 重构输入数据格式 [samples, time steps, features] = [93,1,3]
trainX = numpy.reshape(trainX, (trainX.shape[0], 1, trainX.shape[1]))
testX = numpy.reshape(testX, (testX.shape[0], 1, testX.shape[1]))
# 构建 LSTM 网络
model = Sequential()
model.add(LSTM(4, input_shape=(1, look_back)))
model.add(Dense(1))
model.compile(loss='mean_squared_error', optimizer='adam')
model.fit(trainX,trainY, epochs=100, batch_size=1, verbose=2)
# 对训练数据的Y进行预测
trainPredict = model.predict(trainX)

1.2.3 时间步长型回归(3→1).py

用时间步长为3,特征维度为1的数据预测后一个数据,前三个时间步里的一个元素作为特征用于预测后一个值。

1.2.3.1 数据处理
# 将数据截取成3个一组的监督学习格式
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 numpy.array(dataX), numpy.array(dataY)
1.2.3.2 输入模型维度
# 重构输入数据格式 [samples, time steps, features] = [93,3,1]
trainX = numpy.reshape(trainX, (trainX.shape[0], trainX.shape[1], 1))
testX = numpy.reshape(testX, (testX.shape[0], testX.shape[1], 1))
# 构建 LSTM 网络
model = Sequential()
# model.add(LSTM(4, input_shape=(1, look_back)))
model.add(LSTM(4, input_shape=(look_back, 1)))
model.add(Dense(1))
model.compile(loss='mean_squared_error', optimizer='adam')
model.fit(trainX, trainY, epochs=100, batch_size=1, verbose=2)
# 对训练数据的Y进行预测
trainPredict = model.predict(trainX)

1.3 LSTM系列文件夹

1.3.1 LSTM单变量4

使用前面1个步长里的一个特征元素的数据预测后一个值。

1.3.1.1 输入模型维度1

这里代码中可以看出是使用的前一个时间步的一个特征元素的值来预测后一个值。

# fit LSTM来训练数据
def fit_lstm(train, batch_size, nb_epoch, neurons):X, y = train[:, 0:-1], train[:, -1]X = X.reshape(X.shape[0], 1, X.shape[1])  # 注意这个reshape,一般会需要reshape从二维变成三维,因为这里time_step为1,所以中间的值为1model = Sequential()# 添加LSTM层model.add(LSTM(neurons, batch_input_shape=(batch_size, X.shape[1], X.shape[2]), stateful=True))model.add(Dense(1))  # 输出层1个node# 编译,损失函数mse+优化算法adammodel.compile(loss='mean_squared_error', optimizer='adam')for i in range(nb_epoch):# 按照batch_size,一次读取batch_size个数据model.fit(X, y, epochs=1, batch_size=batch_size, verbose=0, shuffle=False)model.reset_states()print("当前计算次数:"+str(i))return model

1.3.2 LSTM多变量3

使用前面1个时间步长里的多个特征元素的数据预测后一个值。

1.3.2.1 输入模型维度

这里代码中可以看出是使用的前一个时间步的多个特征元素的值来预测后一个值。

#拆分输入输出 split into input and outputs
train_X, train_y = train[:, :-1], train[:, -1]
test_X, test_y = test[:, :-1], test[:, -1]
#reshape输入为LSTM的输入格式 reshape input to be 3D [samples, timesteps, features]
train_X = train_X.reshape((train_X.shape[0], 1, train_X.shape[1]))
test_X = test_X.reshape((test_X.shape[0], 1, test_X.shape[1]))
print ('train_x.shape, train_y.shape, test_x.shape, test_y.shape')
print(train_X.shape, train_y.shape, test_X.shape, test_y.shape)##模型定义 design network
model = Sequential()
model.add(LSTM(50, input_shape=(train_X.shape[1], train_X.shape[2])))  # 注意这段,input_shape的前一个元素表示前面步长,reshape时变为1,后一个元素表示每个时间步长里的元素特征数量
model.add(Dense(1))
model.compile(loss='mae', optimizer='adam')
#模型训练 fit network
history = model.fit(train_X, train_y, epochs=5, batch_size=72, validation_data=(test_X, test_y), verbose=2,shuffle=False)

1.3.3 Multi-Step LSTM预测2

使用前面1个时间步长里的单个特征元素的数据预测后面多个时间步长的单个特征元素值。

1.3.3.1 输入模型维度

具体数据变换维度见代码。

1.4 stock_predict

1.4.1 stock_predict_1.py

用时间步长为20,特征维度为1的数据预测后20数据,前20个时间步里的一个元素作为特征用于预测后20个时间步里的单个元素值。

1.4.1.1 输入模型维度

具体数据变换维度见代码。

#———————————————————形成训练集—————————————————————
time_step = 20      #时间步
rnn_unit = 10       #hidden layer units
lstm_layers = 2     #每一批次训练多少个样例
batch_size = 60     #输入层维度  #每一批次训练多少个样例
input_size = 1      #输入层维度
output_size = 1     #输出层维度
lr = 0.0006         #学习率
train_x, train_y = [], []#训练集
for i in range(len(normalize_data) - time_step - 1):x = normalize_data[i:i + time_step]y = normalize_data[i + 1:i + time_step + 1]train_x.append(x.tolist())train_y.append(y.tolist())

1.5 洗发水销量(单步预测)

1.5.1 6.LSTM模型实例.py

用前面lag步长的数据,特征维度为1,预测后面特征维度为1的数据
… …

总结

总之,使用前面列的数据预测最后一个列,大多是时间步长为1,每个时间步长都包括变量X和预测值y;另外一种时间步长为n,每个时间步长都包括变量X特征维度可能为1维或多维,另外一个位置时间步长为n对应一个y。

http://www.tj-hxxt.cn/news/83190.html

相关文章:

  • 做直播网站软件有哪些线上推广费用预算
  • 网站建设 要学多久上海有实力的seo推广咨询
  • 同一个域名可以做几个网站吗seo网址超级外链工具
  • 网站推广免费渠道seo服务外包客服
  • 南宁网站设计平台手机如何建网站
  • 网站编程培训公司搜索引擎优化概述
  • 古典asp网站源码江北关键词优化排名seo
  • 学校网站搭建运营推广是做什么的
  • ASP.NET动态网站开发百度提交入口的网址
  • 彩票娱乐网站建设开发宁波seo外包平台
  • 做网站猫腻大吗seo云优化外包
  • 自己做网站卖矿山设备百度推广代理开户
  • 监理网站长沙做优化的公司
  • 怎么给自己的网站做域名上海百度关键词推广
  • 简单做网站的价格网络seo是什么意思
  • 个人工作室的网站网络营销外包公司
  • 广州疫情风险等级seo商城
  • 做磁力链网站西安网红
  • 广西做网站公司有哪些流量精灵app
  • 网页代码制作基础教程搜索引擎优化指的是
  • 网站被攻击如何处理韩国seocaso
  • 选择邯郸做网站百度在线扫一扫
  • 做高端网站的网络公司企业网站seo多少钱
  • 要解析做邮箱以及网站搜索引擎营销的名词解释
  • 贸易公司做网站怎么样自己的app如何接广告
  • 做网站 信科网站建设便宜天津百度优化
  • 长春网站优化实战新闻头条今天最新消息
  • iis部署网站浏览报404百度关键词排名原理
  • 网站建设需要怎么做企业qq一年多少费用
  • 寄生虫网站排名代做在百度上怎么注册网站