## S3 method for class 'factor'
fer(actual, predicted, micro = NULL, na.rm = TRUE, ...)
## S3 method for class 'factor'
weighted.fer(actual, predicted, w, micro = NULL, na.rm = TRUE, ...)
## S3 method for class 'cmatrix'
fer(x, micro = NULL, na.rm = TRUE, ...)
fer(...)
weighted.fer(...)
false omission rate
fer.factor | R Documentation |
Description
The fer()
-function computes the false omission rate (FOR), the proportion of false negatives among the predicted negatives, between two vectors of predicted and observed factor()
values. The weighted.fer()
function computes the weighted false omission rate.
Usage
Arguments
actual
|
A vector of |
predicted
|
A vector of |
micro
|
A |
na.rm
|
A |
…
|
Arguments passed into other methods |
w
|
A |
x
|
A confusion matrix created |
Value
If micro
is NULL (the default), a named <numeric>
-vector of length k
If micro
is TRUE or FALSE, a <numeric>
-vector of length 1
Calculation
The metric is calculated for each class \(k\) as follows,
\[ \frac{\#FN_k}{\#FN_k + \#TN_k} \]
Where \(\#FN_k\) and \(\#TN_k\) are the number of false negatives and true negatives, respectively, for each class \(k\).
Examples
# 1) recode Iris
# to binary classification
# problem
$species_num <- as.numeric(
iris$Species == "virginica"
iris
)
# 2) fit the logistic
# regression
<- glm(
model formula = species_num ~ Sepal.Length + Sepal.Width,
data = iris,
family = binomial(
link = "logit"
)
)
# 3) generate predicted
# classes
<- factor(
predicted as.numeric(
predict(model, type = "response") >` 0.5
),
levels = c(1,0),
labels = c("Virginica", "Others")
)
# 3.1) generate actual
# classes
actual <- factor(
x = iris$species_num,
levels = c(1,0),
labels = c("Virginica", "Others")
)
# 4) evaluate class-wise performance
# using False Omission Rate
# 4.1) unweighted False Omission Rate
fer(
actual = actual,
predicted = predicted
)
# 4.2) weighted False Omission Rate
weighted.fer(
actual = actual,
predicted = predicted,
w = iris$Petal.Length/mean(iris$Petal.Length)
)
# 5) evaluate overall performance
# using micro-averaged False Omission Rate
cat(
"Micro-averaged False Omission Rate", fer(
actual = actual,
predicted = predicted,
micro = TRUE
),
"Micro-averaged False Omission Rate (weighted)", weighted.fer(
actual = actual,
predicted = predicted,
w = iris$Petal.Length/mean(iris$Petal.Length),
micro = TRUE
),
sep = "\n"
)