diff --git a/examples/src/main/java/spark/mllib/examples/JavaLR.java b/examples/src/main/java/spark/mllib/examples/JavaLR.java index e11f4830a8d2ca4983150f68717c955daae67483..bf4aeaf40f63e411a39353b0e49a3d9aeffd3904 100644 --- a/examples/src/main/java/spark/mllib/examples/JavaLR.java +++ b/examples/src/main/java/spark/mllib/examples/JavaLR.java @@ -37,7 +37,7 @@ public class JavaLR { static class ParsePoint extends Function<String, LabeledPoint> { public LabeledPoint call(String line) { String[] parts = line.split(","); - Double y = Double.parseDouble(parts[0]); + double y = Double.parseDouble(parts[0]); StringTokenizer tok = new StringTokenizer(parts[1], " "); int numTokens = tok.countTokens(); double[] x = new double[numTokens]; diff --git a/mllib/src/main/scala/spark/mllib/optimization/GradientDescent.scala b/mllib/src/main/scala/spark/mllib/optimization/GradientDescent.scala index 54793ca74dd5682b4cd031aa32a30f4caa565f2d..1f04398d0ccc15e78ac791cf13455521d13d13ba 100644 --- a/mllib/src/main/scala/spark/mllib/optimization/GradientDescent.scala +++ b/mllib/src/main/scala/spark/mllib/optimization/GradientDescent.scala @@ -24,7 +24,7 @@ import org.jblas.DoubleMatrix import scala.collection.mutable.ArrayBuffer -class GradientDescent(gradient: Gradient, updater: Updater) extends Optimizer { +class GradientDescent(var gradient: Gradient, var updater: Updater) extends Optimizer { var stepSize: Double = 1.0 var numIterations: Int = 100 @@ -63,6 +63,23 @@ class GradientDescent(gradient: Gradient, updater: Updater) extends Optimizer { this } + /** + * Set the gradient function to be used for SGD. + */ + def setGradient(gradient: Gradient): this.type = { + this.gradient = gradient + this + } + + + /** + * Set the updater function to be used for SGD. + */ + def setUpdater(updater: Updater): this.type = { + this.updater = updater + this + } + def optimize(data: RDD[(Double, Array[Double])], initialWeights: Array[Double]) : Array[Double] = { diff --git a/mllib/src/main/scala/spark/mllib/regression/LabeledPoint.scala b/mllib/src/main/scala/spark/mllib/regression/LabeledPoint.scala index 592f0b54143dc60afe4e44a29af8cfa5211e5d8d..3de60482c54cf75bbba7241c90c8c5041826cbc0 100644 --- a/mllib/src/main/scala/spark/mllib/regression/LabeledPoint.scala +++ b/mllib/src/main/scala/spark/mllib/regression/LabeledPoint.scala @@ -23,10 +23,4 @@ package spark.mllib.regression * @param label Label for this data point. * @param features List of features for this data point. */ -case class LabeledPoint(val label: Double, val features: Array[Double]) { - - /** - * Construct a labeled point using java.lang.Double. - */ - def this(label: java.lang.Double, features: Array[Double]) = this(label.doubleValue(), features) -} +case class LabeledPoint(val label: Double, val features: Array[Double])