I found a helper class that I think should do the trick. Take a look at https://github.com/apache/spark/blob/master/mllib/src/main/scala/org/apache/spark/mllib/tree/loss/Losses.scala
When passing the Loss, you should be able to do something like: Losses.fromString("leastSquaresError") On Mon, Feb 29, 2016 at 10:03 AM, diplomatic Guru <diplomaticg...@gmail.com> wrote: > It's strange as you are correct the doc does state it. But it's > complaining about the constructor. > > When I clicked on the org.apache.spark.mllib.tree.loss.AbsoluteError > class, this is what I see: > > > @Since("1.2.0") > @DeveloperApi > object AbsoluteError extends Loss { > > /** > * Method to calculate the gradients for the gradient boosting > calculation for least > * absolute error calculation. > * The gradient with respect to F(x) is: sign(F(x) - y) > * @param prediction Predicted label. > * @param label True label. > * @return Loss gradient > */ > @Since("1.2.0") > override def gradient(prediction: Double, label: Double): Double = { > if (label - prediction < 0) 1.0 else -1.0 > } > > override private[mllib] def computeError(prediction: Double, label: > Double): Double = { > val err = label - prediction > math.abs(err) > } > } > > > On 29 February 2016 at 15:49, Kevin Mellott <kevin.r.mell...@gmail.com> > wrote: > >> Looks like it should be present in 1.3 at >> org.apache.spark.mllib.tree.loss.AbsoluteError >> >> >> spark.apache.org/docs/1.3.0/api/java/org/apache/spark/mllib/tree/loss/AbsoluteError.html >> >> On Mon, Feb 29, 2016 at 9:46 AM, diplomatic Guru < >> diplomaticg...@gmail.com> wrote: >> >>> AbsoluteError() constructor is undefined. >>> >>> I'm using Spark 1.3.0, maybe it is not ready for this version? >>> >>> >>> >>> On 29 February 2016 at 15:38, Kevin Mellott <kevin.r.mell...@gmail.com> >>> wrote: >>> >>>> I believe that you can instantiate an instance of the AbsoluteError >>>> class for the *Loss* object, since that object implements the Loss >>>> interface. For example. >>>> >>>> val loss = new AbsoluteError() >>>> boostingStrategy.setLoss(loss) >>>> >>>> On Mon, Feb 29, 2016 at 9:33 AM, diplomatic Guru < >>>> diplomaticg...@gmail.com> wrote: >>>> >>>>> Hi Kevin, >>>>> >>>>> Yes, I've set the bootingStrategy like that using the example. But I'm >>>>> not sure how to create and pass the Loss object. >>>>> >>>>> e.g >>>>> >>>>> boostingStrategy.setLoss(......); >>>>> >>>>> Not sure how to pass the selected Loss. >>>>> >>>>> How do I set the Absolute Error in setLoss() function? >>>>> >>>>> >>>>> >>>>> >>>>> On 29 February 2016 at 15:26, Kevin Mellott <kevin.r.mell...@gmail.com >>>>> > wrote: >>>>> >>>>>> You can use the constructor that accepts a BoostingStrategy object, >>>>>> which will allow you to set the tree strategy (and other hyperparameters >>>>>> as >>>>>> well). >>>>>> >>>>>> *GradientBoostedTrees >>>>>> <http://spark.apache.org/docs/latest/api/java/org/apache/spark/mllib/tree/GradientBoostedTrees.html#GradientBoostedTrees(org.apache.spark.mllib.tree.configuration.BoostingStrategy)>* >>>>>> (BoostingStrategy >>>>>> <http://spark.apache.org/docs/latest/api/java/org/apache/spark/mllib/tree/configuration/BoostingStrategy.html> >>>>>> boostingStrategy) >>>>>> >>>>>> On Mon, Feb 29, 2016 at 9:21 AM, diplomatic Guru < >>>>>> diplomaticg...@gmail.com> wrote: >>>>>> >>>>>>> Hello guys, >>>>>>> >>>>>>> I think the default Loss algorithm is Squared Error for regression, >>>>>>> but how do I change that to Absolute Error in Java. >>>>>>> >>>>>>> Could you please show me an example? >>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>> >>>> >>> >> >