Classification evaluation compares predicted labels with known labels for a chosen positive class.

Program

Play the script to change the positive class and watch the true/false-positive counts.

classification_counts.R
positive_index <- 
actual <- c("yes", "no", "yes", "no")
predicted <- c("yes", "yes", "yes", "no")
positive <- c("yes", "no", "maybe")[positive_index]
tp <- sum(actual == positive & predicted == positive)
fp <- sum(actual != positive & predicted == positive)
label <- paste("tp", tp, "fp", fp, sep = ":")
cat(label, "\n", sep = "")
positive_index <- 
actual <- c("yes", "no", "yes", "no")
predicted <- c("yes", "yes", "yes", "no")
positive <- c("yes", "no", "maybe")[positive_index]
tp <- sum(actual == positive & predicted == positive)
fp <- sum(actual != positive & predicted == positive)
label <- paste("tp", tp, "fp", fp, sep = ":")
cat(label, "\n", sep = "")
positive_index <- 
actual <- c("yes", "no", "yes", "no")
predicted <- c("yes", "yes", "yes", "no")
positive <- c("yes", "no", "maybe")[positive_index]
tp <- sum(actual == positive & predicted == positive)
fp <- sum(actual != positive & predicted == positive)
label <- paste("tp", tp, "fp", fp, sep = ":")
cat(label, "\n", sep = "")
positive class The chosen positive class defines what counts as a positive prediction.
true positive `actual == positive & predicted == positive` finds correct positive predictions.
false positive `actual != positive & predicted == positive` finds predicted positives that were not actually positive.