Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
访问随机林sparkR中的概率对象列_R_Sparkr - Fatal编程技术网

访问随机林sparkR中的概率对象列

访问随机林sparkR中的概率对象列,r,sparkr,R,Sparkr,在斯巴克,我有这样的东西 rf <- spark.randomForest(train, formula, type = "classification") pred <- predict(rf,test) 输出是您可以在图像中看到的内容 如何获得概率值?您必须使用函数sparkR.callJMethod为每个对象调用名为values的Java方法 t(sapply(collect(select(pred, "probability"))$probability,

在斯巴克,我有这样的东西

rf <- spark.randomForest(train, formula, type = "classification")
pred <- predict(rf,test) 
输出是您可以在图像中看到的内容


如何获得概率值?

您必须使用函数
sparkR.callJMethod
为每个对象调用名为
values
的Java方法

t(sapply(collect(select(pred, "probability"))$probability, 
         FUN = function(x) sparkR.callJMethod(x, "values")))
下面是使用Iris数据集的完整示例。目标值为
物种
,有3个级别,共有150个数据点

df <- createDataFrame(iris)
model <- spark.randomForest(df, Species ~ ., type = "classification")
summary(model)

predictions <- predict(model, df)

local_prob <- collect(select(predictions, "probability"))$probability

t(sapply(local_prob, FUN = function(x) sparkR.callJMethod(x, "values")))
df <- createDataFrame(iris)
model <- spark.randomForest(df, Species ~ ., type = "classification")
summary(model)

predictions <- predict(model, df)

local_prob <- collect(select(predictions, "probability"))$probability

t(sapply(local_prob, FUN = function(x) sparkR.callJMethod(x, "values")))
       [,1]        [,2]        [,3]
  [1,] 0           0           1   
  [2,] 0           0           1   
  [3,] 0           0           1   
...  
[148,] 0           1           0   
[149,] 0.05        0.95        0   
[150,] 0.01805556  0.9819444   0