result_file=paste("data/confusion_matrix_celltype.txt", sep="")
test_result=read.table(file = result_file)
dim(test_result)
test_result
tp<-c()
fp<-c()
fn<-c()
precision<-c()
recall<-c()
f1score<-c()
for (i in 1:dim(test_result)[1]){
  tp<-c(tp,test_result[i,i])
  fp<-c(fp,(sum(test_result[,i])-tp[i]))
  fn<-c(fn,(sum(test_result[i,])-tp[i]))
  if(tp[i]==0){
    precision<-c(precision,0)
    recall<-c(recall,0)
  }else{
    precision<-c(precision,tp[i]/(tp[i]+fp[i]))
    recall<-c(recall,tp[i]/(tp[i]+fn[i]))
  }
}
precision
recall

macro_precision<-ave(precision)
macro_recall<-ave(recall)
macro_precision
macro_recall
sum(fp)
sum(fn)
sum(tp)

ave_tp<-ave(tp)
ave_fp<-ave(fp)
ave_fn<-ave(fn)
micro_precision<-ave_tp/(ave_tp+ave_fp)
micro_recall<-ave_tp/(ave_tp+ave_fn)
micro_precision
micro_recall
