如何解决如何使用 sparklyr 热编码/生成虚拟列
我知道这里有很多与此类似的问题,但 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 举报,一经查实,本站将立刻删除。