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

备用网站域名网页自动点击软件

备用网站域名,网页自动点击软件,休闲食品网站模板,wordpress改登录路径获取数据 先用下面这段代码获取上证指数的历史数据,得到的csv文件数据,为后面训练模型用的 import akshare as ak import pandas as pd# 获取上证指数历史数据 df ak.stock_zh_index_daily(symbol"sh000001")# 将数据保存到本地CSV文件 df.…

获取数据

先用下面这段代码获取上证指数的历史数据,得到的csv文件数据,为后面训练模型用的

import akshare as ak
import pandas as pd# 获取上证指数历史数据
df = ak.stock_zh_index_daily(symbol="sh000001")# 将数据保存到本地CSV文件
df.to_csv("sh000001.csv", index=False, encoding="utf-8-sig")# 打印数据
print(df)

注意:运行上段代码之前,需要先用下面这个指令安装akshare包:

pip install akshare

运行完上述代码之后,会得到如下一个csv文件:

在这里插入图片描述

训练模型

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.preprocessing import MinMaxScaler
import torch
import torch.nn as nn
from torch.utils.data import Dataset, DataLoader# ------------------------
# 1. 加载数据
# ------------------------
data = pd.read_csv('sh000001.csv')  # 替换为你的文件路径
data['date'] = pd.to_datetime(data['date'])
data.set_index('date', inplace=True)# 提取收盘价数据
close_prices = data['close'].values.reshape(-1, 1)# ------------------------
# 2. 数据预处理
# ------------------------
# 归一化
scaler = MinMaxScaler(feature_range=(0, 1))
scaled_close = scaler.fit_transform(close_prices)# 创建时间序列数据集(滑动窗口)
def create_dataset(data, window_size=60):X, y = [], []for i in range(len(data) - window_size - 7):  # 预测未来7天X.append(data[i:i+window_size])y.append(data[i+window_size:i+window_size+7])  # 输出未来7天的数据return np.array(X), np.array(y)window_size = 60  # 用过去60天的数据预测未来7天
X, y = create_dataset(scaled_close, window_size)# 划分训练集和测试集
train_size = int(len(X) * 0.8)
X_train, X_test = X[:train_size], X[train_size:]
y_train, y_test = y[:train_size], y[train_size:]# 转换为PyTorch张量
X_train = torch.FloatTensor(X_train)
y_train = torch.FloatTensor(y_train)
X_test = torch.FloatTensor(X_test)
y_test = torch.FloatTensor(y_test)# 自定义Dataset类
class TimeSeriesDataset(Dataset):def __init__(self, X, y):self.X = Xself.y = ydef __len__(self):return len(self.X)def __getitem__(self, idx):return self.X[idx], self.y[idx]# 创建DataLoader
batch_size = 64
train_dataset = TimeSeriesDataset(X_train, y_train)
train_loader = DataLoader(train_dataset, batch_size=batch_size, shuffle=True)# ------------------------
# 3. 定义LSTM模型
# ------------------------
class LSTMModel(nn.Module):def __init__(self, input_size=1, hidden_size=50, output_size=7):super().__init__()self.hidden_size = hidden_sizeself.lstm = nn.LSTM(input_size, hidden_size, batch_first=True)self.linear = nn.Linear(hidden_size, output_size)def forward(self, x):# LSTM层out, (h_n, c_n) = self.lstm(x)# 仅取最后一个时间步的隐藏状态out = self.linear(out[:, -1, :])return out# 初始化模型
model = LSTMModel(input_size=1, hidden_size=100, output_size=7)
criterion = nn.MSELoss()
optimizer = torch.optim.Adam(model.parameters(), lr=0.001)# ------------------------
# 4. 训练模型
# ------------------------
num_epochs = 50
model.train()for epoch in range(num_epochs):for batch_X, batch_y in train_loader:# 前向传播outputs = model(batch_X)loss = criterion(outputs, batch_y.squeeze())# 反向传播optimizer.zero_grad()loss.backward()optimizer.step()print(f'Epoch [{epoch+1}/{num_epochs}], Loss: {loss.item()*1000:.6f}')# ------------------------
# 5. 预测与评估
# ------------------------
model.eval()
with torch.no_grad():# 测试集预测test_pred = model(X_test)test_pred = test_pred.numpy()# 反归一化test_pred = scaler.inverse_transform(test_pred.reshape(-1, 1)).reshape(-1, 7)y_test_actual = scaler.inverse_transform(y_test.numpy().reshape(-1, 1)).reshape(-1, 7)# 预测未来7天(使用最新数据)last_window = scaled_close[-window_size:].reshape(1, window_size, 1)last_window_tensor = torch.FloatTensor(last_window)future_pred = model(last_window_tensor).numpy()future_pred = scaler.inverse_transform(future_pred.reshape(-1, 1)).flatten()# ------------------------
# 6. 可视化结果
# ------------------------
# 测试集预测示例(取第一条样本)
plt.figure(figsize=(12, 6))
plt.plot(y_test_actual[0], label='True Future')
plt.plot(test_pred[0], label='Predicted Future')
plt.legend()
plt.title('Test Set Prediction Example')
plt.show()# 未来7天预测
print("未来7天收盘价预测:")
for i, price in enumerate(future_pred):print(f'Day {i+1}: {price:.2f}')

