微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

StandardScaler 变换后均值和标准差的可接受偏移量是多少?

如何解决StandardScaler 变换后均值和标准差的可接受偏移量是多少?

我正在使用 sklearn StandardScaler 来转换/规范化数据,如下所示:

scaler = StandardScaler()
data = scaler.fit_transform(data)

我期望平均值为 0,标准差为 1。但是,我得到的值有点不同。

rnd = randrange(0,data.shape[1])
print(data[:,rnd].std())
print(data[:,rnd].mean())

1.0282903146389404
-0.06686584736835668

好像very close numbers to 0 and 1 should be acceptable;但是,不确定可接受的偏移量是多少。例如,+/- 1e-2,据我所知,是否足够接近?还是我应该担心?

解决方法

您正在为您的 data 变量使用 fit_transform。这意味着,现在,您的所有数据都将标准化,遵循均值 0 和标准偏差 1 的形状。如下图所示:

enter image description here

您接下来要做的是,随机获取数据变量的一些样本。因此,您收集的新样本将几乎相同,但是,由于存在随机参数,因此均值和标准差将与您的数据不同。

为了进行比较,假设我们有人类身高的平均值和标准差。如果我们现在对您所在国家/地区的身高取一小部分样本,平均值和标准差将不会完全相同,但几乎相同。这就是重点。

如果您检查数据变量的均值和标准差,您将获得均值 0 和标准差 1。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。