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.
- Alphabetic
- By Inheritance
- RegressionBase
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
- new RegressionBase()
Concrete Value Members
- def fit(data: Matrix[Double], outputs: Vector[Double], sampleWeights: Vector[Double], fitIntercept: Boolean): RegressionResult
- def fit(data: Matrix[Double], outputs: Vector[Double], fitIntercept: Boolean): RegressionResult
-
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 viasum.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 viasum.vectorizeCols_Double(ClassTag[Double], Zero.DoubleZero, sum.helper_Double)
, which does not exist in breeze 1.2, thus causingjava.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 causejava.lang.NoSuchMethodError
when running on Spark 3.0.* and 3.1.*. Workaround: use reflection to construct the implementation.