Class RegressionEvaluator

Object
org.apache.spark.ml.evaluation.Evaluator
org.apache.spark.ml.evaluation.RegressionEvaluator
All Implemented Interfaces:
Serializable, Params, HasLabelCol, HasPredictionCol, HasWeightCol, DefaultParamsWritable, Identifiable, MLWritable

public final class RegressionEvaluator extends Evaluator implements HasPredictionCol, HasLabelCol, HasWeightCol, DefaultParamsWritable
Evaluator for regression, which expects input columns prediction, label and an optional weight column.
See Also:
  • Constructor Details

    • RegressionEvaluator

      public RegressionEvaluator(String uid)
    • RegressionEvaluator

      public RegressionEvaluator()
  • Method Details

    • load

      public static RegressionEvaluator load(String path)
    • read

      public static MLReader<T> read()
    • weightCol

      public final Param<String> weightCol()
      Description copied from interface: HasWeightCol
      Param for weight column name. If this is not set or empty, we treat all instance weights as 1.0.
      Specified by:
      weightCol in interface HasWeightCol
      Returns:
      (undocumented)
    • labelCol

      public final Param<String> labelCol()
      Description copied from interface: HasLabelCol
      Param for label column name.
      Specified by:
      labelCol in interface HasLabelCol
      Returns:
      (undocumented)
    • predictionCol

      public final Param<String> predictionCol()
      Description copied from interface: HasPredictionCol
      Param for prediction column name.
      Specified by:
      predictionCol in interface HasPredictionCol
      Returns:
      (undocumented)
    • uid

      public String uid()
      Description copied from interface: Identifiable
      An immutable unique ID for the object and its derivatives.
      Specified by:
      uid in interface Identifiable
      Returns:
      (undocumented)
    • metricName

      public Param<String> metricName()
      Param for metric name in evaluation. Supports: - "rmse" (default): root mean squared error - "mse": mean squared error - "r2": R^2^ metric - "mae": mean absolute error - "var": explained variance

      Returns:
      (undocumented)
    • getMetricName

      public String getMetricName()
    • setMetricName

      public RegressionEvaluator setMetricName(String value)
    • throughOrigin

      public BooleanParam throughOrigin()
      param for whether the regression is through the origin. Default: false.
      Returns:
      (undocumented)
    • getThroughOrigin

      public boolean getThroughOrigin()
    • setThroughOrigin

      public RegressionEvaluator setThroughOrigin(boolean value)
    • setPredictionCol

      public RegressionEvaluator setPredictionCol(String value)
    • setLabelCol

      public RegressionEvaluator setLabelCol(String value)
    • setWeightCol

      public RegressionEvaluator setWeightCol(String value)
    • evaluate

      public double evaluate(Dataset<?> dataset)
      Description copied from class: Evaluator
      Evaluates model output and returns a scalar metric. The value of Evaluator.isLargerBetter() specifies whether larger values are better.

      Specified by:
      evaluate in class Evaluator
      Parameters:
      dataset - a dataset that contains labels/observations and predictions.
      Returns:
      metric
    • getMetrics

      public RegressionMetrics getMetrics(Dataset<?> dataset)
      Get a RegressionMetrics, which can be used to get regression metrics such as rootMeanSquaredError, meanSquaredError, etc.

      Parameters:
      dataset - a dataset that contains labels/observations and predictions.
      Returns:
      RegressionMetrics
    • isLargerBetter

      public boolean isLargerBetter()
      Description copied from class: Evaluator
      Indicates whether the metric returned by evaluate should be maximized (true, default) or minimized (false). A given evaluator may support multiple metrics which may be maximized or minimized.
      Overrides:
      isLargerBetter in class Evaluator
      Returns:
      (undocumented)
    • copy

      public RegressionEvaluator copy(ParamMap extra)
      Description copied from interface: Params
      Creates a copy of this instance with the same UID and some extra params. Subclasses should implement this method and set the return type properly. See defaultCopy().
      Specified by:
      copy in interface Params
      Specified by:
      copy in class Evaluator
      Parameters:
      extra - (undocumented)
      Returns:
      (undocumented)
    • toString

      public String toString()
      Specified by:
      toString in interface Identifiable
      Overrides:
      toString in class Object