问题描述
我知道这里有很多与此类似的问题,但 1) 大多数解决方案依赖于已弃用的函数,例如 ml_create_dummy_variables
和 2) 其他解决方案不完整。
是否有一种函数或方法可以轻松地将一个分类变量热编码为 sparklyr 中的多个虚拟变量?
此 post 要求在 SparkR 中找到解决方案,顺便说一下,给出了一个 sparklyr 解决方案,该解决方案仅在给定列中的类别唯一时才有效,这使其毫无意义。
这个solution,结果是每个类别都有一个假人,而不是一个假人(抓住第一个类别)。这也是我偶然发现的解决方案(基于这个 post),它并没有削减它:
iris_sdf <- copy_to(sc,iris,overwrite = TRUE)
iris_sdf %>%
ft_string_indexer(input_col = "Species",output_col = "species_num") %>%
mutate(cat_num = species_num + 1) %>%
ft_one_hot_encoder("species_num","species_dum") %>%
ft_vector_assembler(c("species_dum"))
我正在寻找一种解决方案,该解决方案将从 Species
数据集中获取 iris
并生成三列 - Species
中的每个类别(virginica、setosa 和 versicolor)。使用 R,fastDummies
包有我需要的东西,但我想知道如何在 sparklyr 中实现类似的功能。
再一次,我会注意到 ml_create_dummy_variables
(由这个 post 建议)产生了以下错误:
Error in ml_create_dummy_variables(.,"species_num","species_dum") : Error in ml_create_dummy_variables(.,"species_dum") :
Could not find function "ml_create_dummy_variables"
注意:我使用的是 sparklyr_1.3.1
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)