Ami*_*ogi 2 python machine-learning scikit-learn
我是机器学习的新手。我正在尝试使用 python StandardScaler 类对我的输入训练和测试数据使用特征缩放。但是,当我看到缩放值时,即使输入值没有负值,它们中的一些也是负值。这是正常的还是我的代码中缺少任何内容。下面给出了用于特征缩放的相关代码。
from sklearn.preprocessing import StandardScaler
sc = StandardScaler()
train = sc.fit_transform(train) //train contains training feature matrix
test = sc.transform(test) //test contains test feature matrix
Run Code Online (Sandbox Code Playgroud)
从文档:
通过去除均值和缩放到单位方差来标准化特征
这意味着,给定一个 input x,将其转换为(x-mean)/std(所有维度和操作都明确定义的地方)。
因此,即使您的输入值都是正值,去除均值也会使其中一些为负值:
>>> x = np.array([3,5,7])
>>> np.mean(x)
5.0
>>> x - np.mean(x)
array([-2., 0., 2.])
Run Code Online (Sandbox Code Playgroud)
更多细节:
| 归档时间: |
|
| 查看次数: |
4287 次 |
| 最近记录: |