Sparklyr: ft_vector_assembler с ft_min_max_scaler ничего не делают, но не терпят неудачу - PullRequest
0 голосов
/ 15 апреля 2019

У меня работает sparklyr 1.0.0 и SparkR 2.4.1. Я пытаюсь выполнить пример ft_min_max_scaler () из документации по sparklyr, но он не работает должным образом. Функции работают без ошибок, но на выходе, кажется, нет изменений на входе.

Я начал пробовать этот пример кода после того, как мой другой код, использующий эти функции, не работал должным образом.

Вот код:

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.

Обновление:

Следующий код исправил проблему, но мне все еще нужно выяснить, как скопировать столбец «features» обратно в фрейм данных:

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
...