Python sklearn.metrics.precision_recall_curve() Examples
The following are 30
code examples of sklearn.metrics.precision_recall_curve().
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: precision_recall.py From mlcomp with Apache License 2.0 | 7 votes |
def plot(self, y: np.array, pred: np.array): p, r, t = precision_recall_curve(y, pred) fig, ax = plt.subplots(figsize=(4.2, 2.7)) ax2 = ax.twinx() t = np.hstack([t, t[-1]]) ax.plot(r, p) ax.set_xlabel('Recall') ax.set_ylabel('Precision') ax.set_ylim([0.0, 1.05]) ax.set_xlim([0.0, 1.0]) ax2.set_ylabel('Threashold') ax2.plot(r, t, c='red') return figure_to_binary(fig)
Example #2
Source File: test_ranking.py From Mastering-Elasticsearch-7.0 with MIT License | 6 votes |
def _average_precision_slow(y_true, y_score): """A second alternative implementation of average precision that closely follows the Wikipedia article's definition (see References). This should give identical results as `average_precision_score` for all inputs. References ---------- .. [1] `Wikipedia entry for the Average precision <https://en.wikipedia.org/wiki/Average_precision>`_ """ precision, recall, threshold = precision_recall_curve(y_true, y_score) precision = list(reversed(precision)) recall = list(reversed(recall)) average_precision = 0 for i in range(1, len(precision)): average_precision += precision[i] * (recall[i] - recall[i - 1]) return average_precision
Example #3
Source File: classifier.py From Fake_News_Detection with MIT License | 6 votes |
def plot_PR_curve(classifier): precision, recall, thresholds = precision_recall_curve(DataPrep.test_news['Label'], classifier) average_precision = average_precision_score(DataPrep.test_news['Label'], classifier) plt.step(recall, precision, color='b', alpha=0.2, where='post') plt.fill_between(recall, precision, step='post', alpha=0.2, color='b') plt.xlabel('Recall') plt.ylabel('Precision') plt.ylim([0.0, 1.05]) plt.xlim([0.0, 1.0]) plt.title('2-class Random Forest Precision-Recall curve: AP={0:0.2f}'.format( average_precision))
Example #4
Source File: utils.py From end2end_dialog with MIT License | 6 votes |
def eval_intentPredict(intent_probs, intent_trueLabel): ''' Inputs: intent_probs: shape = (sample_nb, intent_vocab_size), predicted probs for intent prediction intent_trueLabel: shape = (sample_nb, intent_vocab_size), target binary matrix Output: precision, recall, f1_score, and threshold (prob >= threshold) frame level accuracy ''' # exclude the last element in precision and recall # which denotes 0 recall, and 1 precision precision, recall, thresholds = precision_recall_curve( intent_trueLabel.ravel(), intent_probs.ravel(), pos_label=1) f1_score = 2. * precision * recall / (precision + recall) f1_score[np.isnan(f1_score)] = 0. max_idx = np.argmax(f1_score[:-1]) indicator = np.zeros_like(intent_probs) indicator[intent_probs >= thresholds[max_idx]] = 1 accuracy_frame = calculate_FrameAccuracy(indicator, intent_trueLabel) return (precision[max_idx], recall[max_idx], f1_score[max_idx], accuracy_frame, thresholds[max_idx])
Example #5
Source File: generic_classifier.py From 2020plus with Apache License 2.0 | 6 votes |
def _update_tsg_metrics(self, y_true, y_pred, prob): self.tsg_gene_pred = pd.Series(y_pred, self.y.index) self.tsg_gene_score = pd.Series(prob, self.y.index) # compute metrics for classification self.tsg_gene_count[self.num_pred] = sum(y_pred) prec, recall, fscore, support = metrics.precision_recall_fscore_support(y_true, y_pred) tsg_col = 1 # column for metrics relate to tsg self.tsg_precision[self.num_pred] = prec[tsg_col] self.tsg_recall[self.num_pred] = recall[tsg_col] self.tsg_f1_score[self.num_pred] = fscore[tsg_col] self.logger.debug('Tsg Iter %d: Precission=%s, Recall=%s, f1_score=%s' % ( self.num_pred + 1, str(prec), str(recall), str(fscore))) # compute ROC curve metrics fpr, tpr, thresholds = metrics.roc_curve(y_true, prob) self.tsg_tpr_array[self.num_pred, :] = interp(self.tsg_fpr_array, fpr, tpr) #self.tsg_tpr_array[0] = 0.0 # compute Precision-Recall curve metrics p, r, thresh = metrics.precision_recall_curve(y_true, prob) p, r, thresh = p[::-1], r[::-1], thresh[::-1] # reverse order of results self.tsg_precision_array[self.num_pred, :] = interp(self.tsg_recall_array, r, p)
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: evaluate.py From text-classifier with Apache License 2.0 | 6 votes |
def eval(model, test_data, test_label, thresholds=0.5, num_classes=2, pr_figure_path=None, pred_save_path=None): print('{0}, val mean acc:{1}'.format(model.__str__(), model.score(test_data, test_label))) if num_classes == 2: # binary classification label_pred_probas = model.predict_proba(test_data)[:, 1] label_pred = label_pred_probas > thresholds precision, recall, threshold = precision_recall_curve(test_label, label_pred) plot_pr(thresholds, precision, recall, figure_path=pr_figure_path) else: # multi label_pred = model.predict(test_data) # precision_recall_curve: multiclass format is not supported print(classification_report(test_label, label_pred)) if pred_save_path: with open(pred_save_path, 'w', encoding='utf-8') as f: for i in label_pred: f.write(str(i) + '\n') return label_pred
Example #8
Source File: evaluate.py From object_centric_VAD with MIT License | 6 votes |
def precision_recall_auc(loss_file,reverse,smoothing): if not os.path.isdir(loss_file): loss_file_list = [loss_file] else: loss_file_list = os.listdir(loss_file) loss_file_list = [os.path.join(loss_file, sub_loss_file) for sub_loss_file in loss_file_list] optimal_results = RecordResult() for sub_loss_file in loss_file_list: dataset, scores, labels = get_scores_labels(sub_loss_file,reverse,smoothing) precision, recall, thresholds = metrics.precision_recall_curve(labels, scores, pos_label=0) auc = metrics.auc(recall, precision) results = RecordResult(recall, precision, auc, dataset, sub_loss_file) if optimal_results < results: optimal_results = results if os.path.isdir(loss_file): print(results) print('##### optimal result and model PR-AUC = {}'.format(optimal_results)) return optimal_results
Example #9
Source File: utils.py From V-GAN with MIT License | 6 votes |
def threshold_by_f1(true_vessels, generated, masks, flatten=True, f1_score=False): vessels_in_mask, generated_in_mask = pixel_values_in_mask(true_vessels, generated, masks) precision, recall, thresholds = precision_recall_curve(vessels_in_mask.flatten(), generated_in_mask.flatten(), pos_label=1) best_f1,best_threshold=best_f1_threshold(precision, recall, thresholds) pred_vessels_bin=np.zeros(generated.shape) pred_vessels_bin[generated>=best_threshold]=1 if flatten: if f1_score: return pred_vessels_bin[masks==1].flatten(), best_f1 else: return pred_vessels_bin[masks==1].flatten() else: if f1_score: return pred_vessels_bin, best_f1 else: return pred_vessels_bin
Example #10
Source File: prc_auc_evaluator.py From chainer-chemistry with MIT License | 6 votes |
def prc_auc_score(self, y_total, t_total): # --- ignore labels if specified --- if self.ignore_labels: valid_ind = numpy.in1d(t_total, self.ignore_labels, invert=True) y_total = y_total[valid_ind] t_total = t_total[valid_ind] # --- set positive labels to 1, negative labels to 0 --- pos_indices = numpy.in1d(t_total, self.pos_labels) t_total = numpy.where(pos_indices, 1, 0) if len(numpy.unique(t_total)) != 2: if self.raise_value_error: raise ValueError("Only one class present in y_true. PRC AUC " "score is not defined in that case.") else: return numpy.nan precision, recall, _ = metrics.precision_recall_curve(t_total, y_total) prc_auc = metrics.auc(recall, precision) return prc_auc
Example #11
Source File: plot_util.py From DeepLearningSmells with Apache License 2.0 | 6 votes |
def save_precision_recall_curve(eval_labels, pred_labels, average_precision, smell, config, out_folder, dim, method): fig = plt.figure() precision, recall, _ = precision_recall_curve(eval_labels, pred_labels) step_kwargs = ({'step': 'post'} if 'step' in signature(plt.fill_between).parameters else {}) plt.step(recall, precision, color='b', alpha=0.2, where='post') plt.fill_between(recall, precision, alpha=0.2, color='b', **step_kwargs) plt.xlabel('Recall') plt.ylabel('Precision') plt.ylim([0.0, 1.05]) plt.xlim([0.0, 1.0]) if isinstance(config, cfg.CNN_config): title_str = smell + " (" + method + " - " + dim + ") - L=" + str(config.layers) + ", E=" + str(config.epochs) + ", F=" + str(config.filters) + \ ", K=" + str(config.kernel) + ", PW=" + str(config.pooling_window) + ", AP={0:0.2f}".format(average_precision) # plt.title(title_str) # plt.show() file_name = get_plot_file_name(smell, config, out_folder, dim, method, "_prc_") fig.savefig(file_name)
Example #12
Source File: generic_classifier.py From 2020plus with Apache License 2.0 | 6 votes |
def _update_onco_metrics(self, y_true, y_pred, prob): self.onco_gene_pred = pd.Series(y_pred, self.y.index) self.onco_gene_score = pd.Series(prob, self.y.index) # compute metrics for classification self.onco_gene_count[self.num_pred] = sum(y_pred) prec, recall, fscore, support = metrics.precision_recall_fscore_support(y_true, y_pred) self.onco_precision[self.num_pred] = prec[self.onco_num] self.onco_recall[self.num_pred] = recall[self.onco_num] self.onco_f1_score[self.num_pred] = fscore[self.onco_num] self.logger.debug('Onco Iter %d: Precission=%s, Recall=%s, f1_score=%s' % ( self.num_pred + 1, str(prec), str(recall), str(fscore))) # compute ROC curve metrics fpr, tpr, thresholds = metrics.roc_curve(y_true, prob) self.onco_tpr_array[self.num_pred, :] = interp(self.onco_fpr_array, fpr, tpr) #self.onco_mean_tpr[0] = 0.0 # compute Precision-Recall curve metrics p, r, thresh = metrics.precision_recall_curve(y_true, prob) p, r, thresh = p[::-1], r[::-1], thresh[::-1] # reverse order of results thresh = np.insert(thresh, 0, 1.0) self.onco_precision_array[self.num_pred, :] = interp(self.onco_recall_array, r, p) self.onco_threshold_array[self.num_pred, :] = interp(self.onco_recall_array, r, thresh)
Example #13
Source File: link_prediction.py From cogdl with MIT License | 6 votes |
def evaluate(embs, true_edges, false_edges): true_list = list() prediction_list = list() for edge in true_edges: true_list.append(1) prediction_list.append(get_score(embs, edge[0], edge[1])) for edge in false_edges: true_list.append(0) prediction_list.append(get_score(embs, edge[0], edge[1])) sorted_pred = prediction_list[:] sorted_pred.sort() threshold = sorted_pred[-len(true_edges)] y_pred = np.zeros(len(prediction_list), dtype=np.int32) for i in range(len(prediction_list)): if prediction_list[i] >= threshold: y_pred[i] = 1 y_true = np.array(true_list) y_scores = np.array(prediction_list) ps, rs, _ = precision_recall_curve(y_true, y_scores) return roc_auc_score(y_true, y_scores), f1_score(y_true, y_pred), auc(rs, ps)
Example #14
Source File: multiplex_link_prediction.py From cogdl with MIT License | 6 votes |
def evaluate(embs, true_edges, false_edges): true_list = list() prediction_list = list() for edge in true_edges: true_list.append(1) prediction_list.append(get_score(embs, edge[0], edge[1])) for edge in false_edges: true_list.append(0) prediction_list.append(get_score(embs, edge[0], edge[1])) sorted_pred = prediction_list[:] sorted_pred.sort() threshold = sorted_pred[-len(true_edges)] y_pred = np.zeros(len(prediction_list), dtype=np.int32) for i in range(len(prediction_list)): if prediction_list[i] >= threshold: y_pred[i] = 1 y_true = np.array(true_list) y_scores = np.array(prediction_list) ps, rs, _ = precision_recall_curve(y_true, y_scores) return roc_auc_score(y_true, y_scores), f1_score(y_true, y_pred), auc(rs, ps)
Example #15
Source File: evals.py From LaMP with MIT License | 6 votes |
def compute_fdr(all_targets,all_predictions, fdr_cutoff=0.5): fdr_array = [] for i in range(all_targets.shape[1]): try: precision, recall, thresholds = metrics.precision_recall_curve(all_targets[:,i], all_predictions[:,i],pos_label=1) fdr = 1- precision cutoff_index = next(i for i, x in enumerate(fdr) if x <= fdr_cutoff) fdr_at_cutoff = recall[cutoff_index] if not math.isnan(fdr_at_cutoff): fdr_array.append(numpy.nan_to_num(fdr_at_cutoff)) except: pass fdr_array = numpy.array(fdr_array) mean_fdr = numpy.mean(fdr_array) median_fdr = numpy.median(fdr_array) var_fdr = numpy.var(fdr_array) return mean_fdr,median_fdr,var_fdr,fdr_array
Example #16
Source File: evals.py From LaMP with MIT License | 6 votes |
def compute_aupr(all_targets,all_predictions): aupr_array = [] for i in range(all_targets.shape[1]): try: precision, recall, thresholds = metrics.precision_recall_curve(all_targets[:,i], all_predictions[:,i], pos_label=1) auPR = metrics.auc(recall,precision,reorder=True) if not math.isnan(auPR): aupr_array.append(numpy.nan_to_num(auPR)) except: pass aupr_array = numpy.array(aupr_array) mean_aupr = numpy.mean(aupr_array) median_aupr = numpy.median(aupr_array) var_aupr = numpy.var(aupr_array) return mean_aupr,median_aupr,var_aupr,aupr_array
Example #17
Source File: test_ranking.py From Mastering-Elasticsearch-7.0 with MIT License | 6 votes |
def test_precision_recall_curve(): y_true, _, probas_pred = make_prediction(binary=True) _test_precision_recall_curve(y_true, probas_pred) # Use {-1, 1} for labels; make sure original labels aren't modified y_true[np.where(y_true == 0)] = -1 y_true_copy = y_true.copy() _test_precision_recall_curve(y_true, probas_pred) assert_array_equal(y_true_copy, y_true) labels = [1, 0, 0, 1] predict_probas = [1, 2, 3, 4] p, r, t = precision_recall_curve(labels, predict_probas) assert_array_almost_equal(p, np.array([0.5, 0.33333333, 0.5, 1., 1.])) assert_array_almost_equal(r, np.array([1., 0.5, 0.5, 0.5, 0.])) assert_array_almost_equal(t, np.array([1, 2, 3, 4])) assert_equal(p.size, r.size) assert_equal(p.size, t.size + 1)
Example #18
Source File: test_ranking.py From Mastering-Elasticsearch-7.0 with MIT License | 6 votes |
def _test_precision_recall_curve(y_true, probas_pred): # Test Precision-Recall and aread under PR curve p, r, thresholds = precision_recall_curve(y_true, probas_pred) precision_recall_auc = _average_precision_slow(y_true, probas_pred) assert_array_almost_equal(precision_recall_auc, 0.859, 3) assert_array_almost_equal(precision_recall_auc, average_precision_score(y_true, probas_pred)) assert_almost_equal(_average_precision(y_true, probas_pred), precision_recall_auc, decimal=3) assert_equal(p.size, r.size) assert_equal(p.size, thresholds.size + 1) # Smoke test in the case of proba having only one value p, r, thresholds = precision_recall_curve(y_true, np.zeros_like(probas_pred)) assert_equal(p.size, r.size) assert_equal(p.size, thresholds.size + 1)
Example #19
Source File: out_of_sample_analysis.py From professional-services with Apache License 2.0 | 5 votes |
def compute_and_print_pr_auc(labels, probabilities, output_path=None): """Computes statistic on predictions, based on true labels. Prints precision-recall curve AUC and writes the curve as a PNG image to the specified directory. Args: labels: np.array, vector containing true labels. probabilities: np.array, 2-dimensional vector containing inferred probabilities. output_path: string, path to output directory. """ average_precision = average_precision_score(labels, probabilities[:, 1]) precision, recall, _ = precision_recall_curve(labels, probabilities[:, 1]) plt.step(recall, precision, color='b', alpha=0.2, where='post') plt.fill_between(recall, precision, step='post', alpha=0.2, color='b') plt.xlabel('Recall') plt.ylabel('Precision') plt.ylim([0.0, 1.05]) plt.xlim([0.0, 1.0]) plt.title('Precision-Recall curve: AUC={0:0.2f}'.format(average_precision)) if output_path: full_path_jpg = os.path.join(output_path, 'pr_curve.png') plt.savefig(full_path_jpg) full_path_log = os.path.join(output_path, 'pr_auc.txt') with open(full_path_log, 'w+') as f: f.write('Precision-Recall AUC: {0:0.2f}\n'.format(average_precision)) f.write('Precision-Recall curve exported to: {}'.format(full_path_jpg))
Example #20
Source File: generic_classifier.py From 2020plus with Apache License 2.0 | 5 votes |
def _update_metrics(self, y_true, y_pred, onco_prob, tsg_prob): # record which genes were predicted what self.driver_gene_pred = pd.Series(y_pred, self.y.index) self.driver_gene_score = pd.Series(onco_prob+tsg_prob, self.y.index) # evaluate performance prec, recall, fscore, support = metrics.precision_recall_fscore_support(y_true, y_pred, average='macro') cancer_gene_pred = ((onco_prob + tsg_prob)>.5).astype(int) self.cancer_gene_count[self.num_pred] = np.sum(cancer_gene_pred) self.precision[self.num_pred] = prec self.recall[self.num_pred] = recall self.f1_score[self.num_pred] = fscore # compute Precision-Recall curve metrics driver_prob = onco_prob + tsg_prob driver_true = (y_true > 0).astype(int) p, r, thresh = metrics.precision_recall_curve(driver_true, driver_prob) p, r, thresh = p[::-1], r[::-1], thresh[::-1] # reverse order of results thresh = np.insert(thresh, 0, 1.0) self.driver_precision_array[self.num_pred, :] = interp(self.driver_recall_array, r, p) self.driver_threshold_array[self.num_pred, :] = interp(self.driver_recall_array, r, thresh) # calculate prediction summary statistics prec, recall, fscore, support = metrics.precision_recall_fscore_support(driver_true, cancer_gene_pred) self.driver_precision[self.num_pred] = prec[1] self.driver_recall[self.num_pred] = recall[1] # save driver metrics fpr, tpr, thresholds = metrics.roc_curve(driver_true, driver_prob) self.driver_tpr_array[self.num_pred, :] = interp(self.driver_fpr_array, fpr, tpr)
Example #21
Source File: pr_curve.py From 2020plus with Apache License 2.0 | 5 votes |
def calc_pr_metrics(truth_df, score_df): recall_array = np.linspace(0, 1, 100) p, r, thresh = metrics.precision_recall_curve(truth_df, score_df) p, r, thresh = p[::-1], r[::-1], thresh[::-1] # reverse order of results thresh = np.insert(thresh, 0, 1.0) precision_array = interp(recall_array, r, p) threshold_array = interp(recall_array, r, thresh) pr_auc = metrics.auc(recall_array, precision_array) return precision_array, recall_array, pr_auc
Example #22
Source File: ranking.py From ECN with Apache License 2.0 | 5 votes |
def average_precision_score(y_true, y_score, average="macro", sample_weight=None): def _binary_average_precision(y_true, y_score, sample_weight=None): precision, recall, thresholds = precision_recall_curve( y_true, y_score, sample_weight=sample_weight) return auc(recall, precision) return _average_binary_score(_binary_average_precision, y_true, y_score, average, sample_weight=sample_weight)
Example #23
Source File: kbmf.py From PyDTI with GNU General Public License v2.0 | 5 votes |
def evaluation(self, test_data, test_label): scores = self.predictR[test_data[:, 0], test_data[:, 1]] prec, rec, thr = precision_recall_curve(test_label, scores) aupr_val = auc(rec, prec) fpr, tpr, thr = roc_curve(test_label, scores) auc_val = auc(fpr, tpr) return aupr_val, auc_val
Example #24
Source File: wnngip.py From PyDTI with GNU General Public License v2.0 | 5 votes |
def evaluation(self, test_data, test_label): scores = self.predictR[test_data[:, 0], test_data[:, 1]] prec, rec, thr = precision_recall_curve(test_label, scores) aupr_val = auc(rec, prec) fpr, tpr, thr = roc_curve(test_label, scores) auc_val = auc(fpr, tpr) return aupr_val, auc_val
Example #25
Source File: cmf.py From PyDTI with GNU General Public License v2.0 | 5 votes |
def evaluation(self, test_data, test_label): ii, jj = test_data[:, 0], test_data[:, 1] scores = np.sum(self.U[ii, :]*self.V[jj, :], axis=1) prec, rec, thr = precision_recall_curve(test_label, scores) aupr_val = auc(rec, prec) fpr, tpr, thr = roc_curve(test_label, scores) auc_val = auc(fpr, tpr) return aupr_val, auc_val
Example #26
Source File: nrlmf.py From PyDTI with GNU General Public License v2.0 | 5 votes |
def evaluation(self, test_data, test_label): dinx = np.array(list(self.train_drugs)) DS = self.dsMat[:, dinx] tinx = np.array(list(self.train_targets)) TS = self.tsMat[:, tinx] scores = [] if self.K2 > 0: for d, t in test_data: if d in self.train_drugs: if t in self.train_targets: val = np.sum(self.U[d, :]*self.V[t, :]) else: jj = np.argsort(TS[t, :])[::-1][:self.K2] val = np.sum(self.U[d, :]*np.dot(TS[t, jj], self.V[tinx[jj], :]))/np.sum(TS[t, jj]) else: if t in self.train_targets: ii = np.argsort(DS[d, :])[::-1][:self.K2] val = np.sum(np.dot(DS[d, ii], self.U[dinx[ii], :])*self.V[t, :])/np.sum(DS[d, ii]) else: ii = np.argsort(DS[d, :])[::-1][:self.K2] jj = np.argsort(TS[t, :])[::-1][:self.K2] v1 = DS[d, ii].dot(self.U[dinx[ii], :])/np.sum(DS[d, ii]) v2 = TS[t, jj].dot(self.V[tinx[jj], :])/np.sum(TS[t, jj]) val = np.sum(v1*v2) scores.append(np.exp(val)/(1+np.exp(val))) elif self.K2 == 0: for d, t in test_data: val = np.sum(self.U[d, :]*self.V[t, :]) scores.append(np.exp(val)/(1+np.exp(val))) prec, rec, thr = precision_recall_curve(test_label, np.array(scores)) aupr_val = auc(rec, prec) fpr, tpr, thr = roc_curve(test_label, np.array(scores)) auc_val = auc(fpr, tpr) return aupr_val, auc_val
Example #27
Source File: blm.py From PyDTI with GNU General Public License v2.0 | 5 votes |
def evaluation(self, test_data, test_label): x, y = test_data[:, 0], test_data[:, 1] if self.avg: scores = 0.5*(self.Y1[x, y]+self.Y2.T[x, y]) else: scores = np.maximum(self.Y1[x, y], self.Y2.T[x, y]) prec, rec, thr = precision_recall_curve(test_label, scores) aupr_val = auc(rec, prec) fpr, tpr, thr = roc_curve(test_label, scores) auc_val = auc(fpr, tpr) return aupr_val, auc_val
Example #28
Source File: learning_analysis.py From autolab_core with Apache License 2.0 | 5 votes |
def precision_recall_curve(self, plot=False, line_width=2, font_size=15, color='b', style='-', label='', marker=None): precision, recall, thresholds = sm.precision_recall_curve(self.labels, self.pred_probs) if plot: import matplotlib.pyplot as plt plt.plot(recall, precision, linewidth=line_width, color=color, linestyle=style, label=label, marker=marker) plt.xlim(0,1) plt.ylim(0,1) plt.xlabel('Recall', fontsize=font_size) plt.ylabel('Precision', fontsize=font_size) return precision, recall, thresholds
Example #29
Source File: learning_analysis.py From autolab_core with Apache License 2.0 | 5 votes |
def precision_recall_curve(self, plot=False, line_width=2, font_size=15, color='b', style='-', label='', marker=None): pred_probs_vec, labels_vec = self.label_vectors precision, recall, thresholds = sm.precision_recall_curve(labels_vec, pred_probs_vec) if plot: import matplotlib.pyplot as plt plt.plot(recall, precision, linewidth=line_width, color=color, linestyle=style, label=label, marker=marker) plt.xlim(0,1) plt.ylim(0,1) plt.xlabel('Recall', fontsize=font_size) plt.ylabel('Precision', fontsize=font_size) return precision, recall, thresholds
Example #30
Source File: analysis.py From PointNetGPD with MIT License | 5 votes |
def precision_recall_curve(self, plot=False, line_width=2, font_size=15, color='b', style='-', label='', marker=None): pred_probs_vec, labels_vec = self.label_vectors() precision, recall, thresholds = sm.precision_recall_curve(labels_vec, pred_probs_vec) if plot: plt.plot(recall, precision, linewidth=line_width, color=color, linestyle=style, label=label, marker=marker) plt.xlabel('Recall', fontsize=font_size) plt.ylabel('Precision', fontsize=font_size) return precision, recall, thresholds