Kindly let me know why this error is coming?
def roc_aupr_score(y_true, y_score, average="macro"):
def _binary_roc_aupr_score(y_true, y_score):
precision, recall, pr_thresholds = precision_recall_curve(y_true, y_score)
return auc(recall, precision, reorder=True)
File "DDIMDL.py", line 387, in <module>
main(args)
File "DDIMDL.py", line 367, in main
all_result, each_result = cross_validation(all_matrix, new_label, clf, event_num, seed, CV,
File "DDIMDL.py", line 190, in cross_validation
result_all, result_eve = evaluate(y_pred, y_score, y_true, event_num, set_name)
File "DDIMDL.py", line 214, in evaluate
result_all[1] = roc_aupr_score(y_one_hot, pred_score, average='micro')
File "DDIMDL.py", line 301, in roc_aupr_score
return _average_binary_score(_binary_roc_aupr_score, y_true, y_score, average)
File "DDIMDL.py", line 298, in _average_binary_score
score[c] = binary_metric(y_true_c, y_score_c)
File "DDIMDL.py", line 281, in _binary_roc_aupr_score
return auc(recall, precision, reorder=True)
TypeError: auc() got an unexpected keyword argument 'reorder'
how can i correct it
kindly let me know how can solve the issue.
As discussed in the comments, reorder
parameter has been deprecated in version 0.20
and removed in 0.22
def roc_aupr_score(y_true, y_score, average="macro"):
def _binary_roc_aupr_score(y_true, y_score):
precision, recall, pr_thresholds = precision_recall_curve(y_true, y_score)
return auc(recall, precision)
Should work as intented. If not, you can sort precision
and recall
like this:
precision, recall, pr_thresholds = precision_recall_curve(y_true, y_score)
new_order = np.lexsort([recall, precision])
recall = recall[new_order]
precision = precision[new_order]
print(recall , precision )
return auc(recall, precision)