微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用 sparklyr 热编码/生成虚拟列

如何解决如何使用 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 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?