Я пытаюсь определить цену для веб-сайтов, используя некоторые атрибуты, такие как количество посещений, категории, возраст... Но дело в том, что линейная регрессия недостаточно точна, поэтому я хотел бы знать, можно ли обучить мозг js делать какую-то регрессию?
У меня есть список веб-сайтов со всеми атрибутами и их ценами для обучения NN, и, в конце концов, просто отправив атрибуты, я хочу, чтобы NN вернул мне цену.
Я пробовал это, и это, похоже, не работает, снижая errorThresh, это просто снижает конечный результат.
Все, что вам нужно сделать, это представить каждый из ваших input
и output
между диапазоном [0-1]
Первая комбинация будет иметь возраст, т.е. от 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.info(`Price: ${output}`); // output lies between 2 and 3 input
i-e 38.1325
Да работает спасибо! но дело в том, что я пробую другой метод, который заключается в использовании цены в качестве выходного класса, и поэтому это не регрессия, и она немного ограничена, но она намного точнее, у меня нет такого большого опыта в машинном обучении, как вы думаете, я должен остаться с регрессом?
если он ограничен, то, на мой взгляд, вам не следует использовать свой метод и проверять ml5
библиотеку javascript, для которой она более известна regression
.
Хорошо, но мл5 — это интерфейс, и мне нужно работать в бэкэнде nodejs env :(
тогда tensorflow.js
Возможно, это поможет: fantashit.com/brain-js-to-be-used-for-regression