【发布时间】:2021-03-15 08:31:59
【问题描述】:
我的数据包含使用分类和未分类观察结果区分两种田鼠的数据
我从 89 个样本中构建了一个逻辑模型,用于预测剩余 199 个样本的组成员身份
我的数据样本
Group M1 M2 Fora Phone len height Rost
1 multiplex 2078 1649 1708 3868 5463 2355 805
2 subterraneus 1749 1482 1462 3797 4855 2218 765
3 unknown 1841 1562 1585 3750 5024 2232 821
我将数据分成 89 个观测值来训练我的模型,并保留 199 个未知观测值进行预测
train.data = microtus[c(1:89),c(1:9)]
test.data = microtus[c(90:288),c(1:9)]
train.data$Group =ifelse(train.data$Group=="multiplex", 1, 0)
我的模特
model <- glm(Group ~ M1Left + M3Left + Foramen + Length + Height,
family = binomial(), data = train.data)
summary(model)
预测
pred <- predict(model, test.data, type = "response")
我建立了一个混淆矩阵
createConfusionMatrix=function(actual, preds){
predClass=ifelse(preds<0.5, 0, 1)
table(actual,predClass)
}
## Confusion matrix
createConfusionMatrix(test.data$Group,pred)
我的输出
predClass
actual 0 1
multiplex 0 0
subterraneus 0 0
unknown 70 129
我觉得这个输出不对?
我可以获得有关如何构建混淆矩阵的帮助吗?
【问题讨论】:
-
@jottbe 我试过这个方法。它对我不起作用。
标签: r machine-learning classification logistic-regression