我正在构建一个关于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,不介意在本地运行
答案 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, "%")