Feature Transformation -- LSH (Estimator)

Locality Sensitive Hashing functions for Euclidean distance (Bucketed Random Projection) and Jaccard distance (MinHash).

ft_bucketed_random_projection_lsh(x, input_col = NULL,
  output_col = NULL, bucket_length = NULL, num_hash_tables = 1,
  seed = NULL, uid = random_string("bucketed_random_projection_lsh_"),

ft_minhash_lsh(x, input_col = NULL, output_col = NULL,
  num_hash_tables = 1L, seed = NULL,
  uid = random_string("minhash_lsh_"), ...)



A spark_connection, ml_pipeline, or a tbl_spark.


The name of the input column.


The name of the output column.


The length of each hash bucket, a larger bucket lowers the false negative rate. The number of buckets will be (max L2 norm of input vectors) / bucketLength.


Number of hash tables used in LSH OR-amplification. LSH OR-amplification can be used to reduce the false negative rate. Higher values for this param lead to a reduced false negative rate, at the expense of added computational complexity.


A random seed. Set this value if you need your results to be reproducible across repeated calls.


A character string used to uniquely identify the feature transformer.


Optional arguments; currently unused.


The object returned depends on the class of x.

  • spark_connection: When x is a spark_connection, the function returns a ml_transformer, a ml_estimator, or one of their subclasses. The object contains a pointer to a Spark Transformer or Estimator object and can be used to compose Pipeline objects.

  • ml_pipeline: When x is a ml_pipeline, the function returns a ml_pipeline with the transformer or estimator appended to the pipeline.

  • tbl_spark: When x is a tbl_spark, a transformer is constructed then immediately applied to the input tbl_spark, returning a tbl_spark


In the case where x is a tbl_spark, the estimator fits against x to obtain a transformer, which is then immediately used to transform x, returning a tbl_spark.

See also