C ++: почему этот код делает ошибку? множественная линейная регрессия

Я новичок в C ++, и я делаю код о линейной регрессии.
Сначала я сделал код о линейной регрессии с одной переменной, который имеет одну переменную x и одну y,
и теперь я изменяю этот код на множественную линейную регрессию, которая имеет более чем 2 x и один y.
и это делает ошибку, но я не мог найти почему.

Я не буду писать файл заголовка здесь. Пожалуйста, подумайте, заголовок не имеет ошибки.
И в оригинальном коде не было ошибок.

оригинальный код:

double LinearRegression::predict(double x)
{
return this->h(x);
}double LinearRegression::h(double x)
{
return this->w * x + this->b;
}

код о нескольких переменных:

double LinearRegression::predict(double x, int index)
{
return this->h(x, index);
}double LinearRegression::h(double x, int index)
{
double sum = 0;

// return this->w * x + this->b;
for (int i = 0; i < this->multi_num; i++) {
sum += this->w[i] * x[i][index];    // here x is making error
}
sum += this->b;

return sum;
}

-1

Решение

Я думаю, что вы должны пройти double** x в качестве параметра для predict а также h методы в случае множественной линейной регрессии. В настоящее время вы пытаетесь манипулировать одним двойным массивом как двумерным массивом, который даже не скомпилируется.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]