gpt4 book ai didi

Phpml\Exception\MatrixException 消息 : Matrix is singular

转载 作者:搜寻专家 更新时间:2023-10-31 21:48:56 27 4
gpt4 key购买 nike

我正在制作一个程序来预测明年的系列使用 php-ml 的数据库。

我收到了这个错误。

Phpml\Exception\MatrixException 消息:矩阵是奇异的

我正在使用这个功能

使用 Phpml\Regression\LeastSquares;

使用\Phpml\Math\Matrix;

使用\Phpml\Math\Set;

这里是新手。

Regression_controller

public function index()
{
$this->load->model("regression_model") ;
$array = $this->regression_model->display_data();
$targets = $this->regression_model->display_data2();

$matrix = new Matrix($array);
$set = new Set($targets);

$arraytrix = $matrix->toArray();
$arrayset = $set->toArray();

$col[] = array_column($arraytrix, 'year');
$col2[] = array_column($arrayset, 'total');

var_dump($col);
var_dump($col2);

$regression = new LeastSquares();
$regression->train($col, $col2);

$predicted = $regression->predict([2018]);

var_dump($predicted);

$this->load->view('regression');

}

回归模型

function display_data()
{
$query1 = $this->db->query("SELECT year from total_year");
return $query1->result_array();

}
function display_data2()
{
$query1 = $this->db->query("SELECT total from total_year");
return $query1->result_array();
}

最佳答案

当数据集属性的所有值在所有记录中都相似时,就会出现问题。

$samples = [ [1000,3,145], [1000,5,135], [1000,4,143], [1000,3,123]];

$targets = [ 4, 1, 3, 2];

$regression->train($samples, $targets);

在上面的示例中,所有记录的第一个值都等于 1000。因此,当执行 $regression->train($samples, $targets) 时,它会看到 $sample 的属性计数是 2 而不是 3,这会在 3 x 4 而不是 2 x 4 的数组维度之间造成不匹配。

关于Phpml\Exception\MatrixException 消息 : Matrix is singular,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48333755/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com