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? >>>>>> >>>>>> >>>>>> >>>>> >>>> >>> >> >