Brain.js 可以做回归吗?
Can Brain.js do a regression?
我正在尝试使用访问者数量、类别、年龄等属性为网站定义价格...
但是线性回归不够准确,所以我想知道是否可以训练 brain js 进行某种回归?
我有一个网站列表,其中包含用于训练 NN 的所有属性及其价格,最后我只需将我想要 NN 的属性发送给 return 我的价格
我通过一个 `github` 问题整理出了您在 `brain.js` 中回归的可能性。
您所要做的就是在 [0-1]
范围内代表您的每个 input
和 output
第一个组合的年龄为 0 到 1
让0.10
表示10
岁,记住age cannot exceed more than 1.0
第二个组合是每个 hours/day/week 从 0 到 1
的访问
让 0.25
表示每小时 25
次访问,或者您可以根据自己的需要 hour/day/week 等 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
我正在尝试使用访问者数量、类别、年龄等属性为网站定义价格... 但是线性回归不够准确,所以我想知道是否可以训练 brain js 进行某种回归?
我有一个网站列表,其中包含用于训练 NN 的所有属性及其价格,最后我只需将我想要 NN 的属性发送给 return 我的价格
我通过一个 `github` 问题整理出了您在 `brain.js` 中回归的可能性。
您所要做的就是在 [0-1]
input
和 output
第一个组合的年龄为 0 到 1
让0.10
表示10
岁,记住age cannot exceed more than 1.0
第二个组合是每个 hours/day/week 从 0 到 1
的访问让 0.25
表示每小时 25
次访问,或者您可以根据自己的需要 hour/day/week 等 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