plt.plot(scaler.inverse_transform((model(x_train_tensor).detach().numpy()).reshape(-1, 1)), "b") plt.plot(scaler.inverse_transform(y_train_tensor.detach().numpy().reshape(-1, 1)), "r")中model(x_train_tensor有60000个数,怎么取前1000个
时间: 2024-02-28 08:57:59 浏览: 102
可以使用切片操作来获取前1000个数,如下所示:
```
plt.plot(scaler.inverse_transform((model(x_train_tensor)[:1000].detach().numpy()).reshape(-1, 1)), "b")
plt.plot(scaler.inverse_transform(y_train_tensor[:1000].detach().numpy().reshape(-1, 1)), "r")
```
这里使用了`model(x_train_tensor)[:1000]`来获取前1000个数,`y_train_tensor[:1000]`也是同样的操作。注意要在获取前1000个数后再进行转换和reshape操作。
相关问题
plot_size = 730 plt.figure(figsize=(12, 8)) plt.plot(scaler.inverse_transform((model(x_train_tensor).detach().numpy()[: plot_size]).reshape(-1, 1)), "b") plt.plot(scaler.inverse_transform(y_train_tensor.detach().numpy().reshape(-1, 1)[: plot_size]), "r") plt.legend() plt.show() y_test_pred = model(x_test_tensor) plt.figure(figsize=(12, 8)) plt.plot(scaler.inverse_transform(y_test_pred.detach().numpy()[: plot_size]), "b") plt.plot(scaler.inverse_transform(y_test_tensor.detach().numpy().reshape(-1, 1)[: plot_size]), "r") plt.legend() plt.show()这段代码后加上图片保存到文件夹A中,且图片分别以文件名1、文件名2命名
可以在代码中添加如下代码,实现保存图片到文件夹A中,并分别以文件名1、文件名2命名:
```
# 保存训练集预测结果图片
plt.figure(figsize=(12, 8))
plt.plot(scaler.inverse_transform((model(x_train_tensor).detach().numpy()[: plot_size]).reshape(-1, 1)), "b")
plt.plot(scaler.inverse_transform(y_train_tensor.detach().numpy().reshape(-1, 1)[: plot_size]), "r")
plt.legend()
plt.savefig('./A/文件名1.png')
# 保存测试集预测结果图片
y_test_pred = model(x_test_tensor)
plt.figure(figsize=(12, 8))
plt.plot(scaler.inverse_transform(y_test_pred.detach().numpy()[: plot_size]), "b")
plt.plot(scaler.inverse_transform(y_test_tensor.detach().numpy().reshape(-1, 1)[: plot_size]), "r")
plt.legend()
plt.savefig('./A/文件名2.png')
```
其中,`plt.savefig()`函数可以将图片保存到指定路径和文件名下。需要注意的是,如果`A`文件夹不存在,需要先创建该文件夹,可以使用`os.makedirs()`函数来创建。
# 9.绘制结果 plot_size = 200 plt.figure(figsize=(12, 8)) plt.plot(scaler.inverse_transform((model(x_train_tensor).detach().numpy()[: plot_size]).reshape(-1, 1)), "b") plt.plot(scaler.inverse_transform(y_train_tensor.detach().numpy().reshape(-1, 1)[: plot_size]), "r") plt.legend() plt.show() y_test_pred = model(x_test_tensor) # data是一个以为度得列表 ,这样是把数据写进去一列 print("--------------------------") yuce=scaler.inverse_transform(y_test_pred.detach().numpy()) true=scaler.inverse_transform(y_test_tensor.detach().numpy().reshape(-1, 1)) res = [] for i in range(len(yuce)): temp=[] temp.append(true[i][0]) temp.append(yuce[i][0]) # print() # print(yuce[i][0]) res.append(temp) columns = ['真实值', '预测值'] test = pd.DataFrame(columns=columns, data=res) test.to_csv('jieguo.csv') plt.figure(figsize=(12, 8)) plt.plot(scaler.inverse_transform(y_test_pred.detach().numpy()[: plot_size]), "b") plt.plot(scaler.inverse_transform(y_test_tensor.detach().numpy().reshape(-1, 1)[: plot_size]), "r") plt.legend() plt.show()
这段代码用于绘制模型的预测结果和真实值,并将结果保存到一个名为"jieguo.csv"的文件中。
首先,我们设置了绘图的尺寸为12x8,并使用蓝色线条绘制了模型对训练数据的预测结果,使用红色线条绘制了真实值。然后,通过调用`plt.legend()`方法添加图例,并通过`plt.show()`显示图形。
接下来,我们使用模型对测试数据进行预测,并使用`scaler.inverse_transform()`方法将预测值和真实值转换回原始数据的尺度。然后,我们将结果保存到一个名为"jieguo.csv"的文件中。
最后,我们再次绘制了模型对测试数据的预测结果和真实值,并通过`plt.legend()`方法添加图例,并通过`plt.show()`显示图形。
请注意,这段代码中的绘图部分可能需要依赖matplotlib库进行绘图操作,请确保已经正确安装并导入该库。另外,代码中涉及到的变量和函数调用需要根据实际情况进行替换。
阅读全文