def testing_suite(self, map_test, prediction_prob): v_print('generating visuals', self.verbose) heat_fig = analyze_results.probability_heat_map(map_test, prediction_prob, self.test_name, save = True) analyze_results.ROC(map_test.getLabels('damage'), prediction_prob, self.test_name, save = True) map_test.newPxMask(prediction_prob.ravel()>.4, 'damage_pred') sbs_fig = analyze_results.side_by_side(map_test, 'damage', 'damage_pred', self.test_name, True) v_print('done generating visuals', self.verbose)
def main_haiti(): from Xie import EM from labeler import Labelers model = ObjectClassifier(0,1) labelers = Labelers() y = labelers.majority_vote() train = np.ix_(np.arange(4096/3, 4096), np.arange(4096/2)) test = np.ix_( np.arange(4096/3, 4096), np.arange(4096/2, 4096)) haiti_map = map_overlay.haiti_setup() train_map = haiti_map.sub_map(train) test_map = haiti_map.sub_map(test) #em = EM(train_map, labelers) #em.run() #y2 = em.G[:,1]>0.5 g_truth = y[test_map.segmentations[20]] FPRs = [] TPRs = [] for email in labelers.emails: print email a = time.time() labels = labelers.labeler(email)[test_map.segmentations[20]] b = time.time() FPR, TPR = analyze_results.confusion_analytics(g_truth.ravel(), labels.ravel()) c = time.time() FPRs.append(FPR) TPRs.append(TPR) probs = model.fit_and_predict(train_map, test_map, y[train_map.unique_segs(20)]) print analyze_results.FPR_from_FNR(g_truth.ravel(), probs.ravel(), TPR = .95) analyze_results.probability_heat_map(test_map, probs.ravel(), '') fig, _, _, _, _, _ = analyze_results.ROC(g_truth.ravel(), probs.ravel(), 'Classifier') plt.scatter(FPRs, TPRs) names = labelers.emails for i in range(len(FPRs)): plt.annotate(names[i], (FPRs[i], TPRs[i])) fig.savefig('All_ROCs/{}_ROC.png'.format('Classifier'), format='png') plt.show()