def score_data(self, data, feature): if len(data.domain.class_vars) != 1: raise ValueError("ReliefF requires one single class") if not data.domain.class_var.is_discrete: raise ValueError("ReliefF supports classification; use RReliefF " "for regression") if len(data.domain.class_var.values ) == 1: # Single-class value non-problem return 0 if feature else np.zeros(data.X.shape[1]) if isinstance(self.random_state, np.random.RandomState): rstate = self.random_state else: rstate = np.random.RandomState(self.random_state) from Orange.preprocess._relieff import relieff weights = np.asarray( relieff( data.X, data.Y, self.n_iterations, self.k_nearest, np.array([a.is_discrete for a in data.domain.attributes]), rstate, )) if feature: return weights[0] return weights
def score_data(self, data, feature): if len(data.domain.class_vars) != 1: raise ValueError('ReliefF requires one single class') if not data.domain.class_var.is_discrete: raise ValueError('ReliefF supports classification; use RReliefF ' 'for regression') if len(data.domain.class_var.values) == 1: # Single-class value non-problem return 0 if feature else np.zeros(data.X.shape[1]) from Orange.preprocess._relieff import relieff weights = np.asarray(relieff(data.X, data.Y, self.n_iterations, self.k_nearest, np.array([a.is_discrete for a in data.domain.attributes]))) if feature: return weights[0] return weights