【发布时间】:2018-07-27 20:15:25
【问题描述】:
我有一些示例代码只能在一台机器上运行。经过一些测试,我发现工作的机器运行的是 R 3.4.2,而其他所有机器都运行的是 3.4.3。
经过一些工作,我发现访问 ml_decision_tree 参数的方式发生了某种变化。我正在尝试获取标签。这是旧的做法:
model_iris$model.parameters$labels
那已经不行了。如果您在脚本的其余部分的上下文中运行它,我会得到一个空值。我已经尝试实际查看列表对象以确定层次结构标签的存储位置并且我可以看到它们,但无论我做什么,我似乎都无法深入研究它们。
这是整个脚本的一个版本:
library(tidyverse)
library(sparklyr)
library(Rcpp)
sc <- spark_connect(master = "local")
iris_tbl <- copy_to(sc, iris)
partition_iris <- sdf_partition(import_iris, training=0.5, testing=0.5)
sdf_register(partition_iris, c("spark_iris_training", "spark_iris_test"))
tidy_iris <- tbl(sc, "spark_iris_training") %>%
select(Species, Petal_Length, Petal_Width)
model_iris <- tidy_iris %>%
ml_decision_tree(response="Species", features=c("Petal_Length", "Petal_Width"))
test_iris <- tbl(sc, "spark_iris_test")
pred_iris <- sdf_predict(model_iris, test_iris) %>%
collect
library(ggplot2)
pred_iris %>%
inner_join(data.frame(prediction=0:2, lab=model_iris$model.parameters$labels)) %>%
ggplot(aes(Petal_Length, Petal_Width, col=lab)) + geom_point()
编辑:我正在运行的包的版本似乎有所不同。 工作代码运行 sparklyr 0.6.3。破解版本为0.7.0-9004。
【问题讨论】:
-
我正在使用 sparklyr。这就是我标记问题的方式。让我换个问题,让它更清楚。
标签: r apache-spark sparklyr