def ROC_calc(ML_alg):
global ML_fpr_dict, ML_tpr_dict, ML_roc_auc_dict
##Binarize data
Train = Target_train
Test = Target_test
Train = label_binarize(Train, classes=list(range(1, 10, 1)))
Test = label_binarize(Test, classes=list(range(1, 10, 1)))
n_classes = Train.shape[1]
##Learn and predict
ML_alg.fit(Feature_train, Train)
Target_alg = ML_alg.predict(Feature_test)
# Compute ROC curve and ROC area for each class
ML_fpr_dict = dict()
ML_tpr_dict = dict()
ML_roc_auc_dict = dict()
for i in range(n_classes):
ML_fpr_dict[i], ML_tpr_dict[i], _ = roc_curve(Test[:, i], Target_alg[:, i])
ML_roc_auc_dict[i] = auc(ML_fpr_dict[i], ML_tpr_dict[i])
ZGVmIFJPQ19jYWxjKE1MX2FsZyk6CglnbG9iYWwgTUxfZnByX2RpY3QsIE1MX3Rwcl9kaWN0LCBNTF9yb2NfYXVjX2RpY3QKICAgICMjQmluYXJpemUgZGF0YQogICAgVHJhaW4gPSBUYXJnZXRfdHJhaW4KICAgIFRlc3QgPSBUYXJnZXRfdGVzdAogICAgVHJhaW4gPSBsYWJlbF9iaW5hcml6ZShUcmFpbiwgY2xhc3Nlcz1saXN0KHJhbmdlKDEsIDEwLCAxKSkpCiAgICBUZXN0ID0gbGFiZWxfYmluYXJpemUoVGVzdCwgY2xhc3Nlcz1saXN0KHJhbmdlKDEsIDEwLCAxKSkpCiAgICBuX2NsYXNzZXMgPSBUcmFpbi5zaGFwZVsxXQogCiAgICAjI0xlYXJuIGFuZCBwcmVkaWN0CiAgICBNTF9hbGcuZml0KEZlYXR1cmVfdHJhaW4sIFRyYWluKQogICAgVGFyZ2V0X2FsZyA9IE1MX2FsZy5wcmVkaWN0KEZlYXR1cmVfdGVzdCkKIAogICAgIyBDb21wdXRlIFJPQyBjdXJ2ZSBhbmQgUk9DIGFyZWEgZm9yIGVhY2ggY2xhc3MKICAgIE1MX2Zwcl9kaWN0ID0gZGljdCgpCiAgICBNTF90cHJfZGljdCA9IGRpY3QoKQogICAgTUxfcm9jX2F1Y19kaWN0ID0gZGljdCgpCiAgICBmb3IgaSBpbiByYW5nZShuX2NsYXNzZXMpOgogICAgICAgIE1MX2Zwcl9kaWN0W2ldLCBNTF90cHJfZGljdFtpXSwgXyA9IHJvY19jdXJ2ZShUZXN0WzosIGldLCBUYXJnZXRfYWxnWzosIGldKQogICAgICAgIE1MX3JvY19hdWNfZGljdFtpXSA9IGF1YyhNTF9mcHJfZGljdFtpXSwgTUxfdHByX2RpY3RbaV0p