def lc_score(value):
    """
    Evaluates the accuracy of a predictive measure (e.g. r-squared)

    :param value: float, between 0.0 and 1.0.
    :return:
    """
    rebased = 2 * (value - 0.5)

    if rebased == 0:
        return 0
    elif rebased > 0:
        compliment = 1.0 - rebased
        score = - np.log2(compliment)
    else:
        compliment = 1.0 + rebased
        score = np.log2(compliment)
    return score