【问题标题】:Can Brain.js do a regression?Brain.js 可以做回归吗?
【发布时间】:2020-12-17 09:29:38
【问题描述】:

我正在尝试使用访问次数、类别、年龄等属性为网站定义价格…… 但是问题是线性回归不够准确,所以我想知道是否可以训练大脑js进行某种回归?

我有一个网站列表,其中包含所有属性及其价格来训练神经网络,最后只需发送属性,我希望神经网络返回价格

【问题讨论】:

标签: node.js regression brain.js


【解决方案1】:

我通过 `github` 问题整理了您在 `brain.js` 中的回归可能性。

您所要做的就是在[0-1] 的范围内表示您的inputoutput 中的每一个


第一个组合将是年龄,即从 0 到 1

0.10 表示10 岁,记住age cannot exceed more than 1.0


第二种组合是从 0 到 1 每小时/每天/每周的访问次数

0.25 表示25 每小时访问次数,或者您可以根据自己的每小时/每天/每周访问次数等需要代表0.25


第三种组合属于不同的类别,每一个都有不同的值,从 0 到 1

0.01 代表第一类,例如sports


第四个组合是输出,即price,每个组合都有不同的值,从 0 到 1

0.30 代表price 等于30 美元。


代码

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

const network = new brain.NeuralNetwork();

network.train([
        // [age, visits, category]     [price]
        
  { input: [0.10, 0.20, 0.40], output: [0.30] }, // 1 input
  { input: [0.10, 0.50, 0.50], output: [0.60] }, // 2 input
  { input: [0.10, 0.40, 0.60], output: [0.20] }, // 3 input
  { input: [0.10, 0.40, 0.50], output: [0.50] }, // 4 input
  { input: [0.10, 0.30, 0.30], output: [0.90] }, // 5 input
  { input: [0.10, 0.70, 0.30], output: [0.70] }  // 6 input
]);


//multiply answer by 100 to get price value 
const output = network.run([0.10, 0.50, 0.60])*100;

console.log(`Price: ${output}`); // output lies between 2 and 3 input         
                                                          i-e 38.1325

【讨论】:

  • 是的,谢谢!但奇怪的是我尝试了另一种方法,即使用价格作为输出类,所以它不是回归,它有点有限,但它更准确,我在机器学习方面没有太多经验所以你认为我应该继续回归吗?
  • 如果它是有限的那么在我看来你不应该使用你的方法并检查ml5 javascript库它以regression而闻名。
  • 好吧,但是 ml5 是前端,我需要在后端 nodejs env 中工作:(
  • 然后tensorflow.js
猜你喜欢
  • 2017-01-08
  • 1970-01-01
  • 1970-01-01
  • 2012-03-04
  • 1970-01-01
  • 2018-03-05
  • 2018-07-02
  • 2018-01-12
  • 2020-10-31
相关资源
最近更新 更多