我将如何获得逻辑回归模型测试项目的错误模式?
How would I get the pattern of errors on test items for a logistic regression model?
我正在尝试分析我在下面编码的模型的 测试项目 上的错误模式(准确性)。我想知道有多少次 Setosa 和 Versicolor 鸢尾属植物被错误地归类为 Virginica,以及 Virginica 鸢尾属植物被错误归类为非 Virginica 的频率。这可以做到吗?任何建议都会很棒。这是我的逻辑回归模型和使用该模型构建的分类器...
library(datasets)
iris$dummy_virginica_iris <- 0
iris$dummy_virginica_iris[iris$Species == 'virginica'] <- 1
iris$dummy_virginica_iris
# Logistic regression model.
glm <- glm(dummy_virginica_iris ~ Petal.Width + Sepal.Width,
data = iris,
family = 'binomial')
summary(glm)
# Classifer.
glm.pred <- predict(glm, type="response")
virginica <- ifelse(glm.pred > .5, TRUE, FALSE)
你可以像这样创建一个新的向量来将花分成 virginica / non-virginica:
species <- as.character(iris$Species)
species[species != "virginica"] <- "non-virginica"
然后您可以根据模型的预测将其制成表格,作为 2 x 2 的意外事件 table:
result <- table(virginica, species)
print(result)
# species
# virginica non-virginica virginica
# FALSE 96 3
# TRUE 4 47
这样可以轻松计算模型的灵敏度、特异性和准确性,如下所示:
sensitivity <- result[2, 2] / sum(result[, 2])
specificity <- result[1, 1] / sum(result[, 1])
accuracy <- (result[1, 1] + result[2, 2]) / sum(result)
sensitivity
# [1] 0.94
specificity
# [1] 0.96
accuracy
# [1] 0.9533333
我正在尝试分析我在下面编码的模型的 测试项目 上的错误模式(准确性)。我想知道有多少次 Setosa 和 Versicolor 鸢尾属植物被错误地归类为 Virginica,以及 Virginica 鸢尾属植物被错误归类为非 Virginica 的频率。这可以做到吗?任何建议都会很棒。这是我的逻辑回归模型和使用该模型构建的分类器...
library(datasets)
iris$dummy_virginica_iris <- 0
iris$dummy_virginica_iris[iris$Species == 'virginica'] <- 1
iris$dummy_virginica_iris
# Logistic regression model.
glm <- glm(dummy_virginica_iris ~ Petal.Width + Sepal.Width,
data = iris,
family = 'binomial')
summary(glm)
# Classifer.
glm.pred <- predict(glm, type="response")
virginica <- ifelse(glm.pred > .5, TRUE, FALSE)
你可以像这样创建一个新的向量来将花分成 virginica / non-virginica:
species <- as.character(iris$Species)
species[species != "virginica"] <- "non-virginica"
然后您可以根据模型的预测将其制成表格,作为 2 x 2 的意外事件 table:
result <- table(virginica, species)
print(result)
# species
# virginica non-virginica virginica
# FALSE 96 3
# TRUE 4 47
这样可以轻松计算模型的灵敏度、特异性和准确性,如下所示:
sensitivity <- result[2, 2] / sum(result[, 2])
specificity <- result[1, 1] / sum(result[, 1])
accuracy <- (result[1, 1] + result[2, 2]) / sum(result)
sensitivity
# [1] 0.94
specificity
# [1] 0.96
accuracy
# [1] 0.9533333