矩阵减法python_如何通过python中的热图减法显示两个矩阵的...

我有两个矩阵[A](Expected_matrice),[B](Predicted_matrice)我需要通过减去它们来创建第三个[C](Error_matrice)[C] = [A] – [B]并将其传递给Pandas数据帧并保存在csv文件中.

由于上述矩阵的大小为24 * 20,我试图:

第一:通过sns.heatmap绘制[C](C,cbar = True,cmap =“gray_gist”)

第二:通过应用和(abs(abs([A]) – abs([B]))/ 24 * 20来评估[C]以检查它有多好.实际上我用它来计算误差量.我也知道可以通过应用以下方法使用Sklearn导入指标中的其他方法(如MSE):

from Sklearn import metrics

print(metrics.mean_squared_error(A,B))

由于矩阵的元素是我用过的列表:[i – j for(i,j)in zip(A,B)]

我的代码如下:

import numpy as np

import pandas as pd

import seaborn as sns

import matplotlib.pyplot as plt

from scipy.ndimage.filters import gaussian_filter

#A,B can be read from .csv files

A = pd.read_csv('D:\A.csv', header=None)

B = pd.read_csv('D:\B.csv', header=None)

#A,B can be assumed as lists

df_A = pd.DataFrame(A)

df_B = pd.DataFrame(B)

#calculate error matrix via subtraction

C = [i - j for (i, j) in zip(A,B)]

#Pass error matrix to Pandas dataframe

df_C = pd.DataFrame(C)

df_C.to_csv('Error_Matrix.csv', header=None, index=None)

#Evaluation

Eval= sum(abs(abs([A])-abs([B])))/24*20

Eval_ = '{:04}'.format(Eval)

print(Eval_)

#Plotting C

fig, ax = plt.subplots(nrows=1, ncols=2 , figsize=(20,15))

plt.subplot(1,2,1)

ax = sns.heatmap(C, cbar=True, cmap="gist_gray")

plt.title(f'Error Matrix Error={Eval_}', fontsize=14 , fontweight='bold', color='black', loc='center', style='italic')

plt.axis('off')

plt.subplot(1,2,2)

C_smooth = gaussian_filter(dfr_b, sigma=1)

ax = sns.heatmap(C_smooth, vmin=np.min(C_smooth), vmax=np.max(C_smooth), cmap ="gray" , cbar=True , cbar_kws={"ticks":[0,33,67,100]})

plt.title(f'Error Matrix Smooth Error={Eval_}', fontsize=14 , fontweight='bold', color='black', loc='center', style='italic')

plt.axis('off')

plt.savefig('Error_Matrix.png')

plt.show()

预期成绩:

注意白色显示错误= 0,纯黑色显示错误=最大值.

大多数应该是错误,但我不希望有黑色的结果我预计灰色主要是.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值