@main.command()
@_data_path
@_predictions_path
@_output_path
@_label_col
@_overwrite
@_verbose
def performance(data_path, predictions_path, output_path, label_col, overwrite, verbose):
    'produce measures of classifier performance'
    LOGGER.log_args()
    LOGGER.log_versions(['sklearn', 'numpy'])
    if (not (data_path or predictions_path)):
        click.secho('Need data sets!', fg='red')
        exit()
    basename_train = get_basename(data_path)
    basename_pred = get_basename(predictions_path)
    basename = f'{basename_train}-{basename_pred}'
    outpath = os.path.join(output_path, f'{basename}-performance.json.gz')
    logfile_path = os.path.join(output_path, f'logs/{basename}-performance.log')
    if (os.path.exists(outpath) and (not overwrite)):
        if (verbose > 1):
            click.secho(f'Skipping. {outpath} exists. Use overwrite to force.', fg='green')
        return
    LOGGER.log_file_path = logfile_path
    LOGGER.input_file(data_path)
    LOGGER.input_file(predictions_path)
    orig = pandas.read_csv(data_path, sep='\t')
    (predicted, feature_params, classifier_path, label) = load_predictions(predictions_path)
    result = measure_performance(orig, predicted, label_col)
    result['feature_params'] = feature_params
    result['classifier_path'] = classifier_path
    result['classifier_label'] = label
    dump_json(outpath, result)
    LOGGER.shutdown()
produce measures of classifier performance
@main.command()
@_data_path
@_predictions_path
@_output_path
@_label_col
@_overwrite
@_verbose
def performance(data_path, predictions_path, output_path, label_col, overwrite, verbose):
    
    LOGGER.log_args()
    LOGGER.log_versions(['sklearn', 'numpy'])
    if (not (data_path or predictions_path)):
        click.secho('Need data sets!', fg='red')
        exit()
    basename_train = get_basename(data_path)
    basename_pred = get_basename(predictions_path)
    basename = f'{basename_train}-{basename_pred}'
    outpath = os.path.join(output_path, f'{basename}-performance.json.gz')
    logfile_path = os.path.join(output_path, f'logs/{basename}-performance.log')
    if (os.path.exists(outpath) and (not overwrite)):
        if (verbose > 1):
            click.secho(f'Skipping. {outpath} exists. Use overwrite to force.', fg='green')
        return
    LOGGER.log_file_path = logfile_path
    LOGGER.input_file(data_path)
    LOGGER.input_file(predictions_path)
    orig = pandas.read_csv(data_path, sep='\t')
    (predicted, feature_params, classifier_path, label) = load_predictions(predictions_path)
    result = measure_performance(orig, predicted, label_col)
    result['feature_params'] = feature_params
    result['classifier_path'] = classifier_path
    result['classifier_label'] = label
    dump_json(outpath, result)
    LOGGER.shutdown()