r - 如何在 Spark 管道中引用特定的 DataFrame?
问题描述
假设我在 Spark 中有两个具有相同功能的 Spark DataFrame,并且我想构建一个管道来交叉验证它们。如何引用管道中的每个表?我sparklyr
在 R 中使用来执行此操作,但我想它应该与pyspark
.
首先,我可以使用以下代码构建线性回归并使用交叉评估它ml_cross_validator()
suppressMessages(library(sparklyr))
suppressMessages(library(tidyverse))
sc <- spark_connect(master = "local")
copy_to(sc, mtcars, "mtcars")
mtcars <- tbl(sc, "mtcars")
pipeline <- ml_pipeline(sc) %>%
ft_r_formula(mpg ~ .) %>%
ml_linear_regression()
grid <- list(linear_regression = list(reg_param = 0))
cv <- ml_cross_validator(
sc,
estimator = pipeline, # use our pipeline to estimate the model
estimator_param_maps = grid, # use the params in grid
evaluator = ml_regression_evaluator(sc, metric_name = "rmse"), # how to evaluate the CV
num_folds = 2, # number of CV folds
seed = 2018
)
cv_model <- ml_fit(cv, mtcars)
cv_model$avg_metrics_df
#> rmse reg_param_1
#> 1 3.997882 0
由reprex 包(v0.3.0)于 2019 年 9 月 13 日创建
但是,如果我添加另一个具有相同功能的表:
mtcars_sample <- sdf_sample(mtcars, fraction = 0.8) %>%
sdf_register("mtcars_sample")
我如何在管道中引用它?
─ Session info ───────────────────────────────────────────────────────────────────────────────────────────────────────
setting value
version R version 3.6.0 (2019-04-26)
os macOS Mojave 10.14.6
system x86_64, darwin15.6.0
ui RStudio
language (EN)
collate en_US.UTF-8
ctype en_US.UTF-8
tz Europe/Stockholm
date 2019-09-13
解决方案
推荐阅读
- r - 您如何在 r2d3 中使用 d3 为轴过渡设置动画?
- xamarin.android - Xamarin.Android 链接问题——错误处理方法 System.String
- python - Flask apache2服务器结构
- java - spring-boot-autoconfigure:2.3.0 中是否有 `HttpProperties` 的替代品?
- azure - Azure 复制数据无法从 http 服务器读取数据
- python - Python:TypeError:'float'对象不可迭代
- algorithm - 如何为 Graham Scan 生成最坏情况数据
- c++ - 如何在for循环中格式化输出
- python - 如何让用户在 Flask Web 应用程序中下载文件客户端?
- python - 在条形图(棒棒糖)的末尾添加数据标签