def train_test_combined(features_labels, fractions, train, test, mode): features_labels = np.array(features_labels, dtype=object) reg = Combined(random_state=1, mode=mode, n_jobs=N_JOBS) reg.fit(features_labels[train], fractions[train]) rs = [] for fs, frac in zip(features_labels[test], fractions[test]): fs = [f for f, _ in fs] r = reg.predict(fs, clip01=False) rs.append(r) return np.array(rs)
def train_test_combined(features_labels, fractions, train, test, mode): features_labels = np.array(features_labels, dtype=object) reg = Combined(random_state=1, mode=mode, n_jobs=N_JOBS) reg.fit(features_labels[train], fractions[train]) rs = [] for fs,frac in zip(features_labels[test], fractions[test]): fs = [f for f,_ in fs] r = reg.predict(fs, clip01=False) rs.append(r) return np.array(rs)
def build_model(n_estimators, verbose=True, ofilename=None): if ofilename is None: ofilename = 'model.pkl.gz' fractions = [] features = [] images = list(listfiles()) for im,g in images: protein,dna, rois = load_image(im) features.append([feats(protein,dna,rois) for name,feats in FEATURES]) fractions.append(np.mean(rois > 0)) if verbose: print("Computed features for image {} (out of {}).".format(len(fractions), len(images))) features= np.array(features, dtype=object) reg = Combined(random_state=1, n_jobs=N_JOBS, n_estimators=n_estimators) if verbose: print("Fitting model...") reg.fit(features, fractions) if verbose: print("Saving model...") pickle.dump(reg, gzip.open('model.pkl.gz', 'wb'), protocol=pickle.HIGHEST_PROTOCOL) if verbose: print("Done.")