2017-01-30 66 views
0

我在火花的虹膜數據上構建了一個簡單的隨機森林模型,我希望有一些精度測量的方法。SparkR中的測量精度

我想到了一個簡單的列匹配的選項也一樣,但是這並不工作

代碼:

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([email protected], "col", c)) : 

P.S: 使用數據磚頭運行火花,不介意在本地運行的是

回答

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, "%")