首页 > 解决方案 > 为什么 Brain.js LSTM 会产生随机类别?

问题描述

这是我的一段 JavaScript 代码,它遍历我的 JSON 文件。它应该根据给定的文本(“净收入”)预测它属于哪个类别。输出是不在 JSON 文件中的类别。输出应仅基于 JSON 文件中的类别。

const brain = require('brain.js');
const data = require('./balancesheet.json');
const fs = require('fs');

const network = new brain.recurrent.LSTM();

const trainingData = data.map(item => ({
    input: item.text,
    output: item.category
}));

network.train(trainingData, {
    iterations: 10
});

const output = network.run('net income');

console.log(`Category: ${output}`);

JSON 数据。大约有 1000 条记录和 20 个不同的类别。

[
    {
       "text":"operating surplus",
       "category":"current year profits"
    },
    {
       "text":"net income",
       "category":"current year profits"
    },
    {
       "text":"other liabilities",
       "category":"accounts payable (non-current)"
    },
    {
       "text":"income advance",
       "category":"income in advance"
    },

*Continues for 1000 records...*

输出如

2000 次迭代

Category: retaicometrses 

5000 次迭代

Category: curued expenses current) 

这些类别不在 JSON 文件中,而是随机生成的。这是不好的。“净收入”的输入应生成仅在 JSON 文件中给出的类别。

标签: javascriptjsonmachine-learninglstmbrain.js

解决方案


推荐阅读