python - 如何标准化矩阵?

标签 python algorithm math numpy

基本上,取一个矩阵并对其进行更改,使其均值等于 0,方差为 1。我正在使用 numpy 的数组,所以如果它已经可以做到,那就更好了,但我可以自己实现它,只要我可以找到算法。

编辑:nvm nimrodm 有更好的实现

最佳答案

下面从每个元素中减去A的均值(新均值为0),然后用标准差对结果进行归一化。

import numpy as np
A = (A - np.mean(A)) / np.std(A)

以上是为了将整个矩阵标准化为一个整体,如果 A 有很多维度并且您想单独标准化每一列,请指定 axis :

import numpy as np
A = (A - np.mean(A, axis=0)) / np.std(A, axis=0)

在将这些单行代码集成到您的代码之前,请务必手动验证它们在做什么。方向或尺寸的简单更改可以(无声地)彻底改变 numpy 对它们执行的操作。

关于python - 如何标准化矩阵?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4544292/

相关文章:

math - float 学有问题吗?

python - 迭代数据框中的列以运行/追加计算

python - 从 python 中的 pdf 识别分布

python - Mac OS X 10.9 后无法安装 PIL

python - 从 flask 中的客户处获取时间

algorithm - 大 O 的紧界是什么?

java - 生成对称图片的算法

c++ - 数组旋转和删除

algorithm - acosf() 的精确矢量化实现

python - 将序列四舍五入为 N 位有效数字