genrocdata.r

来自「InsightToolkit-1.4.0(有大量的优化算法程序)」· R 代码 · 共 31 行

R
31
字号
genrocdata <- function(inputFile, classLabels)
  {
    noRuns = 100 ;
    data = read.table(inputFile, header=T) ;
    colBegin = which(colnames(data) == classLabels[1]) ;
    colEnd = colBegin + length(classLabels) - 1 ;
    sensitivity <- array(dim=c(noRuns, length(classLabels))) ;
    specificity <- array(dim=c(noRuns, length(classLabels))) ;
    for ( i in 1:noRuns )
      {
        classificationMatrix = as.matrix(data[(3*i - 2):(3*i), colBegin:colEnd]) ;
        for ( j in 1:nrow(classificationMatrix) )
          {
            truePositive = classificationMatrix[j,j] ;
            falsePositive = sum(classificationMatrix[j,]) - truePositive ;
            falseNegative = sum(classificationMatrix[,j]) - truePositive ;
            trueNegative = sum(classificationMatrix) - (truePositive + falsePositive + falseNegative) ;
            sensitivity[i, j] = truePositive / ( truePositive + falseNegative) ;
            specificity[i, j] = trueNegative / ( falsePositive + trueNegative) ;
          }
      }
    ret = data.frame(sens=sensitivity, spec=specificity) ;
    fileName = strsplit(inputFile, "\\.dat") ;
    output = paste(fileName[[1]], ".roc.dat", sep="") ;
    write.table(ret, output, row.names=F) ;
  }



    

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?