import numpy as np import collections #from optparse import OptionParser import argparse import myparser import sys if len(sys.argv) != 3: print >> sys.stderr, '\nUsage:' print >> sys.stderr, 'python CalculatePerformance.py $1 $2' print >> sys.stderr, '$1 -- label file' print >> sys.stderr, '$2 -- prediction file\n' exit(0) ppbLabel = myparser.parseLabel(sys.argv[1]) m = len(ppbLabel[0,:]) - 1 prediction = myparser.parsePrediction(sys.argv[2]) m1 = len(prediction[:,0]) ##m1 = len(prediction[:,0]) numLabeledNodes = 0 for index in xrange(0, m1): if ppbLabel[int(prediction[index, 0]), 0] == 0: numLabeledNodes += 1 #### calculate accuracy count = 0.0 for i in xrange(0, m1): if ppbLabel[int(prediction[i, 0]), int(prediction[i, 1])+1]:
) # args = ['-l', "template//firstlevellabel.list", # 'template//BakerAdjacency.list', # '-k', '2', '-o', 'haha.test', # '-d', 'template//ExactDSD.list', # '-r', 'template//firstLevelRandIndex.txt', # TODO: UPDATE THIS LIST # '-m', '2', '-t', '10'] # options = parser.parse_args(args) options = parser.parse_args() #### Phase 1: Parse All Input Files ppbAdj = myparser.parsePPI(options.infile) N = len(ppbAdj[:, 0]) ppbLabel = myparser.parseLabel(options.label) m = len(ppbLabel[0, :]) - 1 numLabels = m pnRD = myparser.parseRDIndex(options.rdindex, ppbLabel) pnFoldIndex = myparser.GetFoldIndex(pnRD, N, options.k) if options.mode != 0 and options.mode != 3: ppfDSD = myparser.parseDSD(options.dsdfile) #### Phase 2: Conduct Majority Voting if options.mode == 0: prediction = mvote.ordinaryMV(ppbAdj, ppbLabel, pnFoldIndex, pnRD) elif options.neighbor <= 0 or options.neighbor >= N / 2: options.neighbor == 10 print >> sys.stderr, "the setting for top DSD neighbors is invalid,"