def format_evaluation(results, separator='  |  ', float_format='{:.5f}'):
    """Construct a string to neatly display the results of a model evaluation

    Parameters
    ----------
    results: Dict
        The results of a model evaluation, in which keys represent the dataset type evaluated, and
        values are dicts containing metrics as keys, and metric values as values
    separator: Str, default='  |  '
        The string used to join all the metric values into a single string
    float_format: Str, default='{:.5f}'
        A python string float formatter, applied to floating metric values

    Returns
    -------
    content: Str
        The model's evaluation results"""
    content = []
    for data_type, values in results.items():
        if values is None:
            continue
        data_type = 'OOF' if data_type == 'oof' else data_type
        data_type = 'Holdout' if data_type == 'holdout' else data_type
        data_type = 'In-Fold' if data_type == 'in_fold' else data_type
        metric_entry = '{}('.format(data_type)
        metric_entry_vals = []
        for metric_id, metric_value in values.items():
            try:
                formatted_value = float_format.format(metric_value)
            except ValueError:
                formatted_value = '{}'.format(metric_value)
            metric_entry_vals.append('{}={}'.format(metric_id, formatted_value)
                )
        metric_entry += ', '.join(metric_entry_vals) + ')'
        content.append(metric_entry)
    content = separator.join(content)
    return content
