Type Parameters:
FeaturesType - Type of input features. E.g., Vector
M - Concrete Model type
All Implemented Interfaces:
Serializable, org.apache.spark.internal.Logging, ClassifierParams, Params, HasFeaturesCol, HasLabelCol, HasPredictionCol, HasRawPredictionCol, PredictorParams, Identifiable
Direct Known Subclasses:
LinearSVCModel, ProbabilisticClassificationModel

public abstract class ClassificationModel<FeaturesType,M extends ClassificationModel<FeaturesType,M>> extends PredictionModel<FeaturesType,M> implements ClassifierParams

Model produced by a Classifier. Classes are indexed {0, 1, ..., numClasses - 1}.

See Also:
  • Nested Class Summary

    Nested classes/interfaces inherited from interface org.apache.spark.internal.Logging

    org.apache.spark.internal.Logging.LogStringContext, org.apache.spark.internal.Logging.SparkShellLoggingFilter

  • Constructor Summary

    Constructors

  • Method Summary

    abstract int

    Number of classes (values which the label can take).

    double

    Predict label for the given features.

    Raw prediction for each possible label.

    Param for raw prediction (a.k.a.

    Check transform validity and derive the output schema from the input schema.

    Methods inherited from interface org.apache.spark.internal.Logging

    initializeForcefully, initializeLogIfNecessary, initializeLogIfNecessary, initializeLogIfNecessary$default$2, isTraceEnabled, log, logBasedOnLevel, logDebug, logDebug, logDebug, logDebug, logError, logError, logError, logError, logInfo, logInfo, logInfo, logInfo, logName, LogStringContext, logTrace, logTrace, logTrace, logTrace, logWarning, logWarning, logWarning, logWarning, MDC, org$apache$spark$internal$Logging$$log_, org$apache$spark$internal$Logging$$log__$eq, withLogContext

  • Constructor Details

    • ClassificationModel

      public ClassificationModel()

  • Method Details

    • numClasses

      public abstract int numClasses()

      Number of classes (values which the label can take).

    • predict

      Predict label for the given features. This method is used to implement transform() and output PredictionModel.predictionCol().

      This default implementation for classification predicts the index of the maximum value from predictRaw().

      Specified by:
      predict in class PredictionModel<FeaturesType,M extends ClassificationModel<FeaturesType,M>>
      Parameters:
      features - (undocumented)
      Returns:
      (undocumented)
    • predictRaw

      Raw prediction for each possible label. The meaning of a "raw" prediction may vary between algorithms, but it intuitively gives a measure of confidence in each possible label (where larger = more confident). This internal method is used to implement transform() and output rawPredictionCol().

      Parameters:
      features - (undocumented)
      Returns:
      vector where element i is the raw prediction for label i. This raw prediction may be any real number, where a larger value indicates greater confidence for that label.
    • rawPredictionCol

      public final Param<String> rawPredictionCol()

      Param for raw prediction (a.k.a. confidence) column name.

      Specified by:
      rawPredictionCol in interface HasRawPredictionCol
      Returns:
      (undocumented)
    • setRawPredictionCol

      public M setRawPredictionCol(String value)

    • transform

      Overrides:
      transform in class PredictionModel<FeaturesType,M extends ClassificationModel<FeaturesType,M>>
      Parameters:
      dataset - input dataset
      Returns:
      transformed dataset
    • transformImpl

    • transformSchema

      Check transform validity and derive the output schema from the input schema.

      We check validity for interactions between parameters during transformSchema and raise an exception if any parameter value is invalid. Parameter value checks which do not depend on other parameters are handled by Param.validate().

      Typical implementation should first conduct verification on schema change and parameter validity, including complex parameter interaction checks.

      Overrides:
      transformSchema in class PredictionModel<FeaturesType,M extends ClassificationModel<FeaturesType,M>>
      Parameters:
      schema - (undocumented)
      Returns:
      (undocumented)