Python sklearn.metrics.roc_auc_score() Examples
The following are 30
code examples of sklearn.metrics.roc_auc_score().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
sklearn.metrics
, or try the search function
.
Example #1
Source File: multi_class_classification.py From edge2vec with BSD 3-Clause "New" or "Revised" License | 11 votes |
def multi_class_classification(data_X,data_Y): ''' calculate multi-class classification and return related evaluation metrics ''' svc = svm.SVC(C=1, kernel='linear') # X_train, X_test, y_train, y_test = train_test_split( data_X, data_Y, test_size=0.4, random_state=0) clf = svc.fit(data_X, data_Y) #svm # array = svc.coef_ # print array predicted = cross_val_predict(clf, data_X, data_Y, cv=2) print "accuracy",metrics.accuracy_score(data_Y, predicted) print "f1 score macro",metrics.f1_score(data_Y, predicted, average='macro') print "f1 score micro",metrics.f1_score(data_Y, predicted, average='micro') print "precision score",metrics.precision_score(data_Y, predicted, average='macro') print "recall score",metrics.recall_score(data_Y, predicted, average='macro') print "hamming_loss",metrics.hamming_loss(data_Y, predicted) print "classification_report", metrics.classification_report(data_Y, predicted) print "jaccard_similarity_score", metrics.jaccard_similarity_score(data_Y, predicted) # print "log_loss", metrics.log_loss(data_Y, predicted) print "zero_one_loss", metrics.zero_one_loss(data_Y, predicted) # print "AUC&ROC",metrics.roc_auc_score(data_Y, predicted) # print "matthews_corrcoef", metrics.matthews_corrcoef(data_Y, predicted)
Example #2
Source File: link_prediction.py From edge2vec with BSD 3-Clause "New" or "Revised" License | 7 votes |
def evaluation_analysis(true_label,predicted): ''' return all metrics results ''' print "accuracy",metrics.accuracy_score(true_label, predicted) print "f1 score macro",metrics.f1_score(true_label, predicted, average='macro') print "f1 score micro",metrics.f1_score(true_label, predicted, average='micro') print "precision score",metrics.precision_score(true_label, predicted, average='macro') print "recall score",metrics.recall_score(true_label, predicted, average='macro') print "hamming_loss",metrics.hamming_loss(true_label, predicted) print "classification_report", metrics.classification_report(true_label, predicted) print "jaccard_similarity_score", metrics.jaccard_similarity_score(true_label, predicted) print "log_loss", metrics.log_loss(true_label, predicted) print "zero_one_loss", metrics.zero_one_loss(true_label, predicted) print "AUC&ROC",metrics.roc_auc_score(true_label, predicted) print "matthews_corrcoef", metrics.matthews_corrcoef(true_label, predicted)
Example #3
Source File: metrics.py From metal with Apache License 2.0 | 6 votes |
def roc_auc_score(gold, probs, ignore_in_gold=[], ignore_in_pred=[]): """Compute the ROC AUC score, given the gold labels and predicted probs. Args: gold: A 1d array-like of gold labels probs: A 2d array-like of predicted probabilities ignore_in_gold: A list of labels for which elements having that gold label will be ignored. Returns: roc_auc_score: The (float) roc_auc score """ gold = arraylike_to_numpy(gold) # Filter out the ignore_in_gold (but not ignore_in_pred) # Note the current sub-functions (below) do not handle this... if len(ignore_in_pred) > 0: raise ValueError("ignore_in_pred not defined for ROC-AUC score.") keep = [x not in ignore_in_gold for x in gold] gold = gold[keep] probs = probs[keep, :] # Convert gold to one-hot indicator format, using the k inferred from probs gold_s = pred_to_prob(torch.from_numpy(gold), k=probs.shape[1]).numpy() return skm.roc_auc_score(gold_s, probs)
Example #4
Source File: data.py From pyod with BSD 2-Clause "Simplified" License | 6 votes |
def evaluate_print(clf_name, y, y_pred): """Utility function for evaluating and printing the results for examples. Default metrics include ROC and Precision @ n Parameters ---------- clf_name : str The name of the detector. y : list or numpy array of shape (n_samples,) The ground truth. Binary (0: inliers, 1: outliers). y_pred : list or numpy array of shape (n_samples,) The raw outlier scores as returned by a fitted model. """ y = column_or_1d(y) y_pred = column_or_1d(y_pred) check_consistent_length(y, y_pred) print('{clf_name} ROC:{roc}, precision @ rank n:{prn}'.format( clf_name=clf_name, roc=np.round(roc_auc_score(y, y_pred), decimals=4), prn=np.round(precision_n_scores(y, y_pred), decimals=4)))
Example #5
Source File: mouse_brain_subcluster.py From geosketch with MIT License | 6 votes |
def auroc(X, genes, labels, focus, background=None): assert(len(genes) == X.shape[1]) focus_idx = focus == labels if background is None: background_idx = range(X.shape[0]) else: background_idx = background == labels for g, gene in enumerate(genes): x_gene = X[:, g] x_focus = x_gene[focus_idx] x_background = x_gene[background_idx] y_score = np.concatenate([ x_focus, x_background ]) y_true = np.zeros(len(x_focus) + len(x_background)) y_true[:len(x_focus)] = 1 auroc = roc_auc_score(y_true, y_score) print('{}\t{}'.format(gene, auroc))
Example #6
Source File: metrics.py From inferbeddings with MIT License | 6 votes |
def __call__(self, pos_triples, neg_triples=None): triples = pos_triples + neg_triples labels = [1 for _ in range(len(pos_triples))] + [0 for _ in range(len(neg_triples))] Xr, Xe = [], [] for (s_idx, p_idx, o_idx), label in zip(triples, labels): Xr += [[p_idx]] Xe += [[s_idx, o_idx]] ascores = self.scoring_function([Xr, Xe]) ays = np.array(labels) if self.rescale_predictions: diffs = np.diff(np.sort(ascores)) min_diff = min(abs(diffs[np.nonzero(diffs)])) if min_diff < 1e-8: ascores = (ascores * (1e-7 / min_diff)).astype(np.float64) aucroc_value = metrics.roc_auc_score(ays, ascores) precision, recall, thresholds = metrics.precision_recall_curve(ays, ascores, pos_label=1) aucpr_value = metrics.auc(recall, precision) return aucroc_value, aucpr_value
Example #7
Source File: mouse_brain_astrocyte.py From geosketch with MIT License | 6 votes |
def auroc(X, genes, labels, focus, background=None): assert(len(genes) == X.shape[1]) focus_idx = focus == labels if background is None: background_idx = range(X.shape[0]) else: background_idx = background == labels for g, gene in enumerate(genes): x_gene = X[:, g] x_focus = x_gene[focus_idx] x_background = x_gene[background_idx] y_score = np.concatenate([ x_focus, x_background ]) y_true = np.zeros(len(x_focus) + len(x_background)) y_true[:len(x_focus)] = 1 auroc = roc_auc_score(y_true, y_score) print('{}\t{}'.format(gene, auroc))
Example #8
Source File: autoencoder.py From pytorch_geometric with MIT License | 6 votes |
def test(self, z, pos_edge_index, neg_edge_index): r"""Given latent variables :obj:`z`, positive edges :obj:`pos_edge_index` and negative edges :obj:`neg_edge_index`, computes area under the ROC curve (AUC) and average precision (AP) scores. Args: z (Tensor): The latent space :math:`\mathbf{Z}`. pos_edge_index (LongTensor): The positive edges to evaluate against. neg_edge_index (LongTensor): The negative edges to evaluate against. """ pos_y = z.new_ones(pos_edge_index.size(1)) neg_y = z.new_zeros(neg_edge_index.size(1)) y = torch.cat([pos_y, neg_y], dim=0) pos_pred = self.decoder(z, pos_edge_index, sigmoid=True) neg_pred = self.decoder(z, neg_edge_index, sigmoid=True) pred = torch.cat([pos_pred, neg_pred], dim=0) y, pred = y.detach().cpu().numpy(), pred.detach().cpu().numpy() return roc_auc_score(y, pred), average_precision_score(y, pred)
Example #9
Source File: signed_gcn.py From pytorch_geometric with MIT License | 6 votes |
def test(self, z, pos_edge_index, neg_edge_index): """Evaluates node embeddings :obj:`z` on positive and negative test edges by computing AUC and F1 scores. Args: z (Tensor): The node embeddings. pos_edge_index (LongTensor): The positive edge indices. neg_edge_index (LongTensor): The negative edge indices. """ with torch.no_grad(): pos_p = self.discriminate(z, pos_edge_index)[:, :2].max(dim=1)[1] neg_p = self.discriminate(z, neg_edge_index)[:, :2].max(dim=1)[1] pred = (1 - torch.cat([pos_p, neg_p])).cpu() y = torch.cat( [pred.new_ones((pos_p.size(0))), pred.new_zeros(neg_p.size(0))]) pred, y = pred.numpy(), y.numpy() auc = roc_auc_score(y, pred) f1 = f1_score(y, pred, average='binary') if pred.sum() > 0 else 0 return auc, f1
Example #10
Source File: roc_auc.py From deep-mil-for-whole-mammogram-classification with MIT License | 6 votes |
def perform(self, node, inputs, output_storage): """ Calculate ROC AUC score. Parameters ---------- node : Apply instance Symbolic inputs and outputs. inputs : list Sequence of inputs. output_storage : list List of mutable 1-element lists. """ if roc_auc_score is None: raise RuntimeError("Could not import from sklearn.") y_true, y_score = inputs try: roc_auc = roc_auc_score(y_true, y_score) except ValueError: roc_auc = np.nan #rvalue = np.array((roc_auc, prec, reca, f1)) #[0][0] output_storage[0][0] = theano._asarray(roc_auc, dtype=config.floatX)
Example #11
Source File: roc_auc.py From deep-mil-for-whole-mammogram-classification with MIT License | 6 votes |
def on_epoch_end(self, epoch, logs={}): if epoch % self.interval == 0: y_pred = self.model.predict(self.X_val, verbose=0) #print(np.sum(y_pred[:,1])) #y_true = np.argmax(self.y_val, axis=1) #y_pred = np.argmax(y_pred, axis=1) #print(y_true.shape, y_pred.shape) if self.mymil: score = roc_auc_score(self.y_val.max(axis=1), y_pred.max(axis=1)) else: score = roc_auc_score(self.y_val[:,1], y_pred[:,1]) print("interval evaluation - epoch: {:d} - auc: {:.2f}".format(epoch, score)) if score > self.auc: self.auc = score for f in os.listdir('./'): if f.startswith(self.filepath+'auc'): os.remove(f) self.model.save(self.filepath+'auc'+str(score)+'ep'+str(epoch)+'.hdf5')
Example #12
Source File: eval.py From GCMC with MIT License | 6 votes |
def eval_all_scores(y_true_dict, y_score_dict): # when calculating RMSE, make sure y_true_dict is the full dict of list aps = [] # average precisions ndcgs = [[], [], []] # return ndcg at 1, 3, 5 for q in y_true_dict: if q not in y_score_dict: raise ValueError("Prediction has missing items.") if np.sum(y_true_dict[q]) != 0: aps.append(average_precision(y_true_dict[q], y_score_dict[q])) ndcgs[0].append(ndcg_score(y_true_dict[q], y_score_dict[q], k=1)) ndcgs[1].append(ndcg_score(y_true_dict[q], y_score_dict[q], k=3)) ndcgs[2].append(ndcg_score(y_true_dict[q], y_score_dict[q], k=5)) ndcgs = np.asarray(ndcgs) y_true_list = trans_dict_to_list(y_true_dict, y_true_dict) y_score_list = trans_dict_to_list(y_true_dict, y_score_dict) auc = roc_auc_score(y_true_list, y_score_list) rmse = np.mean((y_true_list - y_score_list)**2) # map, ndcg@1, ndcg@3, ndcg@5, auc, rmse return sum(aps)/len(aps), np.mean(ndcgs[0,:]), np.mean(ndcgs[1,:]), np.mean(ndcgs[2,:]), auc, np.sqrt(rmse) # including MAP and AUC
Example #13
Source File: score_dataset.py From snape with Apache License 2.0 | 6 votes |
def score_binary_classification(y, y_hat, report=True): """ Create binary classification output :param y: true value :param y_hat: class 1 probabilities :param report: :return: """ y_hat_class = [1 if x >= 0.5 else 0 for x in y_hat] # convert probability to class for classification report report_string = "---Binary Classification Score--- \n" report_string += classification_report(y, y_hat_class) score = roc_auc_score(y, y_hat) report_string += "\nAUC = " + str(score) if report: print(report_string) return score, report_string
Example #14
Source File: __init__.py From PADME with MIT License | 6 votes |
def compute_roc_auc_scores(y, y_pred): """Transforms the results dict into roc-auc-scores and prints scores. Parameters ---------- results: dict task_types: dict dict mapping task names to output type. Each output type must be either "classification" or "regression". """ try: score = roc_auc_score(y, y_pred) except ValueError: warnings.warn("ROC AUC score calculation failed.") score = 0.5 return score
Example #15
Source File: roc_auc.py From deep-mil-for-whole-mammogram-classification with MIT License | 5 votes |
def perform(self, node, inputs, output_storage): """ Calculate ROC AUC score. Parameters ---------- node : Apply instance Symbolic inputs and outputs. inputs : list Sequence of inputs. output_storage : list List of mutable 1-element lists. """ if roc_auc_score is None: raise RuntimeError("Could not import from sklearn.") y_true, y_score = inputs print(y_true.shape) y_true = np.argmax(y_true, axis=1) y_score = np.argmax(y_score, axis=1) #print(type(y_true), y_true.shape, type(y_score), y_score.shape) try: TP = np.sum(y_true[y_score==1]==1)*1. #/ sum(y_true) FP = np.sum(y_true[y_score==1]==0)*1. #/ (y_true.shape[0]-sum(y_true)) prec = TP / (TP+FP+1e-6) except ValueError: prec = np.nan #rvalue = np.array((roc_auc, prec, reca, f1)) #[0][0] output_storage[0][0] = theano._asarray(prec, dtype=config.floatX)
Example #16
Source File: roc_auc.py From deep-mil-for-whole-mammogram-classification with MIT License | 5 votes |
def perform(self, node, inputs, output_storage): """ Calculate ROC AUC score. Parameters ---------- node : Apply instance Symbolic inputs and outputs. inputs : list Sequence of inputs. output_storage : list List of mutable 1-element lists. """ if roc_auc_score is None: raise RuntimeError("Could not import from sklearn.") y_true, y_score = inputs y_true = np.argmax(y_true, axis=1) y_score = np.argmax(y_score, axis=1) try: TP = np.sum(y_true[y_score==1]==1)*1. #/ sum(y_true) FP = np.sum(y_true[y_score==1]==0)*1. #/ (y_true.shape[0]-sum(y_true)) #TN = np.sum(truey[predy==0]==0)*1. / (truey.shape[0]-sum(truey)) FN = np.sum(y_true[y_score==0]==1)*1. #/ sum(y_true) #prec = TP / (TP+FP+1e-6) #reca = TP / (TP+FN+1e-6) #f1 = 2*prec*reca / (prec+reca+1e-6) f1 = 2*TP / (2*TP +FP +FN) except ValueError: f1 = np.nan #rvalue = np.array((roc_auc, prec, reca, f1)) #[0][0] output_storage[0][0] = theano._asarray(f1, dtype=config.floatX)
Example #17
Source File: utils.py From MCF-3D-CNN with MIT License | 5 votes |
def cnf_roc(y_true, y_pred, classes, isPlot, save_tag = ''): # 计算混淆矩阵 y = np.zeros(len(y_true)) y_ = np.zeros(len(y_true)) for i in range(len(y_true)): y[i] = np.argmax(y_true[i,:]) y_[i] = np.argmax(y_pred[i,:]) cnf_mat = confusion_matrix(y, y_) print cnf_mat if isPlot: # # 绘制混淆矩阵 plot_confusion_matrix(cnf_mat, range(classes), save_tag=save_tag) # # 绘制ROC曲线 plot_roc_curve(y_true, y_pred, range(classes), save_tag) if classes > 2: # 计算多分类评价值 Sens = recall_score(y, y_, average='macro') Prec = precision_score(y, y_, average='macro') F1 = f1_score(y, y_, average='weighted') Support = precision_recall_fscore_support(y, y_, beta=0.5, average=None) print Support return Sens, Prec, F1, cnf_mat else: Acc = 1.0*(cnf_mat[1][1]+cnf_mat[0][0])/len(y_true) Sens = 1.0*cnf_mat[1][1]/(cnf_mat[1][1]+cnf_mat[1][0]) Spec = 1.0*cnf_mat[0][0]/(cnf_mat[0][0]+cnf_mat[0][1]) # 计算AUC值 Auc = roc_auc_score(y_true[:,1], y_pred[:,1]) return Acc, Sens, Spec, Auc
Example #18
Source File: metric.py From VMZ with Apache License 2.0 | 5 votes |
def mean_ap_metric(predicts, targets): predict = predicts[:, ~np.all(targets == 0, axis=0)] target = targets[:, ~np.all(targets == 0, axis=0)] mean_auc = 0 aps = [0] try: mean_auc = metrics.roc_auc_score(target, predict) except ValueError: print( 'The roc_auc curve requires a sufficient number of classes \ which are missing in this sample.' ) try: aps = metrics.average_precision_score(target, predict, average=None) except ValueError: print( 'Average precision requires a sufficient number of samples \ in a batch which are missing in this sample.' ) mean_ap = np.mean(aps) weights = np.sum(target.astype(float), axis=0) weights /= np.sum(weights) mean_wap = np.sum(np.multiply(aps, weights)) all_aps = np.zeros((1, targets.shape[1])) all_aps[:, ~np.all(targets == 0, axis=0)] = aps return mean_auc, mean_ap, mean_wap, all_aps.flatten()
Example #19
Source File: roc_auc.py From deep-mil-for-whole-mammogram-classification with MIT License | 5 votes |
def perform(self, node, inputs, output_storage): """ Calculate ROC AUC score. Parameters ---------- node : Apply instance Symbolic inputs and outputs. inputs : list Sequence of inputs. output_storage : list List of mutable 1-element lists. """ if roc_auc_score is None: raise RuntimeError("Could not import from sklearn.") y_true, y_score = inputs y_true = np.argmax(y_true, axis=1) y_score = np.argmax(y_score, axis=1) try: TP = np.sum(y_true[y_score==1]==1)*1. #/ sum(y_true) FN = np.sum(y_true[y_score==0]==1)*1. #/ sum(y_true) reca = TP / (TP+FN+1e-6) except ValueError: reca = np.nan #rvalue = np.array((roc_auc, prec, reca, f1)) #[0][0] output_storage[0][0] = theano._asarray(reca, dtype=config.floatX)
Example #20
Source File: Deopen_classification.py From Deopen with MIT License | 5 votes |
def model_test(net, X_test, y_test, outputfile): #net.load_params_from('saved_weights_file') y_pred = net.predict(X_test) y_prob = net.predict_proba(X_test) print 'Accuracy score is {}'.format(metrics.accuracy_score(y_test, y_pred)) print 'ROC AUC score is {}'.format(metrics.roc_auc_score(y_test, y_prob[:,-1])) hkl.dump([y_prob[:,-1],y_test],outputfile) #save model parameters
Example #21
Source File: base.py From inferbeddings with MIT License | 5 votes |
def __call__(self, y, scores): scores = self._preprocess_scores(scores) ans = metrics.roc_auc_score((y == self.pos_label).astype(int), scores) return ans
Example #22
Source File: metrics.py From metal with Apache License 2.0 | 5 votes |
def metric_score(gold, pred, metric, probs=None, **kwargs): if metric not in METRICS: msg = f"The metric you provided ({metric}) is not supported." raise ValueError(msg) # Note special handling because requires the predicted probabilities elif metric == "roc-auc": if probs is None: raise ValueError("ROC-AUC score requries the predicted probs.") return roc_auc_score(gold, probs, **kwargs) else: return METRICS[metric](gold, pred, **kwargs)
Example #23
Source File: metric.py From DropEdge with MIT License | 5 votes |
def roc_auc_compute_fn(y_preds, y_targets): try: from sklearn.metrics import roc_auc_score except ImportError: raise RuntimeError("This contrib module requires sklearn to be installed.") y_true = y_targets.cpu().numpy() y_true = encode_onehot(y_true) y_pred = y_preds.cpu().detach().numpy() return roc_auc_score(y_true, y_pred)
Example #24
Source File: test_ranking.py From mars with Apache License 2.0 | 5 votes |
def testRocCurve(self): for drop in [True, False]: # Test Area under Receiver Operating Characteristic (ROC) curve y_true, _, probas_pred = make_prediction(binary=True) expected_auc = _auc(y_true, probas_pred) fpr, tpr, thresholds = roc_curve(y_true, probas_pred, drop_intermediate=drop).execute().fetch() roc_auc = auc(fpr, tpr).to_numpy() np.testing.assert_array_almost_equal(roc_auc, expected_auc, decimal=2) np.testing.assert_almost_equal(roc_auc, roc_auc_score(y_true, probas_pred)) assert fpr.shape == tpr.shape assert fpr.shape == thresholds.shape
Example #25
Source File: basenji_bench_classify.py From basenji with Apache License 2.0 | 5 votes |
def fold_roc(X, y, folds=8, random_state=44): """Compute ROC for a single value, sans model.""" aurocs = [] fpr_folds = [] tpr_folds = [] fpr_mean = np.linspace(0, 1, 256) tpr_mean = [] # preds_full = np.zeros(y.shape) kf = KFold(n_splits=folds, shuffle=True, random_state=random_state) for train_index, test_index in kf.split(X): # predict test set (as is) preds = X[test_index,:] # save # preds_full[test_index] = preds.squeeze() # compute ROC curve fpr, tpr, _ = roc_curve(y[test_index], preds) fpr_folds.append(fpr) tpr_folds.append(tpr) interp_tpr = np.interp(fpr_mean, fpr, tpr) interp_tpr[0] = 0.0 tpr_mean.append(interp_tpr) # compute AUROC aurocs.append(roc_auc_score(y[test_index], preds)) # fpr_full, tpr_full, _ = roc_curve(y, preds_full) tpr_mean = np.array(tpr_mean).mean(axis=0) return np.array(aurocs), np.array(fpr_folds), np.array(tpr_folds), fpr_mean, tpr_mean
Example #26
Source File: callbacks.py From open-solution-salt-identification with MIT License | 5 votes |
def _get_validation_loss(self): output, epoch_loss = self._transform() y_pred = self._generate_prediction(output) auc_score = roc_auc_score(self.y_true, y_pred) logger.info('AUC score on validation is {}'.format(auc_score)) if not self.transformer.validation_loss: self.transformer.validation_loss = {} self.transformer.validation_loss.setdefault(self.epoch_id, {'sum': epoch_loss, 'auc': Variable(torch.Tensor([auc_score])), }) return self.transformer.validation_loss[self.epoch_id]
Example #27
Source File: empty_vs_non_empty.py From open-solution-salt-identification with MIT License | 5 votes |
def calculate_scores(y_true, y_pred): y_pred = np.array([y[1, 0, 0] for y in y_pred]) auc = roc_auc_score(y_true, y_pred) return auc
Example #28
Source File: model_eval.py From healthcareai-py with MIT License | 5 votes |
def compute_roc(y_test, probability_predictions): """ Compute TPRs, FPRs, best cutoff, ROC auc, and raw thresholds. Args: y_test (list) : true label values corresponding to the predictions. Also length n. probability_predictions (list) : predictions coming from an ML algorithm of length n. Returns: dict: """ _validate_predictions_and_labels_are_equal_length(probability_predictions, y_test) # Calculate ROC false_positive_rates, true_positive_rates, roc_thresholds = skmetrics.roc_curve(y_test, probability_predictions) roc_auc = skmetrics.roc_auc_score(y_test, probability_predictions) # get ROC ideal cutoffs (upper left, or 0,1) roc_distances = (false_positive_rates - 0) ** 2 + (true_positive_rates - 1) ** 2 # To prevent the case where there are two points with the same minimum distance, return only the first # np.where returns a tuple (we want the first element in the first array) roc_index = np.where(roc_distances == np.min(roc_distances))[0][0] best_tpr = true_positive_rates[roc_index] best_fpr = false_positive_rates[roc_index] ideal_roc_cutoff = roc_thresholds[roc_index] return {'roc_auc': roc_auc, 'best_roc_cutoff': ideal_roc_cutoff, 'best_true_positive_rate': best_tpr, 'best_false_positive_rate': best_fpr, 'true_positive_rates': true_positive_rates, 'false_positive_rates': false_positive_rates, 'roc_thresholds': roc_thresholds}
Example #29
Source File: metrics.py From simple-effective-text-matching-pytorch with Apache License 2.0 | 5 votes |
def auc(outputs): target = outputs['target'] prob = np.array(outputs['prob']) return { 'auc': metrics.roc_auc_score(target, prob[:, 1]).item(), }
Example #30
Source File: estimator_utils.py From EDeN with MIT License | 5 votes |
def perf(y_true, y_pred, y_score): """perf.""" print('Accuracy: %.2f' % accuracy_score(y_true, y_pred)) print(' AUC ROC: %.2f' % roc_auc_score(y_true, y_score)) print(' AUC AP: %.2f' % average_precision_score(y_true, y_score)) print() print('Classification Report:') print(classification_report(y_true, y_pred)) print() plot_confusion_matrices(y_true, y_pred, size=int(len(set(y_true)) * 2.5)) print() plot_aucs(y_true, y_score, size=10)