Class RankingEvaluator

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

public class RankingEvaluator extends Evaluator implements HasPredictionCol, HasLabelCol, DefaultParamsWritable
:: Experimental :: Evaluator for ranking, which expects two input columns: prediction and label.
See Also:
  • Constructor Details

    • RankingEvaluator

      public RankingEvaluator(String uid)
    • RankingEvaluator

      public RankingEvaluator()
  • Method Details

    • load

      public static RankingEvaluator load(String path)
    • read

      public static MLReader<T> read()
    • 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 final Param<String> metricName()
      param for metric name in evaluation (supports "meanAveragePrecision" (default), "meanAveragePrecisionAtK", "precisionAtK", "ndcgAtK", "recallAtK")
      Returns:
      (undocumented)
    • getMetricName

      public String getMetricName()
    • setMetricName

      public RankingEvaluator setMetricName(String value)
    • k

      public final IntParam k()
      param for ranking position value used in "meanAveragePrecisionAtK", "precisionAtK", "ndcgAtK", "recallAtK". Must be &gt; 0. The default value is 10.
      Returns:
      (undocumented)
    • getK

      public int getK()
    • setK

      public RankingEvaluator setK(int value)
    • setPredictionCol

      public RankingEvaluator setPredictionCol(String value)
    • setLabelCol

      public RankingEvaluator setLabelCol(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 RankingMetrics<Object> getMetrics(Dataset<?> dataset)
      Get a RankingMetrics, which can be used to get ranking metrics such as meanAveragePrecision, meanAveragePrecisionAtK, etc.

      Parameters:
      dataset - a dataset that contains labels/observations and predictions.
      Returns:
      RankingMetrics
    • 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 RankingEvaluator 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