Dear Greg,
If it is only the NA that worries you: function table can deal with that.
? table
and:
example (table)
If you want to make a confusion matrix that works also with fractional answers
(e.g. 50% A, 50% B, a.k.a soft classification) then you can contact me and
become test user of a package that I'm just writing (you can also wait until it
is published to CRAN, but that will take a while).
Best regards,
Claudia
Gregory Ryslik wrote:
Hi Everyone,
In follow up to my previous question, I wrote some code that correctly makes a confusion
matrix as I need it. However, it only works when the numbers are between 1 and n. If the
possible outcomes are between 0 and n, then I can't reference row "0" of the
matrix and the code breaks. Does anyone have any easy fixes for this? I've attached the
entire code to this email.
As always, thank you for your help!
Greg
Code:
answers<-matrix(c(4,2,1,3,2,1),nrow =6)
mat1<- matrix(c(3,3,4,NA,4,2),nrow = 6)
mat2<-matrix(c(3,2,1,4,2,3),nrow = 6)
mat3<-matrix(c(4,2,2,2,1,1),nrow = 6)
mat4<-matrix(c(4,2,1,3,1,4),nrow = 6)
mat5<-matrix(c(2,3,1,4,2,3),nrow = 6)
matrixlist<- list(mat1,mat2,mat3,mat4,mat5)
predicted.values<- matrix(unlist(matrixlist),nrow = dim(mat1)[1])
confusion.matrix<-matrix(0, nrow = length(as.vector(unique(answers))),ncol = length(as.vector(unique(answers))))
for(i in 1:dim(predicted.values)[1]){
for(j in 1: dim(predicted.values)[2]){
predicted.value<- predicted.values[i,j]
if(!is.na(predicted.value)){
true.value<- answers[i,]
confusion.matrix[true.value, predicted.value] <-
confusion.matrix[true.value,predicted.value]+1
}
}
}
class.error<- diag(1- prop.table(confusion.matrix,1))
confusion.matrix<-cbind(confusion.matrix,class.error)
confusion.data.frame<-as.data.frame(confusion.matrix)
names(confusion.data.frame)[1:length(as.vector(unique(answers)))]<-
1:length(as.vector(unique(answers)))
names(confusion.data.frame)[length(as.vector(unique(answers)))+1]<-
"class.error"
[[alternative HTML version deleted]]
______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.
--
Claudia Beleites
Dipartimento dei Materiali e delle Risorse Naturali
Università degli Studi di Trieste
Via Alfonso Valerio 6/a
I-34127 Trieste
phone: +39 0 40 5 58-37 68
email: cbelei...@units.it
______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.