SparkR中的测量精度

时间:2017-01-30 09:22:32

标签: sparkr

我正在构建一个关于spark中虹膜数据的简单随机森林模型,我希望有一些精确度测量方法。

我也想到了一个简单的列匹配选项,但这不起作用

代码:

library("SparkR")

sc = sparkR.session("local[*]")

iris_data <- as.DataFrame(iris)

train <- sample(iris_data, withReplacement=FALSE, fraction=0.5, seed=42)
test <- except(iris_data, train)


model_rf <- spark.randomForest(train, Species ~., "classification", numTrees = 10)

summary(model_rf)

问题:

predictions <- predict(model_rf, test)

total_rows <- NROW(test)

predictions$correct <- (test$Species == test$prediction)

accuracy <- correct/total_rows

print(accuracy)

错误:

Error in column(callJMethod(x@sdf, "col", c)) : 

P.S: 使用数据块运行spark,不介意在本地运行

1 个答案:

答案 0 :(得分:0)

所以我就这样做了,

total_rows <- NROW(test)

predictions$result  <- ifelse((predictions$Species == predictions$prediction), 
                               "TRUE", "FALSE")

correct <- NROW(predictions[predictions$result == "TRUE",])

accuracy <- correct/total_rows

cat(accuracy, "%")