如何使用Sparklyr从Spark模型预测中获取概率值?

时间:2018-10-31 00:43:01

标签: r apache-spark sparklyr

我正在与sparklyr包一起使用Spark中的数据。我正在建立一个逻辑回归模型,并且在弄清楚如何从模型上的ml_predict()生成的预测数据帧的概率列中获取每个类别的概率时遇到了一些麻烦。

以下是一些简短的示例代码,演示了我在做什么:

library(sparklyr)
library(dplyr)

sc <- spark_connect(master = "local[1]", version = "2.3.2")

iris_sc <- copy_to(sc, iris)
modelPipeline <- ml_pipeline(sc) %>%
   ft_r_formula(Species ~ Sepal_Length + Sepal_Width + Petal_Length + Petal_Width) %>%
   ml_logistic_regression()

modelFit <- ml_fit(modelPipeline, iris_sc)

predictions <- ml_predict(modelFit, iris_sc)

reprex package(v0.2.1)于2018-10-30创建

这将产生一个Spark数据帧,其中包含名为probability的列,该列为 Spark中的org.apache.spark.ml.linalg.VectorUDT数据类型,每行三个元素,代表三个可能类别中每个类别的模型概率预测。

如何使用sparklyr从此对象中获取这些值之一?当然,probability[1]之类的东西在sparklyr中不起作用,并且我在dplyrsparklyr中找不到可能有用的函数。

0 个答案:

没有答案