Этот код работает нормально, но не очень, потому что он не учитывает некоторые нелинейные, например. квадратичное поведение в экстремальных функцииWeka LinearRegression превосходит MultilayerPerceptron ... что я делаю неправильно?
LinearRegression finalClassifier = new LinearRegression();
finalClassifier.buildClassifier(adjInstances);
double predictedValue = finalClassifier.classifyInstance(finalInstance);
и этот код производят совершенно фиктивные результаты
MultilayerPerceptron finalClassifier = new MultilayerPerceptron();
finalClassifier.buildClassifier(adjInstances);
double predictedValue = finalClassifier.classifyInstance(finalInstance);
я считаю многослойный перцептрон румельхарт должен всегда опережать линейную регрессию. Есть только определенные формы функций, которые LinearRegression не может обрабатывать (например, f (x) = x^2), которые являются куском торта для нейронной сети MultilayerPerceptron.
Поэтому я, вероятно, неправильно использую API или есть некоторые недокументированные требования к допустимым входам для MultilayerPerceptron
. Что бы это могло быть?
Моих экземпляров данных состоит из комбинации 20 числовых и номинальных атрибутов, например:
A01 750
A02 1
A03 1
A04 true
A05 false
A06 false
A07 false
A08 false
A09 true
A10 false
A11 true
A12 false
A13 false
A14 false
A15 true
A16 false
A17 false
A18 false
A19 Yes
A20 34