nim*_*odm 62
以下从每个元素中减去A的平均值(新均值为0),然后将结果标准化为标准偏差.
from numpy import *
A = (A - mean(A)) / std(A)
Run Code Online (Sandbox Code Playgroud)
以上是整个矩阵的标准化,如果A有多个维度,并且您希望单独标准化每个列,请指定轴:
from numpy import *
A = (A - mean(A, axis=0)) / std(A, axis=0)
Run Code Online (Sandbox Code Playgroud)
在将这些单行程序集成到代码中之前,请务必手动验证这些单行程序的作用.方向或维度的简单改变可以彻底改变(无声地)numpy对它们执行的操作.
from sklearn.preprocessing import StandardScaler
standardized_data = StandardScaler().fit_transform(your_data)
Run Code Online (Sandbox Code Playgroud)
例子:
>>> import numpy as np
>>> from sklearn.preprocessing import StandardScaler
>>> data = np.random.randint(25, size=(4, 4))
>>> data
array([[17, 12, 4, 17],
[ 1, 16, 19, 1],
[ 7, 8, 10, 4],
[22, 4, 2, 8]])
>>> standardized_data = StandardScaler().fit_transform(data)
>>> standardized_data
array([[ 0.63812398, 0.4472136 , -0.718646 , 1.57786412],
[-1.30663482, 1.34164079, 1.55076242, -1.07959124],
[-0.57735027, -0.4472136 , 0.18911737, -0.58131836],
[ 1.24586111, -1.34164079, -1.02123379, 0.08304548]])
Run Code Online (Sandbox Code Playgroud)
在大型数据集上效果很好。
| 归档时间: |
|
| 查看次数: |
32678 次 |
| 最近记录: |