如何在Java语言中对多元线性回归进行调整以进行多元多项式回归?这意味着输入X是2D数组,预测y目标是1D数组。
python方法是使用sklearn.preprocessing.PolynomialFeatures,然后执行线性回归:http://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.PolynomialFeatures.html
ml.js库仅执行简单的多项式回归,即只能接受一维输入和一维输出。 https://github.com/mljs/regression-polynomial
这里是Python scikit-learn中用于多元多项式回归的工作代码示例,其中X是2维数组,y是1维向量。
这是示例代码:
const math = require('mathjs');
const PolynomialRegression = require('ml-regression-polynomial');
const a1 = math.random([10,2]);
const a2 = math.reshape(math.range(0, 20, 1), [10, 2]);
const x = math.add(a1, a2).valueOf();
const y = [];
for (i = 0; i<5; i++){ y.push(0); }
for (i = 5; i<10; i++){ y.push(1); }
const poly = new PolynomialRegression(x, y, 2);
console.log(poly.predict([[3,3],[4,4]]))
输出
[ NaN, NaN ]
答案 0 :(得分:0)
您引用的ml.js估算器完全可以满足您的需求。它将您的特征扩展到n度以内,然后使用这些特征估算线性函数。
这只是一步,而不是两步。