Python sklearn中的StandardScaler不适合,或者是?

Python sklearn中的StandardScaler不适合,或者是?,python,numpy,machine-learning,scikit-learn,Python,Numpy,Machine Learning,Scikit Learn,我正在使用sklearn中的StandardScalar来缩放我的特征向量,但它似乎不适合训练特征向量。或者这可能是预期的行为,但如果是,有人能解释为什么(最好也有一些数学解释) 为什么它会从667扩展到28.50315638,难道它不应该扩展到1.44151861,即训练特征向量的最大值吗?它运行正常,对于您的用例,您可以使用或哪种类型分别适合[0,1]或[-1,1]中的训练和测试数据。对于您的用例,它运行正常,您可以分别在[0,1]或[-1,1]中使用或使用哪种类型的训练和测试数据。来自:

我正在使用
sklearn
中的
StandardScalar
来缩放我的特征向量,但它似乎不适合训练特征向量。或者这可能是预期的行为,但如果是,有人能解释为什么(最好也有一些数学解释)


为什么它会从667扩展到28.50315638,难道它不应该扩展到1.44151861,即训练特征向量的最大值吗?

它运行正常,对于您的用例,您可以使用或哪种类型分别适合[0,1]或[-1,1]中的训练和测试数据。

对于您的用例,它运行正常,您可以分别在[0,1]或[-1,1]中使用或使用哪种类型的训练和测试数据。

来自:

通过删除平均值并缩放到单位方差来标准化特征

它在
x1
上进行训练,因此在这两种情况下都使用
x1
的方差/平均值。 因此,它的作用很简单:

>>> (x1 - np.mean(x1)) / np.std(x1)
array([-0.94627295, -0.90205459, -0.54830769,  0.95511663,  1.44151861])

>>> (x2 - np.mean(x1)) / np.std(x1)
array([ -0.94627295,  -0.90205459,  -0.54830769,   0.95511663, 28.50315638])
您可能正在寻找萨加尔的建议。

来自:

通过删除平均值并缩放到单位方差来标准化特征

它在
x1
上进行训练,因此在这两种情况下都使用
x1
的方差/平均值。 因此,它的作用很简单:

>>> (x1 - np.mean(x1)) / np.std(x1)
array([-0.94627295, -0.90205459, -0.54830769,  0.95511663,  1.44151861])

>>> (x2 - np.mean(x1)) / np.std(x1)
array([ -0.94627295,  -0.90205459,  -0.54830769,   0.95511663, 28.50315638])
你可能正在寻找萨加尔的建议