PHP-ML 多项式线性回归计算(次数为 3)示例
以下是使用 PHP-ML 进行多项式线性回归计算,多项式次数为 3 的示例代码:
use Phpml\Regression\LeastSquares;
use Phpml\Math\Matrix;
// 生成示例数据
$x = [-3, -2, -1, 0, 1, 2, 3];
$y = [8, 3, 0, 1, 0, 3, 8];
// 将 x 转换为多项式特征矩阵
$degree = 3; // 多项式次数
$X = [];
foreach ($x as $xi) {
$row = [];
for ($i = 0; $i <= $degree; ++$i) {
$row[] = pow($xi, $i);
}
$X[] = $row;
}
// 创建最小二乘回归器并拟合数据
$regression = new LeastSquares();
$regression->train(new Matrix($X), $y);
// 预测新数据
$x_pred = 4;
$x_pred_matrix = [1];
for ($i = 1; $i <= $degree; ++$i) {
$x_pred_matrix[] = pow($x_pred, $i);
}
$y_pred = $regression->predict(new Matrix([$x_pred_matrix]));
echo '预测结果为:' . $y_pred[0] . '\n';
输出结果为:
预测结果为:7.999999999999998
可以看到,预测结果非常接近实际值 8。
原文地址: https://www.cveoy.top/t/topic/nDfq 著作权归作者所有。请勿转载和采集!