我很好奇R中ft_one_hot_encoder
中的sparklyr
函数的输出。我试图在使用{{1}之前实现它以找到我无法使用的输出相反。
我有一些简单的测试数据和一个有效的火花连接:
ml_create_dummy_variables
然后我可以复制数据并应用require(dplyr)
require(sparklyr)
spark_connection<-spark_connect(master = 'yarn-client'
oneHotTest<-data.frame(a=c(1,2,1,3), b=rnorm(4))
> oneHotTest
a b
1 1 2.2221345
2 2 0.2010831
3 1 0.5932860
4 3 0.7223811
和ft_one_hot_encoder
函数:
ml_create_dummy_variables
结果如下,oneHotTable<-copy_to(spark_connection, oneHotTest)
oneHotEncode<-ft_one_hot_encoder(oneHotTable, input.col = 'a', output.col = 'output')
oneHotDummy<-ml_create_dummy_variables(oneHotTable, 'a')
给出了我想要的输出:
ml_create dummy variables
> oneHotDummy
Source: table<sparklyr_tmp_211f7b4485f4> [?? x 5]
Database: spark_connection
a b a_1 a_2 a_3
<chr> <dbl> <dbl> <dbl> <dbl>
1 1 -0.1524646 1 0 0
2 2 -0.5914959 0 1 0
3 1 -0.9588067 1 0 0
4 3 -1.5186872 0 0 1
在哪里为我提供了ft_one_hot_encoder
的输出列,我无法使用:
NULL
我实现此功能的方式是否存在问题,或者我只是访问错误的信息?我也试过从火花中读取数据无济于事。
答案 0 :(得分:1)
在sparklyr 0.6.0中你可以使用这个
x <- sdf_separate_column(oneHotDummy, column = 'output', into='new')