정확도 평가

    반환 값이 여러 폴드Fold에 대한 결과를 저장한 리스트고, 각 폴드의 결과는 actual과 predicted에 저장된 리스트임을 감안해 정확도Accuracy 계산 함수를 재작성해보자. 여기서 만드는 함수를 뒤에서 만들 다른 모델에서도 계속 사용할 것이다.

    > evaluation <- function(lst) {
    +   accuracy <- sapply(lst, function(one_result) {
    +     return(sum(one_result$predicted == one_result$actual) / NROW(one_result$actual))
    +   })
    +   print(sprintf("MEAN +/- SD: %.3f +/- %.3f",
    +                  mean(accuracy), sd(accuracy)))
    +   return(accuracy)
    + }
    > (rpart_accuracy <- evaluation(rpart_result))
    [1] "MEAN +/- SD: 0.808 +/- 0.019"
     [1] 0.7948718 0.8034188 0.8050847 0.8305085 0.7966102 0.8050847 0.8220339 0.8135593 0.8389831 0.7711864
    

    evaluation( ) 함수는 rpart_result를 입력으로 받아 sapply( )를 수행한다. sapply는 각 폴드에 대한 결과에 대해 정확도를 계산하며 이를 벡터로 묶는다. 마지막으로 정확도의 평균과 표준 편차를 출력한 뒤 정확도 벡터를 결과로 반환했다.

    정확도 계산 결과 rpart 모델의 성능은 80.8%로 나타났다.

    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.