#!/usr/bin/env python import sys import csv import numpy as np from analyses.logs import read_logs outname = sys.argv[1] dirname = sys.argv[2] # The reduced table does not contain the subjective N_c column and nllf # criterion. reduced = True logs = read_logs(dirname, 'log_?.csv') nlogs = len(logs) from analyses.fit_mixture import make_summary summary = make_summary(logs) id2nc = np.array([log.n_components for log in logs]) dir_bases = [item.dir_base for item in logs[0].items] min_nc = 1 if reduced else 2 max_ncs = range(min_nc, id2nc.max() + 1) if reduced: crits = {1 : 'aic', 2 : 'bic'} header1 = ', '.join(['N_c, %d' % ii for ii in max_ncs])
#!/usr/bin/env python import sys import csv import numpy as np from analyses.logs import read_logs outname = sys.argv[1] dirname = sys.argv[2] # The reduced table does not contain the subjective N_c column and nllf # criterion. reduced = True logs = read_logs(dirname, 'log_?.csv') nlogs = len(logs) from analyses.fit_mixture import make_summary summary = make_summary(logs) id2nc = np.array([log.n_components for log in logs]) dir_bases = [item.dir_base for item in logs[0].items] min_nc = 1 if reduced else 2 max_ncs = range(min_nc, id2nc.max() + 1) if reduced: crits = {1: 'aic', 2: 'bic'} header1 = ', '.join(['N_c, %d' % ii for ii in max_ncs])
for suffix in suffixes: fig.savefig(filename + suffix, dpi=300) args = sys.argv[1:] same_shapes = len(args) == 2 if same_shapes: loc_range = [50, 150] else: loc_range = [0, 180] dirname, logname = op.split(args[0]) log = read_logs(dirname, logname)[0] prefix = op.splitext(logname)[0] all_params = np.array(log.get_value('params')) all_dir_bases = np.array([ii.dir_base for ii in log.items]) all_chi_p = np.array(log.get_value('chisquare(e) p-value')) all_aic = np.array(log.get_value('aic')) all_bic = np.array(log.get_value('bic')) group_info = read_group_info() gmap = map_group_names(group_info) group_names = ['age_group', 'pig_group', 'segment']
def main(): parser = get_options_parser() options, args = parser.parse_args() if len(args) != 1: parser.print_help() return dirname, pattern = op.split(args[0]) logs = read_logs(dirname, pattern) group_info = read_group_info() gmap = map_group_names(group_info) if options.group is not None: aux = options.group.split(',') group_name = try_int(aux[0]) val = try_int(aux[1]) dir_bases = get_datasets_of_group(group_info, group_name, val) else: dir_bases = None group_name = None equal_probs = not options.plot_equal_probs suffixes = ['.' + ii for ii in options.suffixes.split(',')] plt.rcParams.update(options.rc) plt.close('all') for ilog, log in enumerate(logs): fig = plot_params(20 + ilog, log, gmap, dir_bases=dir_bases, sort_x=True, equal_probs=equal_probs) esuffix = '' if group_name is None else '_%s_%s' % (group_name, val) save_fig(fig, op.join(dirname, 'params_%d' % ilog + esuffix), suffixes) if options.group is None: fig = plot_fit_info(1, logs, 'nllf', tr_log10) save_fig(fig, op.join(dirname, 'nllf'), suffixes) fig = plot_fit_info(2, logs, 'aic', tr_log10) save_fig(fig, op.join(dirname, 'aic'), suffixes) fig = plot_fit_info(3, logs, 'bic', tr_log10) save_fig(fig, op.join(dirname, 'bic'), suffixes) fig = plot_fit_info(4, logs, 'chisquare', tr_log10) save_fig(fig, op.join(dirname, 'chisquare'), suffixes) fig = plot_fit_info(5, logs, 'chisquare p-value', tr_none, 'chisquare p-value') save_fig(fig, op.join(dirname, 'chisquare p-value'), suffixes) fig = plot_fit_info(6, logs, 'chisquare(e)', tr_log10) save_fig(fig, op.join(dirname, 'chisquare(e)'), suffixes) fig = plot_fit_info(7, logs, 'chisquare(e) p-value', tr_none, 'chisquare(e) p-value') save_fig(fig, op.join(dirname, 'chisquare(e) p-value'), suffixes) fig = plot_fit_info(8, logs, 'chisquare(e) power', tr_none, 'chisquare(e) power') save_fig(fig, op.join(dirname, 'chisquare(e) power'), suffixes) fig = plot_fit_info(11, logs, 'nllf', tr_none, '-llf') save_fig(fig, op.join(dirname, 'nllf-raw'), suffixes) fig = plot_fit_info(12, logs, 'aic', tr_none, 'aic') save_fig(fig, op.join(dirname, 'aic-raw'), suffixes) fig = plot_fit_info(13, logs, 'bic', tr_none, 'bic') save_fig(fig, op.join(dirname, 'bic-raw'), suffixes) fig = plot_fit_info(14, logs, 'chisquare', tr_none, 'chisquare') save_fig(fig, op.join(dirname, 'chisquare-raw'), suffixes) fig = plot_fit_info(15, logs, 'chisquare(e)', tr_none, 'chisquare(e)') save_fig(fig, op.join(dirname, 'chisquare(e)-raw'), suffixes) if options.show: plt.show()