如何解决多次运行的矩阵归一化,这段代码有什么作用?
我在一段时间内收集了几个 numpy 矩阵。我现在想可视化这些矩阵并探索它们之间的视觉相似性。矩阵包含从 0.0 到 1.0 的小数。
为了比较它们,我想确保相同的“区域”用相同的颜色着色,例如0.01 到 0.02 总是红色,0.02 到 0.03 总是绿色。我有两个问题:
a = np.random.normal(0.0,0.5,size=(5000,10))**2
a = a/np.sum(a,axis=1)[:,None] # normalize
plt.pcolor(a)
第二行的作用是什么,正是 [:,None]
语句。我尝试通过以下方式对矩阵进行归一化:
max_a = a/10# normalize
print(max_a.shape)
plt.pcolor(max_a)
但与非归一化矩阵的可视化相比,没有太大的视觉差异。当我添加 [:,None]
语句时,出现错误
ValueError: too many values to unpack (expected 2)
这是预期的,因为形状现在是 10,1,10
。因此,我想知道括号的作用以及如何阅读声明。
其次,也是相关的,我想确保我可以直观地比较矩阵。因此,我想修复“着色”,例如颜色为绿色或红色时的范围,这样我就不会在图 A 中以 0 到 0.1 为绿色,而在图 B 中以 0 到 0.1 为红色。如何修复从浮点数到颜色的“转换”?我是否必须使用相同的常数对每个矩阵进行归一化,例如10?或者我是否使用唯一值对它们进行规范化——我什至需要在这里规范化吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。