def score_data(self, data, feature): if len(data.domain.class_vars) != 1: raise ValueError('RReliefF requires one single class') if not data.domain.class_var.is_continuous: raise ValueError('RReliefF supports regression; use ReliefF ' 'for classification') from Orange.preprocess._relieff import rrelieff weights = np.asarray(rrelieff(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
def score_data(self, data, feature): if len(data.domain.class_vars) != 1: raise ValueError("RReliefF requires one single class") if not data.domain.class_var.is_continuous: raise ValueError("RReliefF supports regression; use ReliefF " "for classification") 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 rrelieff weights = np.asarray( rrelieff( 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