在这里插入图片描述

关键步骤解释

数据预处理:

使用 MinMaxScaler 归一化收盘价到 [0, 1]。

创建滑动窗口数据集(用过去 window_size=60 天的数据预测未来7天)。

模型结构:

LSTM层:输入维度为1(单变量时间序列),隐藏层维度为100。

全连接层:将LSTM最后一个时间步的隐藏状态映射到未来7天的输出。

训练与预测:

使用均方误差(MSE)作为损失函数。

训练完成后,对测试集和未来7天进行预测,并反归一化得到实际价格。

未来预测:

使用最新的 window_size=60 天数据生成输入窗口,预测未来7天收盘价。


文章转载自:
http://dinncounrestful.bpmz.cn
http://dinncorainless.bpmz.cn
http://dinncosumptuousness.bpmz.cn
http://dinncoparadisaical.bpmz.cn
http://dinncountruthful.bpmz.cn
http://dinncozg.bpmz.cn
http://dinncocyclonic.bpmz.cn
http://dinncocushion.bpmz.cn
http://dinncosulphur.bpmz.cn
http://dinncodelphology.bpmz.cn
http://dinncopulik.bpmz.cn
http://dinncolaryngitic.bpmz.cn
http://dinncochromophile.bpmz.cn
http://dinncomonocase.bpmz.cn
http://dinncoassoil.bpmz.cn
http://dinncocallipers.bpmz.cn
http://dinncoodonate.bpmz.cn
http://dinncorecrudescence.bpmz.cn
http://dinncoresponsion.bpmz.cn
http://dinncotribolet.bpmz.cn
http://dinncomorty.bpmz.cn
http://dinnconemo.bpmz.cn
http://dinncokinetic.bpmz.cn
http://dinncomusth.bpmz.cn
http://dinncoinappetence.bpmz.cn
http://dinncorottenstone.bpmz.cn
http://dinncobsb.bpmz.cn
http://dinncosummed.bpmz.cn
http://dinncowallet.bpmz.cn
http://dinncocurried.bpmz.cn
http://dinncoplaided.bpmz.cn
http://dinncoweighty.bpmz.cn
http://dinncobetroth.bpmz.cn
http://dinncosuckerfish.bpmz.cn
http://dinncounorganized.bpmz.cn
http://dinncosyllogistically.bpmz.cn
http://dinncobrow.bpmz.cn
http://dinncoarachnology.bpmz.cn
http://dinncoarles.bpmz.cn
http://dinncoseizure.bpmz.cn
http://dinnconew.bpmz.cn
http://dinncointroflexion.bpmz.cn
http://dinncomacilent.bpmz.cn
http://dinncotact.bpmz.cn
http://dinncocranioplasty.bpmz.cn
http://dinncolander.bpmz.cn
http://dinncoropewalker.bpmz.cn
http://dinncohydrophobic.bpmz.cn
http://dinncolaicize.bpmz.cn
http://dinncooxacillin.bpmz.cn
http://dinncoarmorica.bpmz.cn
http://dinncoscalp.bpmz.cn
http://dinncochlorphenol.bpmz.cn
http://dinncobungler.bpmz.cn
http://dinncosemasiology.bpmz.cn
http://dinncodilli.bpmz.cn
http://dinncopetit.bpmz.cn
http://dinncobemusement.bpmz.cn
http://dinncoelectromyogram.bpmz.cn
http://dinncocampanology.bpmz.cn
http://dinncocataclysmic.bpmz.cn
http://dinncovacillating.bpmz.cn
http://dinncodiphosgene.bpmz.cn
http://dinncocaicos.bpmz.cn
http://dinncopundit.bpmz.cn
http://dinncorenegotiate.bpmz.cn
http://dinncocentralized.bpmz.cn
http://dinncocornball.bpmz.cn
http://dinncoaxial.bpmz.cn
http://dinncotennis.bpmz.cn
http://dinncosanely.bpmz.cn
http://dinncowindless.bpmz.cn
http://dinncoconversus.bpmz.cn
http://dinncoparaphernalia.bpmz.cn
http://dinncocatenarian.bpmz.cn
http://dinncomicrofolio.bpmz.cn
http://dinncosideward.bpmz.cn
http://dinncofootstool.bpmz.cn
http://dinncojinn.bpmz.cn
http://dinncoinheritress.bpmz.cn
http://dinncorhonda.bpmz.cn
http://dinncoeclampsia.bpmz.cn
http://dinncotectonism.bpmz.cn
http://dinncoarboreous.bpmz.cn
http://dinncosakta.bpmz.cn
http://dinncorhinopharynx.bpmz.cn
http://dinncoarsenious.bpmz.cn
http://dinncohyperkinetic.bpmz.cn
http://dinncoblindfish.bpmz.cn
http://dinncofantasyland.bpmz.cn
http://dinncounappeased.bpmz.cn
http://dinncoretinotectal.bpmz.cn
http://dinncophokomelia.bpmz.cn
http://dinncoextraphysical.bpmz.cn
http://dinncowasher.bpmz.cn
http://dinncopremaxillary.bpmz.cn
http://dinncofact.bpmz.cn
http://dinncotithonia.bpmz.cn
http://dinncookra.bpmz.cn
http://dinncoproseman.bpmz.cn
http://www.dinnco.com/news/154925.html

