繁体   English   中英

如何使用 Brain.js 预测?

[英]How to use Brain.js forecasting?

我试图了解它是如何工作的,但我遇到了困难。

我不知道这是否是正确的方法,因为我找不到明确的教程。

数据是一堆按降序排列的月销售额,目标是预测下一个销售额。

const brain = require("brain.js");

let data = [996354, 2779977, 950792, 907340, 1284286, 1266783, 822415, 686550, 1758690, 1186851, 1441859, 1464443, 912951, 1421954, 1521516, 918052, 770238, 1417087, 919990, 1334906, 1224836, 939102, 1063518, 1224231, 877331, 1021506, 874522, 940530, 683876, 1121152, 737414, 1166480, 1082231, 822357, 1146419, 1430051, 631730, 1215160, 868301, 803220, 1182219, 935233, 594446, 1268709, 1160274, 984417, 1124874, 1358540, 878604, 1062942, 1032730, 695323, 1092530, 702907, 986607, 897194, 957222, 935261, 896631, 1028320, 710657, 771455, 795649, 870530, 1251944, 676158, 595391, 861075, 1260068, 1011426, 1059614, 1265080, 1567216, 490529];

const net = new brain.recurrent.LSTMTimeStep({
    inputSize: 1,
    hiddenLayers: [10],
    outputSize: 1
});

net.train([data], {
    learningRate: 0.005,
    errorTresh: 0.02,
    // log: (stats) => console.log(stats)
})

console.log(net.forecast(data, 1))
// [ -0.020625554025173187 ]
// [ -0.008880683220922947 ]
// [ 0.11804535984992981 ]

每次我运行它时,我都会得到不同的结果,我无法破译。

您需要将输入标准化为 0 和 1 之间。然后在运行网络后,您可以将输出非标准化为原始比例。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM