def h5d_auc_table(h5d_fl1, h5d_fl2, kfolds, params_od, mix, is_ttbl, strata, trec): """Area Under the Curve(AUC) paired with table of parameters # # # Make proper Definition here # # # """ # Beginning AUC-Params table building. res_lst = list() # Loading data in a convenient form. for params_lst, params_path in zip( param_comb.ParamGridIter(params_od, 'list'), param_comb.ParamGridIter(params_od, 'path')): # Defining list for AUC values storage. For this loop. auc_values = list() if params_lst[0] > params_lst[1]: if mix: pred_scores, expd_y, pred_y = get_predictions_mix( h5d_fl1, h5d_fl2, kfolds, params_path, params_lst[2], genre_tag=None, binary=is_ttbl, strata=strata ) else: pred_scores, expd_y, pred_y = get_predictions( h5d_fl1, kfolds, params_path, genre_tag=None, binary=is_ttbl, strata=strata ) if is_ttbl: # NOTE:Option is_truth_tbl is critical to be selected correctly depending... # ...on the input. prec, recl, t = mx.pr_curve( expd_y, pred_scores, full_curve=True, is_truth_tbl=is_ttbl ) # Interpolated at 11-Recall-Levels. prec, recl = mx.reclev11_max(prec, recl, trec=trec) try: auc_values.append(mx.auc(recl, prec)) except: print "Warning:", params_path, "AUC is for these params has set to 0.0" auc_values.append(0.0) else: # Finding unique genres. gnr_tgs = np.unique(expd_y) # Calculating AUC per genre tag. for gnr in gnr_tgs: # Converting expected Y to binary format. expd_y_bin = np.where((expd_y == gnr), 1, 0) # NOTE:Option is_truth_tbl is critical to be selected correctly depending... # ...on the input. prec, recl, t = mx.pr_curve( expd_y_bin, pred_scores, full_curve=True, is_truth_tbl=is_ttbl ) # Interpolated at 11-Recall-Levels. prec, recl = mx.reclev11_max(prec, recl, trec=trec) try: auc_values.append(auc(recl, prec)) except: print "Warning:", params_path, "AUC is for these params has setted to 0.0" auc_values.append(0.0) # Extending parameters list with AUC(s). params_lst.extend(auc_values) # Appending the parameters list together with their respective AUC(s). res_lst.append(params_lst) # Stacking and returning the data collected in a 2D array. Last column contain the AUC for... # ...every parameters values possible combination. return np.vstack(res_lst)
fg1 = plt.figure(num=1, figsize=(12, 8), dpi=80, facecolor='w', edgecolor='k') ax1 = fg1.add_subplot(111) #fg2 = plt.figure(num=2, figsize=(30, 8), dpi=80, facecolor='w', edgecolor='k') #ax2 = fg2.add_subplot(111) i = 0 bar_width = 0.15 for params_lst, params_path in \ zip(param_comb.ParamGridIter(params_od, 'list'), param_comb.ParamGridIter(params_od, 'path')): if params_lst[0] > params_lst[1]: pred_scores, expd_y, pred_y = get_predictions( h5d_fl1, kfolds, params_path, genre_tag=None, binary=True, strata=None #(10, 1000) ) """ pred_scores, expd_y, pred_y = get_predictions_mix( h5d_fl1, h5d_fl2, kfolds, params_path, params_lst[2], genre_tag=None, binary=True, strata=None #(10, 1000) ) """ #pred_scores, expd_y, pred_y = get_ocsvme(res_h5file, kfolds, params_path, genre_tag=None) #y, x, t = roc_curve(expd_y, pred_scores, full_curve=False)