Sparklyr:带有ft_min_max_scaler的ft_vector_assembler不会执行任何操作,但不会失败

时间:2019-04-15 05:58:33

标签: r sparkr sparklyr

我正在运行sparklyr 1.0.0和SparkR 2.4.1。我正在尝试从sparklyr文档执行ft_min_max_scaler()示例,但是它无法正常工作。该函数运行无错误,但在输出中似乎没有对输入的更改。

在我使用这些功能的其他代码无法正常工作之后,我开始尝试此示例代码。

代码如下:

sc <- spark_connect(master = "spark://<address>:7077",spark_home = "C:/Users/paul/Downloads/spark-2.4.1-bin-hadoop2.7", app_name = "sparklyr",config=config)


data(iris)

iris_tbl <- sdf_copy_to(sc, iris, name = "iris_tbl", overwrite = TRUE)

iris_tbl

features <- c("Sepal_Length", "Sepal_Width", "Petal_Length", "Petal_Width")

iris_tbl %>%
ft_vector_assembler(input_col = features,
                  output_col = "features_temp",uid="assembler") %>%
  ft_min_max_scaler(input_col = "features_temp",
                output_col = "features",uid="scaler")

我希望列出的4个属性将缩放为[0,1],但它们不会改变并且都大于1。

更新:

以下代码解决了该问题,但我仍然需要弄清楚如何将“功能”列复制回数据框中:

iris_tbl<-iris_tbl %>%
ft_vector_assembler(input_col = features,
                  output_col = "features_temp",uid="assembler") %>%
ft_min_max_scaler(input_col = "features_temp",
                output_col = "features",uid="scaler") %<% collect()

 iris_tbl$features

0 个答案:

没有答案