Я новичок в 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;
}
Я думаю, что вы должны пройти double** x
в качестве параметра для predict
а также h
методы в случае множественной линейной регрессии. В настоящее время вы пытаетесь манипулировать одним двойным массивом как двумерным массивом, который даже не скомпилируется.
Других решений пока нет …