python 中的 sklearn 如何计算 .scale_? (它的算法到底是什么?)
How .scale_ is calculated by sklearn in python? (What is it's algorithm exactly?)
拜托,假设我们有这样一个数组:
import numpy as np
X_train = np.array([[ 1., -1., 2.],
[ 2., 0., 0.],
[ 0., 1., -1.]])
我们用 sklearn
中存在的 .scale_
缩放它,代码如下:
from sklearn import preprocessing
scaler = preprocessing.StandardScaler().fit(X_train)
scaler.scale_
显示了这样的结果:
array([0.81649658, 0.81649658, 1.24721913])
你知道它是怎么计算出来的吗?
如果你知道,请写出它的公式,它是如何计算的?
我假设 .scale_
显示 Interquartile range (IQR)
,但是当我手动计算时 IQR
是:
array([2, 2, 3]) rather than `array([0.81649658, 0.81649658, 1.24721913])`.
此外,我认为 array([0.81649658, 0.81649658, 1.24721913])
是 array([2, 2, 3])
的 正常 类型,但我不知道它是如何规范化的。
请帮我找到它。
计算均值、方差和标准差的三个主要统计量
mean = preprocessing.StandardScaler().fit(X_train).mean_
variance = preprocessing.StandardScaler().fit(X_train).var_
Standard_deviation = preprocessing.StandardScaler().fit(X_train).scale_
根据问题:
X_train = np.array([[ 1., -1., 2.],
[ 2., 0., 0.],
[ 0., 1., -1.]])
mean = preprocessing.StandardScaler().fit(X_train).mean_
print(mean)
array([1. , 0. , 0.33333333])
variance = preprocessing.StandardScaler().fit(X_train).var_
print(variance )
array([0.66666667, 0.66666667, 1.55555556])
Standard_deviation = preprocessing.StandardScaler().fit(X_train).scale_
print(Standard_deviation )
array([0.81649658, 0.81649658, 1.24721913])
换句话说:
scaler.scale_ = np.sqrt(scaler.var_)
拜托,假设我们有这样一个数组:
import numpy as np
X_train = np.array([[ 1., -1., 2.],
[ 2., 0., 0.],
[ 0., 1., -1.]])
我们用 sklearn
中存在的 .scale_
缩放它,代码如下:
from sklearn import preprocessing
scaler = preprocessing.StandardScaler().fit(X_train)
scaler.scale_
显示了这样的结果:
array([0.81649658, 0.81649658, 1.24721913])
你知道它是怎么计算出来的吗?
如果你知道,请写出它的公式,它是如何计算的?
我假设 .scale_
显示 Interquartile range (IQR)
,但是当我手动计算时 IQR
是:
array([2, 2, 3]) rather than `array([0.81649658, 0.81649658, 1.24721913])`.
此外,我认为 array([0.81649658, 0.81649658, 1.24721913])
是 array([2, 2, 3])
的 正常 类型,但我不知道它是如何规范化的。
请帮我找到它。
计算均值、方差和标准差的三个主要统计量
mean = preprocessing.StandardScaler().fit(X_train).mean_
variance = preprocessing.StandardScaler().fit(X_train).var_
Standard_deviation = preprocessing.StandardScaler().fit(X_train).scale_
根据问题:
X_train = np.array([[ 1., -1., 2.],
[ 2., 0., 0.],
[ 0., 1., -1.]])
mean = preprocessing.StandardScaler().fit(X_train).mean_
print(mean)
array([1. , 0. , 0.33333333])
variance = preprocessing.StandardScaler().fit(X_train).var_
print(variance )
array([0.66666667, 0.66666667, 1.55555556])
Standard_deviation = preprocessing.StandardScaler().fit(X_train).scale_
print(Standard_deviation )
array([0.81649658, 0.81649658, 1.24721913])
换句话说:
scaler.scale_ = np.sqrt(scaler.var_)