我在使用R语言构建和比较多个预测模型。由于我使用的测试集并不“大”,我想查看哪些实例被哪个模型错误分类了。
举个例子进一步说明。我的R代码构建并测试了一个预测猫的Sex
的模型:
library(e1071)library(MASS)data(cats)index <- 1:nrow(cats)testindex <- sample(index, trunc(length(index)/3))testset <- cats[testindex,]trainset <- cats[-testindex,]model <- svm(Sex~., data = trainset)prediction <- predict(model, testset[,-1])tab <- table(pred = prediction, true = testset[,1])print(tab)
代码生成以下表格:
truepred F M F 11 3 M 8 26
如何确切知道那8个实际是F
但被错误分类为M
的实例?同样,对于那3个实际是M
但被错误分类为F
的实例?我更具体地想知道,cats
数据集中包含144个条目:我想知道每个被错误分类的实例所在的行号。
回答:
which(prediction != testset[,1])
将会给出testset
中被错误分类的行号。