abstract class RegressionBase extends AnyRef

The RegressionBase class centers and rescales the input matrix and output vector to support fitting intercept and specifying sampleWeights. The underlying regression algorithm does not need to support fitting intercept and sample weights.

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. RegressionBase
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new RegressionBase()

Concrete Value Members

  1. def fit(data: Matrix[Double], outputs: Vector[Double], sampleWeights: Vector[Double], fitIntercept: Boolean): RegressionResult
  2. def fit(data: Matrix[Double], outputs: Vector[Double], fitIntercept: Boolean): RegressionResult
  3. implicit lazy val sumImpl: breeze.linalg.sum.Impl[BroadcastedColumns[DenseMatrix[Double], DenseVector[Double]], Transpose[DenseVector[Double]]]

    Provides an implementation for sum operation of BroadcastedColumns in breeze.

    Provides an implementation for sum operation of BroadcastedColumns in breeze. Spark 3.0.* and 3.1.* depends on breeze 1.0 and Spark 3.2.* depends on breeze 1.2, and there is a breaking change in the way the implicit sum implementation is provided. In breeze 1.0, the implementation is constructed via sum.vectorizeCols_Double(ClassTag[Double], Zero.DoubleZero, sum.helper_Double), while in breeze 1.2, it's constructed via sum.vectorizeCols_Double(sum.helper_Double) If our code is compiled against Spark 3.2.0/breeze 1.0, the scala compiler implicitly constructs the implementation via sum.vectorizeCols_Double(ClassTag[Double], Zero.DoubleZero, sum.helper_Double), which does not exist in breeze 1.2, thus causing java.lang.NoSuchMethodError when running on Spark 3.2.0. Conversely, if our code is compiled against Spark 3.2.0/breeze 1.2, it will cause java.lang.NoSuchMethodError when running on Spark 3.0.* and 3.1.*. Workaround: use reflection to construct the implementation.