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

Java 中的数据标准化/预处理

如何解决Java 中的数据标准化/预处理

我正在尝试用 JAva 构建一个简单的神经网络。 我无法找到与 python KERA 函数等效的函数,例如 Java 中的 scale()

所以如果我有一个这样的数组:

double[] arr = {148.0,85.0,183.0,89.0,137.0,116.0,78.0,115.0,197.0,125.0,110.0,168.0,......}; 139.0 //为简单起见截断数组

我正在尝试对数据进行标准化,使其均值为 0,标准差为 1 我尝试使用 apache commons 数学库来专门做这件事,StatUtils.normalize 声称它确实做到了这一点。

在规范化之前,这些是数组的统计信息 最小值:0.0 平均值:120.89453125 最大:199.0

在我打电话之后 StatUtils.normalize(arr);

这返回了以下数据:

[0.8477713205896718,-1.1226647449053888,1.942458023642483,-0.9975576​​931279247,0.5037269282016452,-0.1530850936300416,-1.3416020855159512,-0.18436185657440765,2.3803327048636076,0.12840577286925278,-0.34074567129623784,1.4733065794769926,0.5662804540903773]

现在的统计数据是:

标准化最小值:-3.781189595176502 标准化平均值:-8.384496800554567E-18 归一化最大值:2.44288623075234

在 python 示例中,他们使用了 KERA.scale(),运行后,平均值为 0,偏差为 1。

我不知道为什么在运行 normalize() 后平均值不为 0?

我尝试使用台锯,但我没有看到这样做的选项。

所以我的问题是,我使用的是正确的方法还是有不同的方法来进行数据规范化? 这可以用不同的 java 库来完成吗?我正在尝试在 python 中找到 KERA 的 Java 替代方案

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