plt.figure(figsize=(10,8)) plt.plot(list(np.arange(0,len(data1_0))),data1_0,label='原序列') plt.plot(list(np.arange(0,len(data1_0))),data1_1_3,label='平滑后的序列') plt.title('移动平均法(窗口大小为3个)数据平滑对比图') plt.xlabel('时间序列') plt.ylabel('速度(km/h)') plt.xticks(range(0,110,10)) plt.legend() plt.show() plt.figure(figsize=(10,8)) plt.plot(list(np.arange(0,len(data1_0))),data1_0,label='原序列') plt.plot(list(np.arange(0,len(data1_0))),data1_1_5,label='平滑后的序列') plt.title('移动平均法(窗口大小为5个)数据平滑图') plt.xlabel('时间序列') plt.ylabel('速度(km/h)') plt.xticks(range(0,110,10)) plt.legend() plt.show()如何将两幅图合并
时间: 2023-06-07 20:11:39 浏览: 59
可以使用subplot函数将两幅图合并:
plt.figure(figsize=(10,8))
plt.subplot(2,1,1)
plt.plot(list(np.arange(0,len(data1_0))),data1_0,label='原序列')
plt.plot(list(np.arange(0,len(data1_0))),data1_1_3,label='平滑后的序列')
plt.title('移动平均法(窗口大小为3个)数据平滑对比图')
plt.xlabel('时间序列')
plt.ylabel('速度(km/h)')
plt.xticks(range(0,110,10))
plt.legend()
plt.subplot(2,1,2)
plt.plot(list(np.arange(0,len(data1_0))),data1_0,label='原序列')
plt.plot(list(np.arange(0,len(data1_0))),data1_1_5,label='平滑后的序列')
plt.title('移动平均法(窗口大小为5个)数据平滑图')
plt.xlabel('时间序列')
plt.ylabel('速度(km/h)')
plt.xticks(range(0,110,10))
plt.legend()
plt.show()
相关问题
解释这段代码def plot_confusion_matrix(cm, title='混淆矩阵', cmap=plt.cm.Blues, labels=[]): plt.figure(figsize=(8,8),dpi=600) plt.imshow(cm, interpolation='nearest', cmap=cmap) plt.title(title,fontsize=15) plt.colorbar(fraction=0.045,pad=0.05) tick_marks = np.arange(len(labels)) ind_array = np.arange(len(classes)) x, y = np.meshgrid(ind_array, ind_array)
这段代码是用于绘制混淆矩阵的,用于评估分类模型的性能表现。其中,输入参数cm表示混淆矩阵,title表示图表标题,cmap表示颜色映射,labels表示类别标签。这段代码使用了matplotlib库和numpy库来完成图表绘制和数据处理。
data=pd.read_csv('boston_house_prices.csv') x=data.iloc[:,:-1] y=data.iloc[:,-1] print(data.head(5)) x_train,x_test,y_train,y_test = train_test_split(x, y,\ test_size=0.2, random_state=8) # 测试集占20%,随机数种子:8 # 建立模型 model=Sequential() # 10个神经元进行线性拟合 model.add(Dense(10,input_shape=(13,))) # 输出层 model.add(Dense(1)) # 定义梯度下降算法和损失函数 model.compile(optimizer='adam',loss='mse') # 训练2500次 history=model.fit(x_train,y_train,epochs=250) # 绘制损失函数图像 plt.plot(history.epoch,history.history.get('loss')) plt.show() # 测试 y_fit=model.predict(x_test) plt.rcParams['font.sans-serif']='SimHei' plt.figure(figsize=(8,5)) plt.plot(np.arange(len(y_test)),y_test,color='r') plt.plot(np.arange(len(y_fit)),y_fit,color='b',linestyle=':') plt.show()请解释每行代码
1. `data=pd.read_csv('boston_house_prices.csv')`: 读取名为boston_house_prices.csv的CSV文件并将其存储到一个Pandas数据框中。
2. `x=data.iloc[:,:-1]`: 选择数据框中除了最后一列以外的所有列作为输入。
3. `y=data.iloc[:,-1]`: 选择数据框中最后一列的所有数据作为输出。
4. `print(data.head(5))`: 打印数据框中前5行数据。
5. `x_train,x_test,y_train,y_test = train_test_split(x, y,\ test_size=0.2, random_state=8)`: 将数据随机分成训练集和测试集,其中测试集占20%。使用随机数种子为8,以确保结果的可重复性。
6. `model=Sequential()`: 创建一个新的Sequential模型。
7. `model.add(Dense(10,input_shape=(13,)))`: 在模型中添加一个具有10个神经元和13个输入维度的全连接层。
8. `model.add(Dense(1))`: 在模型中添加一个具有1个神经元的全连接层。
9. `model.compile(optimizer='adam',loss='mse')`: 编译模型,使用Adam梯度下降算法和均方误差损失函数。
10. `history=model.fit(x_train,y_train,epochs=250)`: 训练模型,使用x_train和y_train作为输入和输出数据,并进行250个epoch的训练。
11. `plt.plot(history.epoch,history.history.get('loss'))`: 绘制损失函数随时间的变化图像。
12. `plt.show()`: 显示图形。
13. `y_fit=model.predict(x_test)`: 使用训练好的模型对x_test进行预测并将结果存储到y_fit中。
14. `plt.rcParams['font.sans-serif']='SimHei'`: 设置中文字体为黑体。
15. `plt.figure(figsize=(8,5))`: 创建一个8x5的图形。
16. `plt.plot(np.arange(len(y_test)),y_test,color='r')`: 绘制测试集的真实值。
17. `plt.plot(np.arange(len(y_fit)),y_fit,color='b',linestyle=':')`: 绘制模型的预测值。
18. `plt.show()`: 显示图形。