npm 包 @yodasws/neural-data-normalizer 使用教程

阅读时长 4 分钟读完

简介

在机器学习和深度学习中,对数据进行预处理是非常重要的一步。但是,数据集中的数据通常是不规整的,包含各种偏差和噪音。因此,我们需要进行归一化和标准化操作,以使得数据分布更均匀,能够更好的训练模型。

@yodasws/neural-data-normalizer 是一款 NPM 包,用于完成神经网络训练之前的数据归一化。它提供了多种参数和参数组合来满足用户需求,使用起来十分灵活。

安装

你可以使用以下命令来安装 @yodasws/neural-data-normalizer:

使用

基本用法

@yodasws/neural-data-normalizer 提供了两种常见的数据规范化方法:min-max 规范化和 Z-score 规范化。这里我们以一个数组为例,使用 min-max 规范化来观察其使用方法:

高级用法

@yodasws/neural-data-normalizer 提供了一些高级的参数选项,可以根据用户的需求来完成更复杂的数据规范化操作。这里我们以一个二维数组为例,使用 Z-score 规范化来观察其使用方法:

-- -------------------- ---- -------
----- ---------- - -------------------------------------------

----- --- - ---- --- --- --- --- ----
----- ------- - -
    ----- ----------
    ----- -
--
----- ------ - ------------------------- ---------

--------------------
-- ---- - --- - -- - --- - -- - --- - - -

这里我们将 mode 参数设置为 "z-score",代表使用 Z-score 规范化。将 axis 参数设置为 1,代表对二维数组中的每一行进行规范化操作。

配合 Tensorflow.js 使用

@yodasws/neural-data-normalizer 同时也与 Tensorflow.js 兼容。在 Tensorflow.js 中,我们需要将数据预处理完成后才能进行模型训练。使用 @yodasws/neural-data-normalizer 可以方便快捷地完成数据预处理操作。以下是一个使用示例:

-- -------------------- ---- -------
----- -- - ---------------------------------
----- ---------- - -------------------------------------------

----- ---- - ---------------- --- --- --- --- -----
----- ------- - -
    ----- ----------
    ----- -
--

----- -------------- - ------------------------------------ -- -------------------------------------
----- - - --------------------------------------

--------------------------
-- ----- ---  --  - -- - ---  --  - --

这里我们首先使用 Tensorflow.js 中的 tensor2d 函数将二维数组转换为 Tensorflow.js 中的 Tensor。然后使用 arraySync 将 Tensor 转换为原生数组,并使用 transpose 将列变为行。接着对每一行使用 Z-score 规范化,最后再将数据转换为 Tensor,并使用 transpose 将数据转换为原始的列/行形状。最后我们就能够使用这个数据进行模型训练了。

总结

使用 @yodasws/neural-data-normalizer 可以帮助我们方便快捷地完成数据规范化操作,使得我们能够更好的训练机器学习和深度学习模型。此外,@yodasws/neural-data-normalizer 更是提供了多种灵活的参数选项,可以根据用户需求进行调整,非常实用。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60065f94238a385564ab708a

纠错
反馈