Пример #1
0
    print pd.DataFrame(b,
                       columns=['Sum'] + df.columns.values.tolist(),
                       index=['Sum'] + df.index.values.tolist())


if __name__ == '__main__':

    parser = argparse.ArgumentParser(description='Calculate F1 metric')
    parser.add_argument('-s', '--min-score', type=int, help='minimum truth object score', default=0)
    parser.add_argument('truth', nargs=1, help='truth table in yaml format')
    parser.add_argument('pred', nargs=1, help='prediction in MCL format')
    parser.add_argument('output', nargs='?', type=argparse.FileType('w'), default=sys.stdout, help='Output file')
    args = parser.parse_args()

    print 'Reading truth table...'
    truth = tt.read_truth(args.truth[0], args.min_score)
    print 'Reading prediction...'
    pred = tt.read_mcl(args.pred[0])

    print 'Creating contingency table...'
    ct = tt.crosstab(truth.hard(), pred.hard())

    print
    print 'Contigency table [rows=truth, cols=prediction] contains {0} elements'.format(ct.shape[0] * ct.shape[1])
    print_table(ct)
    print

    if over_clustered(ct):
        add_padding_columns(ct)
        print 'Squaring table with dummy classes'
        print_table(ct)
Пример #2
0
#!/usr/bin/env python
import truthtable as tt
import numpy as np
import sys

table = tt.read_truth(sys.argv[1])
num_class = []
for k, v in table.asgn_dict.iteritems():
    num_class.append(len(v))

print '#objects\tmean_size\tsd_size'
print '{0}\t{1}\t{2}'.format(len(num_class), np.mean(num_class), np.std(num_class))

Пример #3
0
    parser.add_argument('-s',
                        '--min-score',
                        type=int,
                        help='minimum truth object score',
                        default=0)
    parser.add_argument('truth', nargs=1, help='truth table in yaml format')
    parser.add_argument('pred', nargs=1, help='prediction in MCL format')
    parser.add_argument('output',
                        nargs='?',
                        type=argparse.FileType('w'),
                        default=sys.stdout,
                        help='Output file')
    args = parser.parse_args()

    print 'Reading truth table...'
    truth = tt.read_truth(args.truth[0], args.min_score)
    print 'Reading prediction...'
    pred = tt.read_mcl(args.pred[0])

    print 'Creating contingency table...'
    ct = tt.crosstab(truth.hard(), pred.hard())

    print
    print 'Contigency table [rows=truth, cols=prediction] contains {0} elements'.format(
        ct.shape[0] * ct.shape[1])
    print_table(ct)
    print

    if over_clustered(ct):
        add_padding_columns(ct)
        print 'Squaring table with dummy classes'
Пример #4
0
#!/usr/bin/env python
import truthtable as tt
import numpy as np
import sys

table = tt.read_truth(sys.argv[1])
num_class = []
for k, v in table.asgn_dict.iteritems():
    num_class.append(len(v))

print '#objects\tmean_size\tsd_size'
print '{0}\t{1}\t{2}'.format(len(num_class), np.mean(num_class),
                             np.std(num_class))
Пример #5
0
            with open(filename, 'w') as hout:
                hout.write(msg + '\n')

    parser = argparse.ArgumentParser(description='Calculate extended bcubed metric')
    parser.add_argument('truth', metavar='TRUTH', help='Truth table (yaml format)')
    parser.add_argument('pred', metavar='PREDICTION', help='Prediction table (mcl format)')
    parser.add_argument('output', metavar='OUTPUT',nargs='?', type=argparse.FileType('w'),
                        default=sys.stdout, help='Output file (stdout)')
    parser.add_argument('-w','--weighted', default=False, action='store_true', help='Use truth object weights')
    parser.add_argument('-v', '--verbose', action='store_true', default=False, help='Verbose output')
    parser.add_argument('--hard', action='store_true', default=False, help='Extract hard truth prior to analysis')
    args = parser.parse_args()

    try:
        # read truth and convert to basic soft table
        truth = tt.read_truth(args.truth)
        if len(truth) == 0:
            raise RuntimeWarning('Truth table contains no assignments: {0}'.format(args.truth[0]))

        # collect object weights if requested
        weights = truth.get_weights() if args.weighted else None

        if args.verbose:
            print 'Truth Statistics'
            truth.print_tally()

        if args.hard:
            truth = truth.hard(True)
        else:
            truth = truth.soft(True)