Feature Transformation -- Bucketizer (Transformer)

Similar to R's cut function, this transforms a numeric column into a discretized column, with breaks specified through the splits parameter.

ft_bucketizer(x, input_col = NULL, output_col = NULL, splits = NULL,
  input_cols = NULL, output_cols = NULL, splits_array = NULL,
  handle_invalid = "error", uid = random_string("bucketizer_"), ...)



A spark_connection, ml_pipeline, or a tbl_spark.


The name of the input column.


The name of the output column.


A numeric vector of cutpoints, indicating the bucket boundaries.


Names of input columns.


Names of output columns.


Parameter for specifying multiple splits parameters. Each element in this array can be used to map continuous features into buckets.


(Spark 2.1.0+) Param for how to handle invalid entries. Options are 'skip' (filter out rows with invalid values), 'error' (throw an error), or 'keep' (keep invalid values in a special additional bucket). Default: "error"


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

See also


if (FALSE) { library(dplyr) sc <- spark_connect(master = "local") iris_tbl <- sdf_copy_to(sc, iris, name = "iris_tbl", overwrite = TRUE) iris_tbl %>% ft_bucketizer(input_col = "Sepal_Length", output_col = "Sepal_Length_bucket", splits = c(0, 4.5, 5, 8)) %>% select(Sepal_Length, Sepal_Length_bucket, Species) }