# LinearRegressionWithSGD

#### class LinearRegressionWithSGD extends GeneralizedLinearAlgorithm[LinearRegressionModel] with Serializable

Train a linear regression model with no regularization using Stochastic Gradient Descent. This solves the least squares regression formulation f(weights) = 1/n ||A weights-y||2 (which is the mean squared error). Here the data matrix has n rows, and the input RDD holds the set of rows of A, each with its corresponding right hand side label y. See also the documentation for the precise formulation.

Linear Supertypes
GeneralizedLinearAlgorithm[LinearRegressionModel], Serializable, Serializable, Logging, AnyRef, Any
Ordering
1. Alphabetic
2. By inheritance
Inherited
1. LinearRegressionWithSGD
2. GeneralizedLinearAlgorithm
3. Serializable
4. Serializable
5. Logging
6. AnyRef
7. Any
1. Hide All
2. Show all
Visibility
1. Public
2. All

### Instance Constructors

1. #### new LinearRegressionWithSGD()

Construct a LinearRegression object with default parameters: {stepSize: 1.

Construct a LinearRegression object with default parameters: {stepSize: 1.0, numIterations: 100, miniBatchFraction: 1.0}.

### Value Members

1. #### final def !=(arg0: AnyRef): Boolean

Definition Classes
AnyRef
2. #### final def !=(arg0: Any): Boolean

Definition Classes
Any
3. #### final def ##(): Int

Definition Classes
AnyRef → Any
4. #### final def ==(arg0: AnyRef): Boolean

Definition Classes
AnyRef
5. #### final def ==(arg0: Any): Boolean

Definition Classes
Any

Whether to add intercept (default: false).

Whether to add intercept (default: false).

Attributes
protected
Definition Classes
GeneralizedLinearAlgorithm
7. #### final def asInstanceOf[T0]: T0

Definition Classes
Any
8. #### def clone(): AnyRef

Attributes
protected[java.lang]
Definition Classes
AnyRef
Annotations
@throws( ... )
9. #### def createModel(weights: Vector, intercept: Double): LinearRegressionModel

Create a model given the weights and intercept

Create a model given the weights and intercept

Attributes
protected[org.apache.spark.mllib]
Definition Classes
LinearRegressionWithSGDGeneralizedLinearAlgorithm
10. #### final def eq(arg0: AnyRef): Boolean

Definition Classes
AnyRef
11. #### def equals(arg0: Any): Boolean

Definition Classes
AnyRef → Any
12. #### def finalize(): Unit

Attributes
protected[java.lang]
Definition Classes
AnyRef
Annotations
@throws( classOf[java.lang.Throwable] )
13. #### final def getClass(): Class[_]

Definition Classes
AnyRef → Any
14. #### def getNumFeatures: Int

The dimension of training features.

The dimension of training features.

Definition Classes
GeneralizedLinearAlgorithm
15. #### def hashCode(): Int

Definition Classes
AnyRef → Any

Get if the algorithm uses addIntercept

Get if the algorithm uses addIntercept

Definition Classes
GeneralizedLinearAlgorithm
17. #### final def isInstanceOf[T0]: Boolean

Definition Classes
Any
18. #### def isTraceEnabled(): Boolean

Attributes
protected
Definition Classes
Logging
19. #### def log: Logger

Attributes
protected
Definition Classes
Logging
20. #### def logDebug(msg: ⇒ String, throwable: Throwable): Unit

Attributes
protected
Definition Classes
Logging
21. #### def logDebug(msg: ⇒ String): Unit

Attributes
protected
Definition Classes
Logging
22. #### def logError(msg: ⇒ String, throwable: Throwable): Unit

Attributes
protected
Definition Classes
Logging
23. #### def logError(msg: ⇒ String): Unit

Attributes
protected
Definition Classes
Logging
24. #### def logInfo(msg: ⇒ String, throwable: Throwable): Unit

Attributes
protected
Definition Classes
Logging
25. #### def logInfo(msg: ⇒ String): Unit

Attributes
protected
Definition Classes
Logging
26. #### def logName: String

Attributes
protected
Definition Classes
Logging
27. #### def logTrace(msg: ⇒ String, throwable: Throwable): Unit

Attributes
protected
Definition Classes
Logging
28. #### def logTrace(msg: ⇒ String): Unit

Attributes
protected
Definition Classes
Logging
29. #### def logWarning(msg: ⇒ String, throwable: Throwable): Unit

Attributes
protected
Definition Classes
Logging
30. #### def logWarning(msg: ⇒ String): Unit

Attributes
protected
Definition Classes
Logging
31. #### final def ne(arg0: AnyRef): Boolean

Definition Classes
AnyRef
32. #### final def notify(): Unit

Definition Classes
AnyRef
33. #### final def notifyAll(): Unit

Definition Classes
AnyRef
34. #### var numFeatures: Int

The dimension of training features.

The dimension of training features.

Attributes
protected
Definition Classes
GeneralizedLinearAlgorithm
35. #### var numOfLinearPredictor: Int

In `GeneralizedLinearModel`, only single linear predictor is allowed for both weights and intercept.

In `GeneralizedLinearModel`, only single linear predictor is allowed for both weights and intercept. However, for multinomial logistic regression, with K possible outcomes, we are training K-1 independent binary logistic regression models which requires K-1 sets of linear predictor.

As a result, the workaround here is if more than two sets of linear predictors are needed, we construct bigger `weights` vector which can hold both weights and intercepts. If the intercepts are added, the dimension of `weights` will be (numOfLinearPredictor) * (numFeatures + 1) . If the intercepts are not added, the dimension of `weights` will be (numOfLinearPredictor) * numFeatures.

Thus, the intercepts will be encapsulated into weights, and we leave the value of intercept in GeneralizedLinearModel as zero.

Attributes
protected
Definition Classes
GeneralizedLinearAlgorithm

The optimizer to solve the problem.

The optimizer to solve the problem.

Definition Classes
LinearRegressionWithSGDGeneralizedLinearAlgorithm
37. #### def run(input: RDD[LabeledPoint], initialWeights: Vector): LinearRegressionModel

Run the algorithm with the configured parameters on an input RDD of LabeledPoint entries starting from the initial weights provided.

Run the algorithm with the configured parameters on an input RDD of LabeledPoint entries starting from the initial weights provided.

Definition Classes
GeneralizedLinearAlgorithm
38. #### def run(input: RDD[LabeledPoint]): LinearRegressionModel

Run the algorithm with the configured parameters on an input RDD of LabeledPoint entries.

Run the algorithm with the configured parameters on an input RDD of LabeledPoint entries.

Definition Classes
GeneralizedLinearAlgorithm
39. #### def setIntercept(addIntercept: Boolean): LinearRegressionWithSGD.this.type

Set if the algorithm should add an intercept.

Set if the algorithm should add an intercept. Default false. We set the default to false because adding the intercept will cause memory allocation.

Definition Classes
GeneralizedLinearAlgorithm
40. #### def setValidateData(validateData: Boolean): LinearRegressionWithSGD.this.type

Set if the algorithm should validate data before training.

Set if the algorithm should validate data before training. Default true.

Definition Classes
GeneralizedLinearAlgorithm
41. #### final def synchronized[T0](arg0: ⇒ T0): T0

Definition Classes
AnyRef
42. #### def toString(): String

Definition Classes
AnyRef → Any
43. #### var validateData: Boolean

Attributes
protected
Definition Classes
GeneralizedLinearAlgorithm
44. #### val validators: Seq[(RDD[LabeledPoint]) ⇒ Boolean]

Attributes
protected
Definition Classes
GeneralizedLinearAlgorithm
45. #### final def wait(): Unit

Definition Classes
AnyRef
Annotations
@throws( ... )
46. #### final def wait(arg0: Long, arg1: Int): Unit

Definition Classes
AnyRef
Annotations
@throws( ... )
47. #### final def wait(arg0: Long): Unit

Definition Classes
AnyRef
Annotations
@throws( ... )