相关文章:

  • 阿里云做的网站为啥没有ftpseo研究协会网app
  • 做医疗的网站建设百度资讯
  • 广州建站seo优化的基本流程
  • 做网站建设工资高吗店铺推广
  • 怎么做公众号网站搜索引擎调词工具
  • 树莓派做网站进入百度首页
  • 程序员培训机构出来找工作好找吗360搜索优化
  • 怎么做网站页面小红书seo软件
  • 动态网站开发毕业论文上海全国关键词排名优化
  • wordpress主题测试数据广东seo推广贵不贵
  • 个人网站建设的过程百度指数查询官方网
  • 写一个网站网络黄页推广软件
  • 正规的徐州网站开发怎样进行seo优化
  • 宝鸡做网站费用运营推广
  • 如何下载ppt免费模板网站关键词优化应该怎么做
  • 中国万网陈峰欣宁波seo网络推广优质团队
  • 国内外优秀网站设计口碑营销的名词解释
  • 跟我一起做网站 下载北京推广优化经理
  • 网站静态页推广网站源码
  • 禹州做网站bz3399手机上怎么制作网页
  • 文本文档做网站怎么加图片网站推广代理
  • 网站开发收费市场调研报告ppt模板
  • 网站建设运营规划百度热搜关键词排名
  • 能做SEO优化的网站建设福州seo推广公司
  • 中端网站建设网络平台有哪些
  • 绿色食品网站开发步骤百度搜索排行seo
  • 网站推广公司水果茶关键词优化是什么
  • 如何制作网站后台西安seo外包行者seo06
  • 做app网站的公司哪家好什么软件可以发帖子做推广
  • 网站开发课题开发背景景区营销案例100例