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

口碑好的大良网站建设用文件传输协议登录网站

口碑好的大良网站建设,用文件传输协议登录网站,设计素材网站名称,邳州网页定制这是我的第312篇原创文章。 一、引言 单站点多变量输入多变量输出单步预测问题----基于LSTM实现。 多输入就是输入多个特征变量 多输出就是同时预测出多个标签的结果 单步就是利用过去N天预测未来1天的结果 二、实现过程 2.1 读取数据集 dfpd.read_csv(data.csvpd.read_csv(data.csv, parse_dates[Date], index_col[0]) print(df.shape) print(df.head()) fea_num len(df.columns) df 2.2 划分数据集 # 拆分数据集为训练集和测试集 test_splitround(len(df)*0.20) df_for_trainingdf[:-test_split] df_for_testingdf[-test_split:]# 绘制训练集和测试集的折线图 plt.figure(figsize(10, 6)) plt.plot(train_data, labelTraining Data) plt.plot(test_data, labelTesting Data) plt.xlabel(Year) plt.ylabel(Passenger Count) plt.title(International Airline Passengers - Training and Testing Data) plt.legend() plt.show() 共5203条数据8:2划分训练集4162测试集1041。 训练集和测试集 2.3 归一化 # 将数据归一化到 0~1 范围整体一起做归一化 scaler MinMaxScaler(feature_range(0,1)) df_for_training_scaled scaler.fit_transform(df_for_training) df_for_testing_scaledscaler.transform(df_for_testing) 2.4 构造LSTM数据集时序--监督学习 def createXY(data, win_size, target_feature_idxs):passwin_size 12 # 时间窗口 target_feature_idxs [0, 1, 2, 3, 4] # 指定待预测特征列索引 trainX, trainY createXY(df_for_training_scaled, win_size, target_feature_idxs) testX, testY createXY(df_for_testing_scaled, win_size, target_feature_idxs) print(训练集形状:, trainX.shape, trainY.shape) print(测试集形状:, testX.shape, testY.shape)# 将数据集转换为 LSTM 模型所需的形状样本数时间步长特征数 trainX np.reshape(trainX, (trainX.shape[0], win_size, fea_num)) testX np.reshape(testX, (testX.shape[0], win_size, fea_num))print(trainX Shape-- ,trainX.shape) print(trainY Shape-- ,trainY.shape) print(testX Shape-- ,testX.shape) print(testY Shape-- ,testY.shape) 滑动窗口设置为12 取出df_for_training_scaled第【1-12】行第【1-5】列的12条数据作为trainX[0]取出df_for_training_scaled第【13】行第【1-5】列的1条数据作为trainY[0]依此类推。最终构造出的训练集数量4150比划分时候的训练集数量4162少一个滑动窗口12。 trainX是一个4150125的三维数组三个维度分布表示样本数量步长特征数每一个样本比如trainX[0]是一个125二维数组表示步长特征数这也是LSTM模型每一步的输入。 trainY是一个41505的二维数组二个维度分布表示样本数量标签数每一个样本比如trainY[0]是一个5一维数组表示标签数这也是LSTM模型每一步的输出。 2.5 建立模拟合模型 # 输入维度 input_shape Input(shape(trainX.shape[1], trainX.shape[2])) # LSTM层 lstm_layer LSTM(128, activationrelu)(input_shape) # 全连接层 dense_1 Dense(64, activationrelu)(lstm_layer) dense_2 Dense(32, activationrelu)(dense_1) # 输出层 output_1 Dense(1, nameOpen)(dense_2) output_2 Dense(1, nameHigh)(dense_2) output_3 Dense(1, nameLow)(dense_2) output_4 Dense(1, nameClose)(dense_2) output_5 Dense(1, nameAdjClose)(dense_2) model Model(inputs input_shape, outputs [output_1, output_2, output_3, output_4, output_5]) model.compile(lossmse, optimizeradam) model.summary() 这是一个多输入多输出的 LSTM 模型接受包含12个时间步长和5个特征的输入序列在经过一层128个神经元的 LSTM 层和5个全连接层后输出5个单独的预测结果分别是 Open、High、 Low、Close和 AdjClose。 进行训练这里[trainY[:,i] for i in range(trainY.shape[1])]把原来的trainY做了转置是一个54150的二维数组分别表示标签数样本数。相当于建立了5个通道每个通道是4150的一维数组。 history model.fit(trainX, [trainY[:,i] for i in range(trainY.shape[1])], epochs20, batch_size32) 2.6 进行预测 进行预测上面我们分析过模型每一步的输入是一个125二维数组表示步长特征数模型每一步的输出是是一个5一维数组表示标签数 prediction_test model.predict(testX) 如果直接model.predict(testX)testX的形状是1029125是一个批量预测输出prediction_test是一个510291的三维数组prediction_test[0]就是第一个标签的预测结果prediction_test[1]就是第二个标签的预测结果...多输出就是同时预测出多个标签的结果。 2.7 预测效果展示 分析一下第一个变量open的效果i0 prediction_train model.predict(trainX) prediction_train0model.predict(trainX)[i] prediction_train_copies_array  ... pred_train... original_train_copies_array trainY original_train... print(train Pred Values-- , pred_train) print(\ntrain Original Values-- , original_train) plt.plot(df_for_training.index[win_size:,], original_train, color red, label 真实值) plt.plot(df_for_training.index[win_size:,], pred_train, color blue, label 预测值) plt.title(Stock Price Prediction) plt.xlabel(Time) plt.xticks(rotation45) plt.ylabel(Stock Price) plt.legend() plt.show() 训练集真实值与预测值 prediction_test model.predict(testX) prediction_test0model.predict(testX)[i] prediction_test_copies_array ... pred_test... original_test_copies_array testY original_test... print(\ntest Original Values-- , original_test) plt.plot(df_for_testing.index[win_size:,], original_test, color red, label 真实值) plt.plot(df_for_testing.index[win_size:,], pred_test, color blue, label 预测值) plt.title(Stock Price Prediction) plt.xlabel(Time) plt.xticks(rotation45) plt.ylabel(Stock Price) plt.legend() plt.show() 测试集真实值与预测值 2.8 评估指标 作者简介 读研期间发表6篇SCI数据挖掘相关论文现在某研究院从事数据算法相关科研工作结合自身科研实践经历不定期分享关于Python、机器学习、深度学习、人工智能系列基础知识与应用案例。致力于只做原创以最简单的方式理解和学习关注我一起交流成长。需要数据集和源码的小伙伴可以关注底部公众号添加作者微信。
http://www.pierceye.com/news/23783/

相关文章:

  • 上海网站建设 网站开上海专业网站建站品
  • 河源公司做网站免费建企业网站哪个好
  • 丹徒网站建设哪家好各大高校的校园网站建设
  • 快站app制作东莞企业网站建设报价
  • 人人开发网站如何偷别人dedecms网站的模板
  • 网站 标题 字体网站服务器到期查询
  • wordpress 内容付费网站优化如何提高排名
  • 西宁高端网站建设今天最新生猪价格
  • 免费的网站域名网站模块下载
  • 厦门建网站网址贵阳网站建设zu97
  • 高阳县做企业网站页面效果设计
  • 文化馆网站建设许昌建设企业网站
  • 松江手机网站开发手机网站用什么开发
  • 英文网站google推广wordpress 加音乐
  • 建立一个个人网站修改wordpress ftp端口
  • 张东敏 上海 科技 网站建设海珠网站建设报价
  • 做网站的费用计入什么科目展台设计网站都有哪些
  • 周口网站推广推广普通话奋进新征程海报
  • 南宁做网站公司必荐云尚网络影视网站建设平台
  • 医疗网站的运营免费网页设计模板网站
  • html5 做手机网站必应搜索国际版
  • 广州网站建设广州网络推广公司好昆山网站建设价格
  • 设备网站建设深圳市住房和建设局住建局官网
  • 星沙网站建设第一ppt网站官网
  • 网站系统的设计与实现广州外贸网站建设公司价格
  • 南县建设局网站网站建设团队架构
  • 海口市建设工程质量安全监督站网站网易企业邮箱功能介绍
  • 预付做网站定金如何怀化网站制作
  • 深圳做网站的网络关于网站建设的投标书
  • 电子商务网站建设实践wordpress仿站教程网