def transform(self, X, y): null_dist = [] for i in range(self.n_permutation): if self.print_progress: progress(i, self.n_permutation) y_perm = self.shuffle(y) value = self.analysis.transform(X, y_perm) null_dist.append(value) null_dist = np.array(null_dist) self.null_dist = null_dist
def run(self, pipeline): results = [] for conf in self: progress(self.i, self.n) print str(np.float(self.i)/self.n) pipeline.update_configuration(**conf) res = pipeline.run() results.append([conf, res]) self.results = results return results
def run(self, X, y): null_dist = [] for i in range(self.n_permutation): if self.print_progress: progress(i, self.n_permutation) y_perm = self.shuffle(y) value = self.analysis.run(X, y_perm) null_dist.append(value) null_dist = np.array(null_dist) self.null_dist = null_dist
def transform(self, X, y): """ Runs permutations shuffiling stuff indicated in dimension variable """ self.null_dist = [] for i in tqdm(range(self.n_permutation), desc="permutation"): X_, y_ = self.shuffle(X, y) permut_value = self.analysis.transform(X_, y_) self.null_dist.append(permut_value) progress(i, self.n_permutation, suffix='') self.null_dist = np.array(self.null_dist) return self.null_dist
def run(self, X, y): """ The output is a vector r x n where r is the number of repetitions of the splitting method """ cv = self.cross_validation mse_ = [] set_ = [] weights_ = [] samples_ = [] i = 0 n = cv.n_iter for train_index, test_index in cv: i += 1 progress(i, n, suffix=' -- regression') X_train = X[train_index] y_train = y[train_index] # Feature selection self.feature_selection.run(X_train, y_train).select_first(80) fset_ = self.feature_selection.ranking X_train = X_train[:, fset_] X_test = X[test_index][:,fset_] #print X_test.shape # We suppose only scikit-learn fit algorithms are passed! y_predict = self.learner.fit(X_train, y_train).predict(X_test) errors = [] for error_ in self.error_fx: err_ = error_(y[test_index], y_predict) errors.append(err_) mse_.append(errors) set_.append(fset_) weights_.append(self.learner.coef_) samples_.append(train_index) self.result = [mse_, set_, weights_, samples_] return self.result