以下是使用 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 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录