fit method

  1. @override
PolynomialRegressionResult fit({
  1. required Vector<double> xs,
  2. required Vector<double> ys,
})
override

Fits a list of data points to the configured model.

Implementation

@override
PolynomialRegressionResult fit({
  required Vector<double> xs,
  required Vector<double> ys,
}) {
  checkPoints(DataType.float, xs: xs, ys: ys);
  final vandermonde = Matrix.vandermonde(DataType.float, xs, degree + 1);
  final vandermondeTransposed = vandermonde.transposed;
  final result = vandermondeTransposed
      .mulMatrix(vandermonde)
      .inverse
      .mulMatrix(vandermondeTransposed)
      .mulVector(ys);
  return PolynomialRegressionResult(result.toList().toPolynomial());
}