candidate_samples[i * n_test + j][4:516] = cnn_prediction candidate_samples[np.isfinite(candidate_samples) == False] = 0 candidate_samples[np.isnan(candidate_samples) == True] = 0 pred = sg.predict(candidate_samples) pred_labels = np.zeros(pred.shape[0]) for i in range(0, pred.shape[0]): if pred[i, 0] > pred[i, 1]: pred_labels[i] = pred[i, 0] else: pred_labels[i] = pred[i, 1] def save_data_as_hdf5_results(hdf5_data_filename, data, predict_labels): ''' HDF5 is one of the data formats Caffe accepts ''' with h5py.File(hdf5_data_filename, 'w') as f: f['data'] = data.astype(np.float32) f['label'] = predict_labels.astype(np.float32) save_data_as_hdf5_results('test_data_full_with_prediction_.hdf5', isolated_test_data_img[:, 0:3, ...], pred_labels) # test accuracy pred = sg.predict(train_samples[n_train:]) pred_classes = [np.argmax(p) for p in pred] # _ = sg.evaluate(labels[n_train:], pred_classes)
shuffle_idx = np.random.permutation(y.size) X = X[shuffle_idx] y = y[shuffle_idx] # hold out 20 percent of data for testing accuracy train_prct = 0.8 n_train = int(round(X.shape[0]*train_prct)) # define base models base_models = [RandomForestClassifier(n_estimators=100, n_jobs=-1, criterion='gini'), RandomForestClassifier(n_estimators=100, n_jobs=-1, criterion='entropy'), ExtraTreesClassifier(n_estimators=100, n_jobs=-1, criterion='gini')] # define blending model blending_model = LogisticRegression() # initialize multi-stage model sg = StackedGeneralizer(base_models, blending_model, n_folds=N_FOLDS, verbose=VERBOSE) # fit model sg.fit(X[:n_train],y[:n_train]) # test accuracy pred = sg.predict(X[n_train:]) pred_classes = [np.argmax(p) for p in pred] _ = sg.evaluate(y[n_train:], pred_classes)
shuffle_idx = np.random.permutation(y.shape[0]) X = train_sample[shuffle_idx] y = y[shuffle_idx] # hold out 20 percent of data for testing accuracy train_prct = 0.8 n_train = int(round(X.shape[0]*train_prct)) # define base models base_models = [GradientBoostingClassifier(n_estimators=100), GradientBoostingClassifier(n_estimators=100), GradientBoostingClassifier(n_estimators=100)] # define blending model blending_model = LogisticRegression() # initialize multi-stage model sg = StackedGeneralizer(base_models, blending_model, n_folds=N_FOLDS, verbose=VERBOSE) # fit model sg.fit(X[:n_train],y[:n_train]) # test accuracy pred = sg.predict(X[n_train:]) pred_classes = [np.argmax(p) for p in pred] _ = sg.evaluate(y[n_train:], pred_classes)
# define blending model blending_model = LogisticRegression() # initialize multi-stage model sg = StackedGeneralizer(base_models, blending_model, n_folds=N_FOLDS, verbose=VERBOSE) # fit model sg.fit(train_samples, labels) pred = sg.predict(train_samples) pred_classes = [np.argmax(p) for p in pred] # _ = sg.evaluate(labels, pred_classes) # Generate Test Data print 'Finish the fitting phase' overlap_threshold = 0.8 def overlap_area(test_box, restrict_box): result = 0 w = min(test_box[2] + test_box[0], restrict_box[2] + restrict_box[0]) - max(test_box[0], restrict_box[0]) + 1 h = min(test_box[3] + test_box[1], restrict_box[3] + restrict_box[1]) - max(test_box[1], restrict_box[1]) + 1 if w > 0 and h > 0: