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])
你可能正在寻找萨加尔的建议