def correlation_by_exemplar(brands, exemplars, validation_scores, analyze_fn_str, outf):
    """ Report the overall correlation with the validation scores using each exemplar in isolation. """
    analyze_fn = getattr(analyze, analyze_fn_str)
    keys = sorted(k for k in validation_scores.keys() if k in set(x[0] for x in brands))
    truth = [validation_scores[k] for k in keys]
    result = {}
    outf.write('exemplar\tcorr\tn_followers\n')
    outf.flush()
    for exemplar in exemplars:
        single_exemplar = {exemplar: exemplars[exemplar]}
        social_scores = analyze_fn(brands, single_exemplar)
        predicted = [social_scores[k] for k in keys]
        outf.write('%s\t%g\t%d\n' % (exemplar, scistat.pearsonr(predicted, truth)[0], len(exemplars[exemplar])))
        outf.flush()
        result[exemplar] = scistat.pearsonr(predicted, truth)[0]
    outf.close()
    return result
Report the overall correlation with the validation scores using each exemplar in isolation.