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 (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...