Class HashingTF

All Implemented Interfaces:
Serializable, org.apache.spark.internal.Logging, Params, HasInputCol, HasNumFeatures, HasOutputCol, DefaultParamsWritable, Identifiable, MLWritable, scala.Serializable

public class HashingTF extends Transformer implements HasInputCol, HasOutputCol, HasNumFeatures, DefaultParamsWritable
Maps a sequence of terms to their term frequencies using the hashing trick. Currently we use Austin Appleby's MurmurHash 3 algorithm (MurmurHash3_x86_32) to calculate the hash code value for the term object. Since a simple modulo is used to transform the hash function to a column index, it is advisable to use a power of two as the numFeatures parameter; otherwise the features will not be mapped evenly to the columns.
See Also:
  • Constructor Details

    • HashingTF

      public HashingTF()
    • HashingTF

      public HashingTF(String uid)
  • Method Details

    • read

      public static MLReader<HashingTF> read()
    • load

      public static HashingTF load(String path)
    • numFeatures

      public final IntParam numFeatures()
      Description copied from interface: HasNumFeatures
      Param for Number of features. Should be greater than 0.
      Specified by:
      numFeatures in interface HasNumFeatures
    • outputCol

      public final Param<String> outputCol()
      Description copied from interface: HasOutputCol
      Param for output column name.
      Specified by:
      outputCol in interface HasOutputCol
    • inputCol

      public final Param<String> inputCol()
      Description copied from interface: HasInputCol
      Param for input column name.
      Specified by:
      inputCol in interface HasInputCol
    • 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
    • hashFuncVersion

      public int hashFuncVersion()
    • setInputCol

      public HashingTF setInputCol(String value)
    • setOutputCol

      public HashingTF setOutputCol(String value)
    • binary

      public BooleanParam binary()
      Binary toggle to control term frequency counts. If true, all non-zero counts are set to 1. This is useful for discrete probabilistic models that model binary events rather than integer counts. (default = false)
    • setNumFeatures

      public HashingTF setNumFeatures(int value)
    • getBinary

      public boolean getBinary()
    • setBinary

      public HashingTF setBinary(boolean value)
    • transform

      public Dataset<Row> transform(Dataset<?> dataset)
      Description copied from class: Transformer
      Transforms the input dataset.
      Specified by:
      transform in class Transformer
      dataset - (undocumented)
    • transformSchema

      public StructType transformSchema(StructType schema)
      Description copied from class: PipelineStage
      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.

      Specified by:
      transformSchema in class PipelineStage
      schema - (undocumented)
    • indexOf

      public int indexOf(Object term)
      Returns the index of the input term.
      term - (undocumented)
    • copy

      public HashingTF 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 Transformer
      extra - (undocumented)
    • toString

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

      public void save(String path)
      Description copied from interface: MLWritable
      Saves this ML instance to the input path, a shortcut of
      Specified by:
      save in interface MLWritable
      path - (undocumented)