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]:
예제 #2
0
)

# 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,"