Perform feature expansion in a polynomial space. E.g. take a 2-variable feature vector as an example: (x, y), if we want to expand it with degree 2, then we get (x, x * x, y, x * y, y * y).
ft_polynomial_expansion(x, input_col, output_col, degree = 2L,
  uid = random_string("polynomial_expansion_"), ...)A spark_connection, ml_pipeline, or a tbl_spark.
The name of the input column.
The name of the output column.
The polynomial degree to expand, which should be greater than equal to 1. A value of 1 means no expansion. Default: 2
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 http://spark.apache.org/docs/latest/ml-features.html for more information on the set of transformations available for DataFrame columns in Spark.
Other feature transformers: ft_binarizer,
  ft_bucketizer,
  ft_chisq_selector,
  ft_count_vectorizer, ft_dct,
  ft_elementwise_product,
  ft_feature_hasher,
  ft_hashing_tf, ft_idf,
  ft_imputer,
  ft_index_to_string,
  ft_interaction, ft_lsh,
  ft_max_abs_scaler,
  ft_min_max_scaler, ft_ngram,
  ft_normalizer,
  ft_one_hot_encoder, ft_pca,
  ft_quantile_discretizer,
  ft_r_formula,
  ft_regex_tokenizer,
  ft_sql_transformer,
  ft_standard_scaler,
  ft_stop_words_remover,
  ft_string_indexer,
  ft_tokenizer,
  ft_vector_assembler,
  ft_vector_indexer,
  ft_vector_slicer, ft_word2vec