<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def make_scores( ic50_y, ic50_y_pred, sample_weight=None, threshold_nm=500, max_ic50=50000):
 """ Calculate AUC, F1, and Kendall Tau scores. Parameters ic50_y : float list true IC50s (i.e. affinities) ic50_y_pred : float list predicted IC50s sample_weight : float list [optional] threshold_nm : float [optional] max_ic50 : float [optional] Returns dict with entries "auc", "f1", "tau" """


    y_pred = from_ic50(ic50_y_pred, max_ic50)
    try:
        auc = sklearn.metrics.roc_auc_score(
            ic50_y <= threshold_nm,
            y_pred,
            sample_weight=sample_weight)
    except ValueError as e:
        logging.warning(e)
        auc = numpy.nan
    try:
        f1 = sklearn.metrics.f1_score(
            ic50_y <= threshold_nm,
            ic50_y_pred <= threshold_nm,
            sample_weight=sample_weight)
    except ValueError as e:
        logging.warning(e)
        f1 = numpy.nan
    try:
        tau = scipy.stats.kendalltau(ic50_y_pred, ic50_y)[0]
    except ValueError as e:
        logging.warning(e)
        tau = numpy.nan

    return dict(
        auc=auc,
        f1=f1,
        tau=tau)